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
'Come on IT > DevOps' 카테고리의 다른 글
쿠버네티스(K8s) 대시보드 구축 방법 (1) | 2024.09.30 |
---|---|
최신 kubernetes(쿠버네티스) 설치 방법 (feat. Ubuntu) (1) | 2024.09.29 |
[ERROR Port-10250]: Port 10250 is in use 해결방법 (feat. K8s) (0) | 2024.09.29 |
Docker 완전 삭제 방법 (feat. Ubuntu) (0) | 2024.09.27 |
Kubernetes(K8s) 완전 삭제하는 방법 (0) | 2024.09.27 |