Kubernetes

The connection to the server ~ 에러 발생 해결

JAEJUNG 2021. 7. 30. 01:49

어제 control-plane과 worker node를 join 시키고 get nodes 했을 때 모두 Ready 된 것까지 확인하고

pc를 종료했다.

다음날 다시 VirtualBox를 켜고 kubectl get nodes를 입력했더니 아래와 같은 에러가 발생했다.

root@kube-control:~# kubectl get nodes
The connection to the server 192.168.56.106:6443 was refused - did you specify the right host or port?

 

google에 검색했더니 /etc/kubernetes/admin.conf 를 ~/.kube/config로 copy 해라,

환경변수를 등록해라, 등등의 답변이 많았는데 admin.conf는 이미 copy 해놓은 상태였고

환경변수 또한 오류해결에 도움이 되진 못했다.

 

여러 글을 찾던 도중 아래 게시글을 참고함으로써 에러를 해결할 수 있었다.

가장 큰 원인은 설치 시 /etc/fstab의 swapfile을 주석처리 했음에도 재부팅 시 주석이 해제되면서 발생하는

오류인 듯 하다.

 

The connection to the server :6443 was refused - did you specify the right host or port?

Hi I have the same problem with you, when I restart the ubuntu,and type kubectl get nodes It always show change@change-VirtualBox:~$ kubectl get nodes The connection to the server 10.0.2.15:6443 was refused - did you specify the right host or port? and I f

discuss.kubernetes.io

 

순서는 아래와 같다.

만약 일반 사용자라면 sudo 명령어를 통해 root 권한에서 swapoff를 진행한다.

root@kube-control:~# sudo -i

root@kube-control:~# swapoff -a

아래는 시스템 콜 추적을 위한 명령어이다.
root@kube-control:~# strace -eopenat kubectl version

(swap을 off하는 이유는 아래 글을 참고한다.)

 

Why disable swap on kubernetes

Since Kubernetes 1.8, it seems I need to disable swap on my nodes (or set --fail-swap-on to false). I cannot find the technical reason why Kubernetes insists on the swap being disabled. Is this for

serverfault.com

 

잘 실행된다.

root@kube-control:~# kubectl get nodes
NAME            STATUS   ROLES                  AGE   VERSION
jj-virtualbox   Ready    control-plane,master   47h   v1.21.3
node01          Ready    <none>                 47h   v1.21.3
node02          Ready    <none>                 47h   v1.21.3

 

+ Vagrant를 사용하지 않고 환경을 구성하려고 했는데, 위와 같이 문제를 해결해도

전원을 껐다 켜면 다시 발생하는 것 같다.

root 권한이 아닌 user 사용자에서 kubectl get nodes 해도 안 되면 그냥 vagrant로 깔자..