작성
·
9.8K
1
노드의 상태가 계속 not ready 로 남아있습니다.
어떤 부분을 확인해야 할까요?
kubectl describe nodes 로 확인해보면
아래와 같은 메세지가 뜹니다..ㅜ
Type : NetworkUnavailable
Reason : CalicoIsUp
Message : Calico is running on this node
답변 5
1
1
친절한 답변 감사합니다.
말씀하신대로 확인해보니 아래와 같은 에러가 발생하고 있는것 같습니다.
네트워크 문제인것 같은데... 어디서부터 손을 봐야할지 모르겠네요..
Readiness probe failed: calico/node is not ready: BIRD is not ready: BGP not established with 192.168.25.21,192.168.25.22
1
추가로 vm 을 모두 재기동한 경우
nohup kubectl proxy --port=8001 --address=192.168.0.30 --accept-hosts='^*$' >/dev/null 2>&1 &
외에 추가로 해야하는 작업은 어떤것이 있을까요?
0
짝짝짝
해결능력이 대단하시네요!!
저도 처음보는 에러 메세지라 BIRD is not ready로 구글링을 해보니 내용이 많이 나오네요.
해결방법으로 몇가지 설정을 해보라는 내용들이 있었지만, 근본적으로 node가 정상적으로 동작하고 있지 않았을때 생기는 문제로 보였습니다.
그래서 원송연님께서 다시 join을 함으로써 node를 정상 동작하도록 만들었기 때문에 해결 된걸로 추정되네요.
고생하셨습니다.
0
안녕하세요 원송연님.
먼저 처음주신 질문은 아래와같이 get nodes를 해봤는데 아래와 같이 나오지 않고 node1과 node2가 NotReady로 나오고 계신다는 말씀이시죠?
그래서 kubectl describe nodes 를 해보았더니 아래와 같이 NetworkUnavailable 에 대해서 보셨을 텐데, 일단 NetworkUnavailable 자체가 나오는건 문제가 아니고 그 옆에 Status가 False가 아니라 True라고 나왔나요?
또한, kubectl get pods --all-namespaces를 해봤을때 아래와같이 calico에 대해서 Running라고 나오지 않고 있나요?
그렇다고 하시면 Calico 설치시 Network 대역설정에 문제로 보입니다.
https://github.com/taemin77/k8s-examples/blob/master/beginners/7-1-Appendix-Installation.md
여기서 6-1-1) Calico 설치 가이드를 통해서 하셨다면 다시 한번 확인해 보셔야 할 포인트가
먼저 5-1-2)에서 Master를 kubeadm init --pod-network-cidr=20.96.0.0/12로 init 하셨을때 cidr과
Calico설치시 내용인
curl -O https://docs.projectcalico.org/v3.9/manifests/calico.yaml sed s/192.168.0.0\\/16/20.96.0.0\\/12/g -i calico.yaml kubectl apply -f calico.yaml
위 내용중에서 20.96.0.0/12 부분은 일치했는지 확인해 주시고요. 이게 일치 하지 않으면 Running되었다고 하더라도 Dashboard가 띄어지지 않을 수 있습니다.
vi로 다운로드 받았던 calico.ymal 파일로 들어가서 CALICO_IPV4POOL_CIDR로 검색해서 20.96.0.0/12 이렇게 되어 있는지 한번 확인해주세요. 만약 calico.yaml에 해당 값이 잘못들어가 있다면 변경하시고
kubectl delete -f calico.yaml을 하신 후에 다시 kubectl apply -f calico.ymal를 한후
kubectl get pods --all-namespaces로 calico관련 pod들이 running 상태인지 확인해 보시면 됩니다.
그리고 네트워크 설정 변경시 proxy가 죽어있을 수 있으니
ps -ef | grep 'kubectl proxy' 를 해봐서
nohup kubectl proxy --port=8001 --address=192.168.0.30 --accept-hosts='^*$' >/dev/null 2>&1 &
이 내용이 나오지 않는다면 다시 Dashboard를 위한 proxy를 띄어줘야 되세요.
그리고 두번째 질문에 대해서 저도 지금 바로 확인해보니
모든 VM을 재부팅하면 Kubernetes관련 모든 Pod들이 알아서 재기동 되기 때문에
말씀하신대로
nohup kubectl proxy --port=8001 --address=192.168.0.30 --accept-hosts='^*$' >/dev/null 2>&1 &
이 부분만 해주시면 됩니다.
에러의 원인 여러가지가 있을 수 있기 때문에 위 내용을 해도 잘 안되신다면
kubectl get pods --all-namespaces를 해봤을때 Running중이지 않은 Pod에 대해서
kubectl describe pods calico-node-gl659 --namespace=kube-system 이런식으로 명령을 날려보시고
하단의 중간중간에 있는 Status 내용과 제일 하단의 Events부분의 로그내용들을 참고 해서 해당 Pod가 정상적으로 Running되지 않는 문제가 무엇인지 파악 할 수 있습니다.
내용을 보셔도 잘 모를수 있는데 그 내용을 통으로 첨부해주시면 제가 정확한 문제를 파악하는데 도움이 되고요.
설치하시느라 고생많으시고요.
문제가 있으면 또 알려주세요.
감사합니다.