Kubenetes ApiService 在删除后重新生成



我正在尝试升级我的 kubernetes 集群中的 cert-manager。目前安装的版本是在 crd 名称更改之前,我正在尝试清理旧的 CRD。

> kubectl get crd | grep certmanager.k8s.io 
certificates.certmanager.k8s.io                2020-01-31T08:25:56Z
challenges.certmanager.k8s.io                  2020-01-31T08:25:56Z
clusterissuers.certmanager.k8s.io              2020-01-31T08:25:58Z
issuers.certmanager.k8s.io                     2020-01-31T08:25:03Z
orders.certmanager.k8s.io                      2020-01-31T08:25:08Z

确定 crd 后,我删除了它们:

> kubectl delete customresourcedefinition certificates.certmanager.k8s.io challenges.certmanager.k8s.io clusterissuers.certmanager.k8s.io issuers.certmanager.k8s.io orders.certmanager.k8s.io
customresourcedefinition.apiextensions.k8s.io "certificates.certmanager.k8s.io" deleted
customresourcedefinition.apiextensions.k8s.io "challenges.certmanager.k8s.io" deleted
customresourcedefinition.apiextensions.k8s.io "clusterissuers.certmanager.k8s.io" deleted
customresourcedefinition.apiextensions.k8s.io "issuers.certmanager.k8s.io" deleted
customresourcedefinition.apiextensions.k8s.io "orders.certmanager.k8s.io" deleted

删除后kubectl get crd | grep certmanager.k8s.io显示没有crd,但大约30秒后它们会重新生成。我需要在哪里寻找以确定导致它们再生的原因。

已删除所有其他证书管理器资源。

这是因为我似乎无法在新 CRD 中查看/编辑/删除资源,但应用更改会更新(隐藏的(资源。

您遇到的行为可能是由 Istio 插件引起的。在集群中启用 Istio 时,会创建以下资源:

certificates.certmanager.k8s.io,

challenges.certmanager.k8s.io,

clusterissuers.certmanager.k8s.io,

issuers.certmanager.k8s.io,以及

orders.certmanager.k8s.io

.. 和 Istio 负责定期协调它们。这意味着如果您手动删除它们,它们将自动重新创建。

您可以通过创建启用 istio 的示例集群来验证这一点,然后运行以下命令:

~$ kubectl get apiservices

~$ kubectl 得到 customresourcedefinitions.apiextensions.k8s.io,并且

~$ kubectl 描述 customresourcedefinitions.apiextensions.k8s.io certificates.certmanager.k8s.io

有一个带有标签"addonmanager.kubernetes.io/mode=Reconcile"的插件,根据定义,它会定期协调,这就是 CRD(由 Istio 管理(不断被重新创建的原因。有关详细信息,您可以参考此 URL。请在删除之前尝试禁用插件。

相关内容

  • 没有找到相关文章

最新更新