쿠버네티스를 설치하고 Master Node 구축을 위하여 kubeadm의 초기화를 한 후 kubectl을 이용하여 정보를 확인하려던 차, 아래의 에러가 발생했다.
The connection to the server 172.31.12.179:6443 was refused - did you specify the right host or port?
위 에러는kubectl을 이용하여 kube-apiserver로 요청을 보냈으나 kubelet 또는 kube-apiserver에 현재 문제가 있어 통신에 장애가 있다는 것이다.
# 초기화
sudo kubeadm init
# 초기화 후 설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
1. Swapoff 확인
# root user 접속
sudo -i
# 스왑 영역 비활성화
swapoff -a
# root user 종료
exit
# 시스템콜 추적
strace -eopenat kubectl version
추가적으로 위와 관련된 사항을 쿠버네티스 공식 문서에서 확인할 수 있었는데, kubelet 사용을 위해서는, 메모리 스왑의 Disable이 필수적으로 설정이 되어야한다.
2. Config 확인
root 유저가 아닐때, KUBECONFIG에 잘못된 경로가 들어가 있거나 값 자체가 없을 때, 에러가 발생했다.
# config 복사
sudo cp /etc/kubernetes/admin.conf ~/.kube/config
# Kubeconfig 지정
export KUBECONFIG=$HOME/.kube/config
### 고정 환경 변수 지정
# 내부에 아래 내용 추가
# vi ~/.bashrc
# export KUBECONFIG=$HOME/.kube/config
# source ~/.bashrc
3. Kubelet 자체 디버깅
위 방법으로 해결이 되지 않으면, kubelet의 상태와 로그를 확인하고, 알맞게 디버깅을 해야한다.
아래 명령어로 로그를 확인할 수 있다.
# systemctl
systemctl status kubelet
# journalctl - log follow
journalctl -f
# journalctl - log unit
journalctl -u kubelet
반응형
'Devops > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 노드(Node) 및 파드(Pod) 사용 중 컴퓨터 자원(Resource) 확인 (0) | 2023.08.30 |
---|---|
[Kubernetes] bitnami/kafka (Helm Chart) SASL Authentication 에러 (2) | 2023.08.24 |
[Kubernetes] 쿠버네티스 내 헬름 차트(Helm Chart)로 Apache Kafka 설치(bitnami) (2) | 2023.08.22 |
[Kubernetes] 파드 간 통신 방법과 FQDN/DNS 요청 시 발생한 에러 처리 (0) | 2023.08.21 |
[Kubernetes] 쿠버네티스 Ec2(Kubeadm) 환경에서 Master-Worker Node 구축 (1) | 2023.08.11 |