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

XYZ*_*len 2 finalizer kubernetes ibm-cloud-private

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

kubectl edit ServiceInstance <service-instance-name>
kubectl edit ServiceBinding <service-binding-name>
Run Code Online (Sandbox Code Playgroud)

然后删除该行:

...
finalizers:
    - kubernetes-incubator/service-catalog
...
Run Code Online (Sandbox Code Playgroud)

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

jax*_*orm 32

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

kubectl patch ServiceInstance <service-instance-name> -p '{"metadata":{"finalizers":null}}' --type=merge
Run Code Online (Sandbox Code Playgroud)


Ric*_*ico 5

kubectl patch是一种方式。您也可以使用jq/ kubectloneliner。

kubectl get ServiceInstance <service-instance-name> -o=json | \
jq '.metadata.finalizers = null' | kubectl apply -f -
Run Code Online (Sandbox Code Playgroud)