개요
간단한 fastapi 토이 프로젝트를 배포하고 현재 디렉토리 내에서 생성된 모든 manifest를 삭제하려고 아래 명령어를 쳤음
$ kubectl delete -f .
그러나 몇 분이 지나도 파드가 삭제가 안되고 있음
$ kubectl -n was-prac get pods
NAME READY STATUS RESTARTS AGE
fastapi-pod-ewfewogkkereo 1/1 Terminating 0 12m
mysql-pod-dwqdqwqwerotrer 1/1 Terminating 0 12m
왜 삭제가 안되는지 Pod의 describe 조회
$ kubectl describe -n was-prac pod/fastapi-pod-ewfewogkkereo
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Killing 5d2h kubelet Stopping container fastapi
Warning FailedKillPod 5d2h (x26 over 5d2h) kubelet error killing pod: failed to "KillPodSandbox" for "ad3579d2-f0f5-40d6-9a17-2b6892a314b4" with KillPodSandboxError: "rpc error: code = Unknown desc = failed to destroy network for sandbox \"5beeff539a4716f9817ce92f8053faf6d84a245ecd3edc5f55523790ac47412f\": plugin type=\"calico\" failed (delete): error getting ClusterInformation: connection is unauthorized: Unauthorized"
error killing pod: failed to "KillPodSandbox"
라는 로그를 발견.
구글링 결과 쿠버네티스 v1.26.0 버전에서 발생하는 오류처럼 보이며 calico-node를 재시작하여 간단하게 해결 가능.
해결 방법
calico-node 재시작
$ kubectl rollout restart ds -n calico-system calico-node
다시 파드 조회
$ kubectl get pods -n was-prac
No resources found in was-prac namespace.
깔끔 ..