Profile picture

[k8s] Failed to 'KillPodSandbox' due to calico connection is unauthorized

JaehyoJJAng2023년 06월 12일

개요

간단한 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.

깔끔 ..


관련 Ref


Loading script...