본문 바로가기

Cloud/Kubernetes

kubernetes resource가 terminating 상태에서 변하지 않을 때

1. kubectl edit resource 를 통해 삭제

apiVersion: v1
kind: Namespace
metadata:
  annotations:
    cni.projectcalico.org/ipv4pools: '["default-ipv4-ippool"]'
    kubectl.kubernetes.io/last-applied-configuration: |
      {"apiVersion":"v1","kind":"Namespace","metadata":{"annotations":{},"labels":{"cdi.kubevirt.io":""},"name":"cdi"}}
  creationTimestamp: "2020-05-19T10:11:37Z"
  labels:
    cdi.kubevirt.io: ""
  name: cdi
  resourceVersion: "27305910"
  selfLink: /api/v1/namespaces/cdi
  uid: da6bea26-7c4b-4fe0-8cf4-aa482aeaf914
spec:
#  finalizers:
#  - kubernetes
  finalizers: null
status:
  phase: Active

여기서 finalizers를 지우거나 null 값으로 변경하면 된다.

 

2. edit를 통해 지워지지 않을 때

 저런식으로 하면 가끔씩 /tmp/~.yaml 을 통해 patch 하라는 안내가 나타난다. 당황하지 않고 kubectl patch 명령어를 통해 patch 해준다.

kubectl patch [resource] --patch "$(cat /tmp/resource-edit-sdd9s.yaml)" --type=merge