본문 바로가기
Come on IT/DevOps

dial tcp 127.0.0.1:10248: connect: connection refused 해결방법

by JONGSKY 2024. 9. 29.
728x90
SMALL

1. 글을 작성하게 된 계기

 

K8s를 구축하면서 다음과 같은 오류를 만났고 해결방법을 작성하고자 한다.

 

[kubelet-check] The HTTP call equal to 'curl -sSL http://localhost:10248/healthz' failed with error: Get "http://localhost:10248/healthz": dial tcp 127.0.0.1:10248: connect: connection refused.

 

 

2. 해결방법

 

이 오류는 kubelet이 제대로 실행되지 않기 때문에 발생하는데, 

그 원인 중 하나가 시스템에서 메모리 스왑(Swap)이 비활성화되지 않았기 때문입니다. 

Kubernetes는 메모리 스왑이 활성화된 상태에서 안정적으로 동작하지 않기 때문에 이를 비활성화하는 것이 필요합니다.

 

# 스왑 비활성화
sudo swapoff -a

# /etc/fstab 파일에서 스왑 파티션을 주석 처리하여 부팅 시 스왑이 다시 활성화되지 않도록 설정
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

 

모든 설정을 완료한 후 시스템을 재부팅하여 스왑 비활성화가 적용되었는지 확인합니다.

 
sudo reboot​

 

재부팅 후 다시 스왑 상태를 확인합니다.

 
sudo swapon --show

 

아무 결과도 나오지 않으면 스왑이 성공적으로 비활성화된 것입니다.

스왑이 비활성화된 후 kubelet 서비스를 다시 시작해야 합니다.

 

sudo systemctl restart kubelet

 

재시작 후 클러스터 상태를 확인합니다.

 
kubectl get nodes

 

정상적으로 노드가 준비된 상태(Ready)로 표시되는지 확인합니다.

 

728x90
LIST