Written on
·
302
1
안녕하세요
대시보드에서 Pod를 생성하려고 하니 위와 동일한 문제가 발생하네요
Deploying file has failed 라고 나오네요..
하기에도 동일한 오류 내용이 있는 것 같아 답글을 보고 모든 권한으로 리소스에 접근할 수 있도록 ClusterRole 새로 추가는 했는데도 안되네요..
추가로 yml 파일로 생성하여 master 에서 생성하면 pod는 생성되지만,
대시보드에 들어가서 shell in container1, 2로 들어가려고 하니
unable to update connection: pod does not exist. 라고 뜨네요..
Answer 4
0
0
근본적으로 INTERNAL-IP가 nat로 잡혀지는 원인을 알았네요^^
제 스크립트에 문제가 있었습니다.
cat /etc/hosts를 해보면 ip 등록이 되어 있는데, k8s-master가 아닌 master로 되어 있네요 ㅠ
worker1과 worker2도 모두 k8s-worker1 k8s-worker2로 수정해주시고요.
아래 명령으로 kubelet을 재기동 하면 됩니다.
systemctl daemon-reload && systemctl restart kubelet
0
kubectl get nodes -o wide 해보시면, INTERNAL-IP에 192.168.50.30이 잡혀야 합니다.
근데 nat ip를 자동으로 잡을 경우 10.0.2.15를 생성될 경우 아래 에러가 뜰 수 있어요.
unable to update connection: pod does not exist
그래서 해결책은
sed -i 's/$KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS/$KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS --node-ip 192.168.56.30/g' /usr/lib/systemd/system/kubelet.service.d/10-kubeadm.conf
systemctl daemon-reload && systemctl restart kubelet
위에 두줄 명령을 실행하시면 되고요. master는 30이고 worker1과 worker2는 각각 31과 32로 수정해서 실행하면 됩니다.
그리고 다시 kubectl get nodes -o wide를 해보면 ip가 변경되있는 확인하시고요.
저도 설치 스크립트에 해당 명령이 추가되도록 반영해놓을 예정입니다.
0