← 문제 라이브러리
K8s 중급 16분

보안 업데이트로 재부팅한 노드만 NotReady: kubelet이 시작되지 않음

어젯밤 노드들에 운영체제 보안 업데이트를 적용하고 차례로 재부팅했습니다.

검수된 문제무료
시나리오

어젯밤 노드들에 운영체제 보안 업데이트를 적용하고 차례로 재부팅했습니다. 다른 노드는 모두 돌아왔는데 node-c3만 NotReady에 머물러 있고, 그 위에 있던 파드들은 다른 노드로 옮겨져 클러스터 여유가 줄었습니다. SSH 접속은 잘 되고 네트워크도 정상입니다. 담당자는 노드를 지우고 새로 만들자고 합니다. 이 노드만 반년 전 급하게 증설하면서 다른 사람이 만든 이미지로 띄웠고, 그 뒤로 한 번도 재부팅한 적이 없습니다.

단서
kubectl
$ kubectl get nodes
NAME      STATUS     ROLES    AGE   VERSION
node-c3   NotReady   <none>   210d  v1.29.4

$ kubectl describe node node-c3 | grep -A1 Ready
  Ready   Unknown   NodeStatusUnknown   Kubelet stopped posting node status.
node-c3 에서
$ systemctl status kubelet | head -3
● kubelet.service - kubelet
     Active: activating (auto-restart) (Result: exit-code)

$ journalctl -u kubelet -n 1
E0927 02:14:11 run.go:74] "command failed" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false"

$ swapon --show
NAME       TYPE  SIZE USED
/swap.img  file    4G   0B
$ grep swap /etc/fstab
/swap.img  none  swap  sw  0  0

과제 원인을 좁히고, 서비스를 되살리는 순서(검증 포함)와 재발 방지책을 적어 보세요.

먼저 볼 것
  • NotReady가 네트워크 문제인지 kubelet 문제인지
  • 재부팅 뒤 되살아나는 설정
점검 체크리스트
  1. kubectl describe node 의 Ready 조건 사유
  2. 노드에서 systemctl status kubelet 과 journalctl -u kubelet
  3. swapon --show 와 /etc/fstab