쿠버네티스를 사용 중에 분명 제대로 pod를 삭제했는데 삭제되지않고 계속 Termination 상태에 머물러있는 상황을 맞이할 수 있다.
로그를 보려고 해도 로그도 안나온다...
강제로 종료도 해봐도 안되는 진짜... 막장같은 상황이었다.
이때 내가 해결한 방법을 공유해보겠습니다.
# 강제 삭제하기
kubectl delete pod pod명 --grace-period=0 --force
# 그래도 안되면 아예 끝내버리기
kubectl patch pod pod명 -p '{"metadata":{"finalizers":null}}'
정상적인 스테이트풀셋의 작동에서는 스테이트풀셋 파드를 강제로 삭제할 필요가 절대 없다.
스테이트풀셋 컨트롤러는 스테이트풀셋의 멤버 생성, 스케일링, 삭제를 담당한다. 서수 0부터 N-1까지 지정된 수의 파드가 활성 상태이고 준비되었는지 확인한다. 스테이트풀셋은 언제든지 클러스터에서 실행 중인 지정된 신원을 가진 최대 하나의 파드가 있는지 확인한다. 이를 스테이트풀셋에서 제공하는 최대 하나 의미론이라고 한다.