Instaloni Plesk në CentOS 7
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Docker Swarm i kthen serverët tuaj individualë në një grup kompjuterash, duke lehtësuar shkallëzimin, disponueshmërinë e lartë dhe balancimin e ngarkesës. Balancuesi i ngarkesës Swarm zbaton një strategji të balancimit të ngarkesës së rrumbullakët dhe kjo mund të ndërhyjë në funksionimin e duhur të aplikacioneve me status (të trashëguara) të cilat kërkojnë një formë sesionesh ngjitëse për të lejuar një konfigurim me disponueshmëri të lartë me shembuj të shumtë. Docker Enterprise Edition mbështet sesionin ngjitës të Layer-7, por në këtë udhëzues ne do të përqendrohemi në versionin falas (CE) të Docker. Për të zbatuar sesione ngjitëse ne do të përdorim Traefik.
Në këtë tutorial ne do të përdorim dy instanca Vultr me adresa IP private 192.168.0.100 dhe 192.168.0.101, të dyja janë nyje të menaxherit Docker Swarm (që nuk është ideale për prodhim, por mjafton për këtë tutorial).
Ky tutorial përdor jwilder/whoami
imazhin e dokerit si aplikacion demo. Ky kontejner i thjeshtë do t'i përgjigjet një thirrjeje REST me emrin e kontejnerit që përgjigjet, duke e bërë shumë të lehtë testimin nëse seancat ngjitëse po funksionojnë. Ky imazh përdoret vetëm për qëllime demo dhe duhet të zëvendësohet nga imazhi i aplikacionit tuaj. Është whoami-service
konfiguruar si më poshtë:
sudo docker network create whoaminet -d overlay
sudo docker service create --name whoami-service --mode global --network whoaminet --publish "80:8000" jwilder/whoami
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload
Nëse ne do të pas endpoint pushoni në , ne mund të shohim në raundin e-robin load-balancimin e Docker Swarm në punë.curl
whoami
http://192.168.0.100/
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
curl http://192.168.0.100
I'm ae9d1763b4ad
curl http://192.168.0.100
I'm a6a8c9294fc3
Nuk ka përdorim për ta testuar këtë me shfletuesit modernë si Chrome ose Firefox, sepse ata janë krijuar për të mbajtur lidhjet të gjalla (të hapura) dhe balancuesi i ngarkesës Docker Swarm do të kalojë vetëm në kontejnerin tjetër pas çdo lidhjeje të re . Nëse dëshironi ta provoni këtë me një shfletues, duhet të prisni të paktën 30 sekonda që lidhja të mbyllet përpara se ta rifreskoni përsëri.
Traefik mbështet në mënyrë të pavarur Docker Swarm, ai mund të zbulojë dhe regjistrojë ose çregjistrojë kontejnerët menjëherë dhe komunikon me aplikacionin tuaj përmes rrjetit të brendshëm të mbivendosjes. Traefik ka nevojë për disa informacione rreth aplikacionit tuaj përpara se të fillojë të trajtojë kërkesat për të. Ky informacion i jepet Traefik duke shtuar etiketa në shërbimin tuaj Swarm.
sudo docker service update --label-add "traefik.docker.network=whoaminet" --label-add "traefik.port=8000" --label-add "traefik.frontend.rule=PathPrefix:/" --label-add "traefik.backend.loadbalancer.stickiness=true" whoami-service
Lista e mëposhtme përshkruan se çfarë do të thotë çdo etiketë:
traefik.docker.network
: Rrjeti i mbivendosjes Docker mbi të cilin Traefik do të komunikojë me shërbimin tuaj traefik.port
: Porti në të cilin po dëgjon shërbimi juaj (kjo është porta e ekspozuar nga brenda, jo porta e publikuar)traefik.frontend.rule
: PathPrefix:/
lidh rrënjën e kontekstit /
me këtë shërbim.traefik.backend.loadbalancer.stickiness
: Aktivizon sesionet ngjitëse për këtë shërbimTani që whoami-service
është konfiguruar me etiketat e kërkuara, ne mund të shtojmë shërbimin Traefik në tufë:
sudo docker service create --name traefik -p8080:80 -p9090:8080 --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock --mode=global --constraint 'node.role == manager' --network whoaminet traefik --docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
Kjo komandë bën shumë gjëra në të njëjtën kohë. Lista e mëposhtme do të shpjegojë më në detaje:
--name traefik
: Emri i shërbimit tonë të ri Docker është traefik
-p8080:80
: Ne publikojmë portin 80
në port të Traefik 8080
(porti 80
është tashmë në përdorim nga ana jonë whoami-service
)-p9090:8080
: Ne publikojmë ndërfaqen e internetit të vetë Traefik në port 9090
--mount ...
: Ne montojmë Docker Socket në kontejner në mënyrë që Traefik të mund të ketë akses në kohën e funksionimit të Docker të hostit --global
: Ne duam kontejnerë Traefik në çdo nyje menaxheri për arsye të disponueshmërisë së lartë --constraint 'node.role == manager'
: Ne duam që Traefik të funksionojë vetëm në nyjet e menaxherit sepse nyjet e punëtorëve nuk mund t'i japin Traefikut informacionin që i nevojitet. Për shembull, docker service ls
në një nyje punonjësi nuk funksionon, kështu që Traefik as nuk do të ishte në gjendje të zbulonte se cilat shërbime po ekzekutohen--network whoaminet
: Lidh Traefik në të njëjtin rrjet me tonën whoami-service
, përndryshe nuk mund të lidhen. Më parë i kemi thënë Traefikut që të lidhet me shërbimin tonë përmes këtij rrjeti me traefik.docker.network
etiketëntraefik
: Thuaji dokerit të përdorë imazhin më të fundit të dokerit të Traefik për këtë shërbim--docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
: Argumentet e linjës së komandës i kaluan drejtpërdrejt Traefik-ut për ta lejuar atë të funksionojë në modalitetin Docker swarm ( --loglevel=DEBUG
është opsionale këtu, por interesante gjatë konfigurimit dhe për këtë tutorial)E tëra çfarë mbetet për të bërë është të hapni portat e nevojshme në murin e zjarrit CentOS:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
sudo firewall-cmd --reload
Sapo fillon Traefik, ju mund të shihni në regjistrat që Traefik zbulon dy whoami
kontejnerët. Gjithashtu nxjerr emrin e cookie-t që do të përdorë për të trajtuar seancën ngjitëse:
time="2018-11-25T13:17:30Z" level=debug msg="Configuration received from provider docker: {\"backends\":{\"backend-whoami-service\":{\"servers\":{\"server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05\":{\"url\":\"http://10.0.0.5:8000\",\"weight\":1},\"server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6\":{\"url\":\"http://10.0.0.4:8000\",\"weight\":1}},\"loadBalancer\":{\"method\":\"wrr\",\"stickiness\":{}}}},\"frontends\":{\"frontend-PathPrefix-0\":{\"entryPoints\":[\"http\"],\"backend\":\"backend-whoami-service\",\"routes\":{\"route-frontend-PathPrefix-0\":{\"rule\":\"PathPrefix:/\"}},\"passHostHeader\":true,\"priority\":0,\"basicAuth\":null}}}"
time="2018-11-25T13:17:30Z" level=debug msg="Wiring frontend frontend-PathPrefix-0 to entryPoint http"
time="2018-11-25T13:17:30Z" level=debug msg="Creating backend backend-whoami-service"
time="2018-11-25T13:17:30Z" level=debug msg="Adding TLSClientHeaders middleware for frontend frontend-PathPrefix-0"
time="2018-11-25T13:17:30Z" level=debug msg="Creating load-balancer wrr"
time="2018-11-25T13:17:30Z" level=debug msg="Sticky session with cookie _a49bc"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-1-a179b2e38a607b1127e5537c2e614b05 at http://10.0.0.5:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating server server-whoami-service-2-df8a622478a5a709fcb23c50e689b5b6 at http://10.0.0.4:8000 with weight 1"
time="2018-11-25T13:17:30Z" level=debug msg="Creating route route-frontend-PathPrefix-0 PathPrefix:/"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :80"
time="2018-11-25T13:17:30Z" level=info msg="Server configuration reloaded on :8080"
Nëse përkulemi http://192.168.0.100:8080
, mund të shohim se një cookie e re _a49bc
është vendosur:
curl -v http://192.168.0.100:8080
* About to connect() to 192.168.0.100 port 8080 (#0)
* Trying 192.168.0.100...
* Connected to 192.168.0.100 (192.168.0.100) port 8080 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.29.0
> Host: 192.168.0.100:8080
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Length: 17
< Content-Type: text/plain; charset=utf-8
< Date: Sun, 25 Nov 2018 13:18:40 GMT
< Set-Cookie: _a49bc=http://10.0.0.5:8000; Path=/
<
I'm a6a8c9294fc3
* Connection #0 to host 192.168.0.100 left intact
Nëse, në thirrjet e mëvonshme, ne e dërgojmë këtë cookie te Traefik, ne gjithmonë do të përcillet në të njëjtin kontejner:
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
curl http://192.168.0.100:8080 --cookie "_a49bc=http://10.0.0.5:8000"
I'm a6a8c9294fc3
Cookie nuk përmban asgjë përveç adresës IP të brendshme (mbivendosje) të kontejnerit në të cilin Traefik duhet të dërgojë për të kërkuar. Nëse ndryshoni vlerën e cookie-t në http://10.0.0.4:8000
atëhere kërkesa do të përcillet në mënyrë efektive në kontejnerin tjetër. Nëse cookie-t nuk do të ridërgoheshin kurrë te Traefik, atëherë sesioni ngjitës nuk do të funksionojë dhe kërkesat do të balancohen midis kontejnerëve të aplikacionit dhe kontejnerëve të Traefik.
Kjo është gjithçka që nevojitet për të konfiguruar seancat ngjitëse të shtresës 7 në Docker CE në CentOS 7.
Përdorimi i një sistemi të ndryshëm? Plesk është një panel kontrolli i pronarit të hostit në internet që lejon përdoruesit të administrojnë faqet e tyre të internetit personale dhe/ose të klientëve, bazat e të dhënave
Squid është një program i popullarizuar, falas Linux që ju lejon të krijoni një përfaqësues në ueb përcjellës. Në këtë udhëzues, do të shihni se si të instaloni Squid në CentOS për t'ju kthyer
Hyrje Lighttpd është një fork i Apache që synon të jetë shumë më pak intensiv me burime. Është i lehtë, prandaj emri i tij, dhe është mjaft i thjeshtë për t'u përdorur. Instaloni
VULTR kohët e fundit ka bërë ndryshime në fund të tyre dhe gjithçka duhet të funksionojë mirë tani me NetworkManager të aktivizuar. Nëse dëshironi të çaktivizoni
Icinga2 është një sistem i fuqishëm monitorimi dhe kur përdoret në një model master-klient, ai mund të zëvendësojë nevojën për kontrolle monitorimi të bazuara në NRPE. Master-klien
Përdorimi i një sistemi të ndryshëm? Apache Cassandra është një sistem i menaxhimit të bazës së të dhënave NoSQL falas dhe me burim të hapur që është krijuar për të ofruar shkallëzim, të lartë
Përdorimi i një sistemi të ndryshëm? Microweber është një CMS me burim të hapur drag and drop dhe dyqan online. Kodi burimor Microweber është pritur në GitHub. Ky udhëzues do t'ju tregojë
Përdorimi i një sistemi të ndryshëm? Mattermost është një alternativë me burim të hapur, të vetë-strehuar për shërbimin e mesazheve Slack SAAS. Me fjalë të tjera, me Mattermost, ju rreth
Paneli i kontrollit Plesk përmban një integrim shumë të bukur për Lets Encrypt. Lets Encrypt është një nga ofruesit e vetëm SSL që jep plotësisht certifikata
Lets Encrypt është një autoritet certifikimi i dedikuar për të ofruar certifikata SSL pa pagesë. cPanel ka ndërtuar një integrim të pastër në mënyrë që ju dhe klienti juaj
Përdorimi i një sistemi të ndryshëm? Concrete5 është një CMS me burim të hapur që ofron shumë veçori dalluese dhe të dobishme për të ndihmuar redaktorët në prodhimin e përmbajtjes me lehtësi dhe
Using a Different System? Review Board is a free and open source tool for reviewing source code, documentation, images and many more. It is web-based softwar
Në këtë udhëzues, do të mësoni se si të konfiguroni vërtetimin HTTP për një server ueb Nginx që funksionon në CentOS 7. Kërkesat Për të filluar, do t'ju duhet
YOURLS (Shkurtësi juaj i URL-së) është një aplikacion për shkurtimin e URL-ve me burim të hapur dhe analitikë të të dhënave. Në këtë artikull, ne do të mbulojmë procesin e instalimit
Përdorimi i një sistemi të ndryshëm? Hyrje ArangoDB është një bazë të dhënash NoSQL me burim të hapur me një model fleksibël të dhënash për dokumente, grafikë dhe vlera-kyçe. Eshte
Hyrje Drejtoria /etc/ luan një rol kritik në mënyrën se si funksionon një sistem Linux. Arsyeja për këtë është sepse pothuajse çdo konfigurim i sistemit
Shumë administratorë të sistemit menaxhojnë sasi të mëdha serverash. Kur skedarët duhet të aksesohen nëpër serverë të ndryshëm, hyni në secilin individualisht rreth
Ky tutorial do të mbulojë procesin e instalimit të një serveri lojërash Half Life 2 në Sistemin CentOS 6. Hapi 1: Instalimi i parakushteve Për të vendosur ou
Laravel GitScrum, ose GitScrum është një mjet produktiviteti me burim të hapur i krijuar për të ndihmuar ekipet e zhvillimit të zbatojnë metodologjinë Scrum në një mënyrë të ngjashme.
Hyrje Në këtë tutorial të Vultr, do të mësoni se si të instaloni PowerDNS. PowerDNS është një program për ekzekutimin e serverëve tuaj të emrave. Është shumë e dobishme kur
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë