Încerc să configurez un roi docker în care NGINX este folosit pentru echilibrul de încărcare a nodurilor roi.
docker swarm init --advertise-addr 192.168.99.153
De asemenea, adaug cele două noduri ca un roi
docker swarm join --token SWMTKN-99-31eka5srtjyvajsbiusixh6gil8p6xuk6yejfts4co8voxu8op-a8awcomh58de8d0ofkckqnsud 192.168.99.153:2377
Acum creez un serviciu pe nodul manager folosind
docker service create --name backend --replicas 2 --publish 8080:80 tomcat
Am testat tomcat-ul pe browserul node1/node2 prin 192.168.99.153:8080 / 192.168.99.154:8080 și pot vedea pagina de destinație Tomcat.
Acum am înființat un roi separat Al treilea nod pentru Loadbalancer NGINX.
docker swarm init --advertise-addr 192.168.99.156
după aceasta creați fișierul Nginx conf
sudo mkdir -p /data/loadbalancer
sudo vi /data/loadbalancer/default.conf
și adăugați următoarele linii în acest fișier
Server {
asculta 80;
Locație / {
proxy_pass http://backend;
}
}
backend în amonte {
server 192.168.99.153:8080;
server 192.168.99.154:8080;
}
după aceasta când creez un serviciu NGINX cu
docker service create --name loadbalancer --mount type=bind,source=/data/loadbalancer,target=/etc/nginx/conf.d --publish 80:80 nginx
Când lansez 192.168.99.156:80 pe browser, văd 502 Bad Gateway pagina de eroare.
Întrebare:-
De asemenea, un timp serverul Tomcat nu este accesibil după crearea serviciului de backend.
De ce nu apare tomcat folosind echilibrul de încărcare NGINX?