Instalirajte Plesk na CentOS 7
Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka
Docker Swarm pretvara vaše pojedinačne poslužitelje u klaster računala, olakšavajući skaliranje, visoku dostupnost i balansiranje opterećenja. Swarm load-balancer implementira round-robin strategiju uravnoteženja opterećenja i to bi moglo ometati ispravno funkcioniranje (naslijeđenih) aplikacija s stanjem koje zahtijevaju neki oblik ljepljivih sesija kako bi se omogućilo postavljanje visoke dostupnosti s višestrukim instancama. Docker Enterprise Edition podržava ljepljivu sesiju Layer-7, ali u ovom vodiču ćemo se usredotočiti na besplatnu (CE) verziju Dockera. Za implementaciju ljepljivih sesija koristit ćemo Traefik.
U ovom vodiču koristit ćemo dvije Vultr instance s privatnim IP adresama 192.168.0.100 i 192.168.0.101, obje su čvorovi upravitelja Docker Swarm (što nije idealno za proizvodnju, ali dovoljno za ovaj vodič).
Ovaj vodič koristi jwilder/whoami
docker sliku kao demo aplikaciju. Ovaj jednostavan spremnik će odgovoriti na REST poziv s imenom spremnika koji odgovara, što ga čini vrlo lakim za testiranje rade li ljepljive sesije. Ova se slika koristi samo u demo svrhe i treba je zamijeniti slikom vaše aplikacije. whoami-service
Je konfigurirana kao što slijedi:
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
Ako bismo naknadno ODMOR krajnja točka na , možemo vidjeti okrugli robin opterećenja balansiranje Docker roj na poslu.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
Nema svrhe testirati ovo s modernim preglednicima kao što su Chrome ili Firefox jer su dizajnirani da održavaju veze živima (otvorenim), a Docker Swarm balansator opterećenja samo će se prebaciti na drugi spremnik nakon svake nove veze. Ako to želite testirati s preglednikom, morat ćete pričekati najmanje 30 sekundi da se veza zatvori prije ponovnog osvježavanja.
Traefik izvorno podržava Docker Swarm, može otkriti i registrirati ili deregistrirati kontejnere u hodu i komunicira s vašom aplikacijom preko interne mreže za prekrivanje. Traefik-u su potrebne neke informacije o vašoj aplikaciji prije nego što počne obrađivati zahtjeve za nju. Ove informacije se Traefik-u pružaju dodavanjem oznaka vašoj Swarm usluzi.
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
Popis u nastavku opisuje što znači svaka oznaka:
traefik.docker.network
: Docker overlay mreža preko koje će Traefik komunicirati s vašom uslugom traefik.port
: priključak na kojem vaša usluga sluša (ovo je interno izloženi port, a ne objavljeni priključak)traefik.frontend.rule
: PathPrefix:/
veže korijen konteksta /
na ovu uslugu.traefik.backend.loadbalancer.stickiness
: Omogućuje ljepljive sesije za ovu usluguSada whoami-service
kada je konfiguriran s potrebnim oznakama, možemo dodati uslugu Traefik u roj:
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
Ova naredba radi dosta stvari odjednom. Popis u nastavku će objasniti detaljnije:
--name traefik
: Naziv naše nove Docker usluge je traefik
-p8080:80
: Objavljujemo Traefik port 80
to port 8080
(port 80
je već u upotrebi od strane naših whoami-service
)-p9090:8080
: Objavljujemo Traefikovo vlastito web sučelje za port 9090
--mount ...
: Montiramo Docker Socket u spremnik tako da Traefik može pristupiti hostovom Docker runtime-u --global
: Želimo Traefik kontejnere na svakom čvoru upravitelja iz razloga visoke dostupnosti --constraint 'node.role == manager'
: Želimo da se Traefik izvodi samo na čvorovima upravitelja jer radnički čvorovi ne mogu pružiti Traefik-u potrebne informacije. Na primjer, docker service ls
na radnom čvoru ne radi, tako da Traefik ne bi mogao ni otkriti koje usluge se pokreću--network whoaminet
: Spaja Traefik na istu mrežu kao i naš whoami-service
, inače se ne mogu povezati. Prethodno smo rekli Traefiku da se poveže s našom uslugom preko ove mreže s traefik.docker.network
oznakomtraefik
: Recite docker-u da koristi najnoviju Traefik docker sliku za ovu uslugu--docker --docker.swarmmode --docker.watch --web --loglevel=DEBUG
: Argumenti naredbenog retka proslijeđeni su izravno Traefik-u kako bi mu se omogućilo pokretanje u načinu rada Docker roja ( --loglevel=DEBUG
ovdje nije obavezno, ali zanimljivo tijekom postavljanja i za ovaj vodič)Sve što je preostalo je otvoriti potrebne portove u CentOS firewall:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9090/tcp --permanent
sudo firewall-cmd --reload
Čim se Traefik pokrene, možete vidjeti u zapisnicima da Traefik otkriva dva whoami
kontejnera. Također ispisuje naziv kolačića koji će koristiti za rukovanje ljepljivom sesijom:
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"
Ako se savijemo do, http://192.168.0.100:8080
možemo vidjeti da je postavljen novi kolačić _a49bc
:
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
Ako u sljedećim pozivima ovaj kolačić pošaljemo Traefiku, uvijek ćemo biti proslijeđeni u isti spremnik:
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
Kolačić ne sadrži ništa osim interne (preklapanje) IP adrese spremnika na koji Traefik treba poslati zahtjev. Ako promijenite vrijednost kolačića na http://10.0.0.4:8000
tada bi zahtjev zapravo bio proslijeđen u drugi spremnik. Ako se kolačić nikada ne bi ponovno poslao Traefiku, ljepljiva sesija neće raditi i zahtjevi će biti uravnoteženi između spremnika aplikacije i Traefik spremnika.
To je sve što je potrebno za postavljanje Layer 7 Sticky Sessions u Docker CE na CentOS 7.
Korištenje drugog sustava? Plesk je vlasnička upravljačka ploča web hosta koja omogućuje korisnicima da administriraju svoje osobne i/ili klijentske web stranice, baze podataka
Squid je popularan besplatni program za Linux koji vam omogućuje stvaranje web proxyja za prosljeđivanje. U ovom vodiču vidjet ćete kako instalirati Squid na CentOS da vas preokrene
Uvod Lighttpd je fork Apachea koji ima za cilj da bude puno manje intenzivan prema resursima. Lagan je, otuda mu i naziv, i prilično je jednostavan za korištenje. Instaliraj
VULTR je nedavno napravio promjene na svojoj strani i sada bi sve trebalo raditi dobro iz kutije s omogućenim NetworkManagerom. Želite li onemogućiti
Icinga2 je moćan sustav nadzora, a kada se koristi u modelu master-client, može zamijeniti potrebu za provjerama praćenja na temelju NRPE. Glavni klijent
Korištenje drugog sustava? Apache Cassandra je besplatni i otvorenog koda NoSQL sustav upravljanja bazom podataka koji je osmišljen kako bi osigurao skalabilnost, visoku
Korištenje drugog sustava? Microweber je CMS i internetska trgovina otvorenog koda povuci i ispusti. Izvorni kod Microwebera nalazi se na GitHubu. Ovaj vodič će vam pokazati
Korištenje drugog sustava? Mattermost je open source alternativa Slack SAAS servisu za razmjenu poruka. Drugim riječima, s Mattermostom možete ca
Što vam treba Vultr VPS s najmanje 1 GB RAM-a. SSH pristup (s root/administrativnim privilegijama). Korak 1: Instalacija BungeeCord-a Najprije
Upravljačka ploča Plesk ima vrlo lijepu integraciju za Lets Encrypt. Lets Encrypt je jedan od jedinih SSL pružatelja usluga koji u potpunosti izdaju certifikate
Lets Encrypt je tijelo za izdavanje certifikata posvećeno besplatnom pružanju SSL certifikata. cPanel je izgradio urednu integraciju tako da vi i vaš klijent
Korištenje drugog sustava? Concrete5 je CMS otvorenog koda koji nudi mnoge osebujne i korisne značajke koje pomažu urednicima u jednostavnoj proizvodnji sadržaja i
Korištenje drugog sustava? Review Board je besplatan alat otvorenog koda za pregled izvornog koda, dokumentacije, slika i još mnogo toga. To je web-bazirani softver
U ovom vodiču naučit ćete kako postaviti HTTP autentifikaciju za Nginx web poslužitelj koji radi na CentOS 7. Zahtjevi Da biste započeli, trebat će vam
YOURLS (Your Own URL Shortener) je aplikacija za skraćivanje URL-ova otvorenog koda i analizu podataka. U ovom članku ćemo pokriti proces instalacije
Korištenje drugog sustava? Uvod ArangoDB je NoSQL baza podataka otvorenog koda s fleksibilnim modelom podataka za dokumente, grafikone i ključ-vrijednosti. to je
Uvod Direktorij /etc/ igra ključnu ulogu u načinu na koji Linux sustav funkcionira. Razlog tome je što je gotovo svaka konfiguracija sustava
Mnogi administratori sustava upravljaju velikim količinama poslužitelja. Kada se datotekama treba pristupiti na različitim poslužiteljima, prijava na svaki pojedinačno ca
Ovaj vodič će pokriti proces instaliranja poslužitelja za igre Half Life 2 na sustavu CentOS 6. Korak 1: Instaliranje preduvjeta Kako biste postavili ou
Laravel GitScrum ili GitScrum je alat za produktivnost otvorenog koda dizajniran da pomogne razvojnim timovima da implementiraju Scrum metodologiju na sličan način.
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više