본문 바로가기
Kubernetes/그 외

워커 노드에서 kubectl 명령어 실행하기

by ahfmrjttb 2021. 4. 27.

현재 Kubernetes 클러스터는 마스터 노드와 워커 노드 1개로 구성되어 있다. gpuserver2는 마스터 노드이고 gpuserver3는 워커 노드이다. 화면에도 보이듯이 마스터 노드에서는 kubectl 명령어로 노드 상태나 Pod 상태 등을 확인할 수 있다. 그러면, 워커 노드에서도 확인할 수 있을까?

 

 

안타깝게도 워커 노드에서는 kubectl 명령어를 사용할 수 없다. 직접 해보면 위와 같이 에러가 발생한다. 하지만, 방법이 있다.

 

 

마스터 노드를 보면 /etc/kubernetes에 admin.conf 파일이 있다. 이 admin.conf 파일을 워커 노드로 복사한다.(복사는 알아서...) 

 

 

이렇게 워커 노드에 admin.conf를 복사를 해놓으면 이제 아래처럼 해주면 끝이다.

 

 

사실 이는 처음 설치할 때 마스터 노드에서 실행했던 명령어들이다. 이를 워커 노드에서도 똑같이 해주면 이제 워커 노드에서도 마스터 노드에서와 똑같이 kubectl 명령어를 사용할 수 있다.

 

 

현재 gpuserver3이므로 워커 노드이다. kubectl get pods를 실행했을 때 아까처럼 "The connection to the server localhost:8080 was refused" 메시지가 나오지 않는다. "No resources found~"는 실행되고 있는 Pod가 없기 때문에 나온 것이고 Pod가 실행 중이라면 실행 중인 Pod 상태를 확인할 수 있다. 노드 상태 역시 kubectl get nodes로 워커 노드에서 확인할 수 있다. 

 

 

 

참고 사이트

    - snowdeer.github.io/kubernetes/2018/02/13/kubernetes-can-not-use-kubectl/

댓글