使用cli删除kubernetes服务目录终结器

时间:2018-10-15 14:51:40

标签: kubernetes finalizer

我正在尝试从我的云提供商(IBM云私有)提供/取消提供服务实例/绑定,目前,存在一个错误,即如果未在ICP中取消提供服务,则会使我的孤立服务实例留在我的即使使用强制选项也无法删除的ICP环境。 他们提供以下解决方法:

kubectl edit ServiceInstance <service-instance-name>
kubectl edit ServiceBinding <service-binding-name>

然后删除该行:

...
finalizers:
    - kubernetes-incubator/service-catalog
...

和孤立服务实例/绑定将被正确删除。我想知道如何使用bash cli(实时编辑+删除行+保存+退出)或任何其他方式来自动化该过程。

2 个答案:

答案 0 :(得分:1)

kubectl patch是一种方法。您还可以使用jq / kubectl oneliner。

kubectl get ServiceInstance <service-instance-name> -o=json | \
jq '.metadata.finalizers = null' | kubectl apply -f -

答案 1 :(得分:0)

我不确定这与ServiceInstance和ServiceBinding具体如何配合使用,但是您可以使用kubectl patch来更新对象。例如:

kubectl patch ServiceInstance <service-instance-name> -p '{"metadata":{"finalizers":null}}