시스템/쿠버네티스

[쿠버네티스] ingress-nginx-controller node에 다 기동 되어 있어야 한다.

cbwstar 2024. 1. 31. 10:55
728x90
반응형

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가 없어서 에러가 발생한다.

728x90
반응형