StateFulSet pod 삭제

작성자 이경미 수정일 2022-12-16 10:27

#statefulset, #force, #강제삭제

들어가며

  • statfulset 인 특정 pod 의 terminating 상태가 지속된다면 apiserver 에 수동적으로 해당 pod 를 강제 삭제할 수 있습니다.
  • 정상적인 statefulset 이라면 pod 를 종료할 때, 자동적으로 종료됩니다.
  • 권장하는 방법은 아래와 같습니다. 
    1. Pod 의 종료를 통한 apiserver 항목 제거
    2. node controller 를 통한 node object 제거
  • 해당 방식에도 에러사항이 계속된다면 강제 삭제를 통해 statefulset 을 삭제할 수 있습니다.



Delete Pod 


❗️StateFulSet Pod 를 삭제할 때, 연결된 볼륨은 삭제되지 않습니다.

kubectl delete pod <Delete_Pod_Name> 

node에 연결할 수 없는 상태일 때 pod 는 terminating 상태가 되거나 unknown 상태가 됩니다. 

이 때, statefulset 으로 인해 pod 가 terminating 상태로 지속되거나, pod를 삭제해도 되살아나는 경우에 실행합니다. 


Force Delete Pod

강제로 pod 를 삭제하는 경우에는 kubelet 의 응답을 기다리지않고 pod 를 삭제합니다. 

따라서 위험성이 크고 주의하여 작업을 실행해야합니다. 

kubectl delete pods <Delete_pod_name> --grace-period=0 --force

강제 삭제 후에도Unknown 상태가 지속된다면 다음 명령어를 사용하여 클러스터에서 pod 를 제거합니다. 

kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'



마무리

  • 강제로 삭제하는 것은 데이터 손실을 발생시킬 수 있으므로 주의깊게 진행해야합니다. 

아티클이 유용했나요?

훌륭합니다!

피드백을 제공해 주셔서 감사합니다.

도움이 되지 못해 죄송합니다!

피드백을 제공해 주셔서 감사합니다.

아티클을 개선할 수 있는 방법을 알려주세요!

최소 하나의 이유를 선택하세요
CAPTCHA 확인이 필요합니다.

피드백 전송

소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.

02-558-8300