[쿠버네티스] ingress-nginx-controller node에 다 기동 되어 있어야 한다.
node서버가 여러개인 경우 각 node서버 에 ingress-nginx-controller가 기동 되어 있어야 브라우저에서 호출할때 에러가 없다. 각 노드마다 통신을 해야 하는데 ingress-nginx-controller가 떠있지 않은 node에서 서비스가 돌아가는 앱은 ingress와 통신이 안되어서 호출이 안된다.
root@master:~/ingress# kubectl get deployments.apps
NAME READY UP-TO-DATE AVAILABLE AGE
ingress-nginx-controller 1/1 1 1 10d
호출을 해서 확인후에 아래 명령으로 편집을 해서
kubectl edit deployments.apps ingress-nginx-controller
replicas: 개수를 노드 수만큼 수정한다.
노드가 3개라서 3으로 수정하고 확인한다.
root@master:~/ingress# kubectl get deployments.apps -n ingress-nginx
NAME READY UP-TO-DATE AVAILABLE AGE
ingress-nginx-controller 3/3 3 3 11d
root@master:~/harbor/harbor2# kubectl get pods -o wide -n ingress-nginx
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
ingress-nginx-controller-68cf785489-f7b8l 1/1 Running 0 7m37s 10.1.166.167 node1 <none> <none>
ingress-nginx-controller-68cf785489-gn7m8 1/1 Running 0 7m37s 10.1.104.35 node2 <none> <none>
ingress-nginx-controller-68cf785489-lfx6d 1/1 Running 12 (42m ago) 17h 10.1.135.44 node3 <none> <none>
roo
pod에도 node1,node2,node3 이렇게 잘 떠 있어야 통신이 된다.
node1에 응용프로그램이 배포 되어 있고 ingress-nginx-controller이 node1에서 기동안하고 있으면 받아주는 controller가 없어서 에러가 발생한다.