Mar*_*els 5 kubernetes google-kubernetes-engine cert-manager kubectl
我正在尝试在 Kubernetes 集群上卸载并重新安装 cert-manager。他们的卸载文档提到:
在继续之前,请确保用户创建的所有 cert-manager 资源均已删除。您可以使用以下命令检查任何现有资源:
$ kubectl get Issuers,ClusterIssuers,Certificates,CertificateRequests,Orders,Challenges --all-namespaces
该命令输出数百个资源,分布在二十几个命名空间中。
如何有效地删除它们,而不删除命名空间中的其他任何内容?
该kubectl delete命令在删除所有特定类型时需要指定命名空间,如下所示:kubectl delete certificates -n example-ns,所以这在这里不好。
在指定的同时按名称删除每个循环-A也不起作用,因为我需要指定名称空间:
$ kubectl delete -A order.certmanager.k8s.io/fcfa95477bc0149dbc16c99c54faa82e-cert-1862418815
error: a resource cannot be retrieved by name across all namespaces
Run Code Online (Sandbox Code Playgroud)
这里正确的 cli 魔法是什么?
您应该删除整个crd(自定义资源定义),首先列出您的 CRD
kubectl get crd
Run Code Online (Sandbox Code Playgroud)
然后删除 CRD,例如(作为Issuer示例)
kubectl delete crd issuer.<something>.<something>
Run Code Online (Sandbox Code Playgroud)
当删除 CRD 时,该 CRD 的所有实例(例如 的所有资源kind: Issuer)也将被删除。
| 归档时间: |
|
| 查看次数: |
6232 次 |
| 最近记录: |