IBM Cloud Docs
当我使用 Container Registry时,为什么不在工作程序关闭后重新启动 pod?

当我使用 Container Registry时,为什么不在工作程序关闭后重新启动 pod?

使用 IBM Cloud® Container Registry时,在集群工作程序关闭后,Pods在 Kubernetes 集群上运行的一组容器。 pod 是可运行的工作单元,它可以是独立应用程序或微服务。 不会重新启动。

Portieris 已部署。 集群工作程序显示为正常工作,但未调度任何内容。

缺省情况下,Portieris 会添加失败的已关闭许可 Webhook。 如果所有 Portieris pod 都已关闭,那么这些 pod 不可用于核准其自己的恢复。

要恢复处于此状态的集群,必须更改 Webhook 配置以使其在发生故障时打开而不是关闭。

您必须具有足够的基于角色的访问控制 (RBAC) 特权,才能在以下资源上使用 GETPATCH 动词:

  • admissionregistration.k8s.io/v1/MutatingWebhookConfiguration
  • admissionregistration.k8s.io/v1/ValidatingWebhookConfiguration

有关 RBAC 的更多信息,请参阅 了解 RBAC 许可权为用户,组或服务帐户创建定制 RBAC 许可权Kubernetes-使用 RBAC 授权

要更改 Webhook 配置以使其无法打开,并且在至少有一个 Portieris pod 正在运行时,复原 Webhook 配置以使其无法关闭,请完成以下步骤:

  1. 通过运行以下命令来更新 MutatingWebhookConfiguration

    kubectl edit MutatingWebhookConfiguration image-admission-config
    

    failurePolicy 更改为 Ignore,保存并关闭。

  2. 通过运行以下命令来更新 ValidatingWebhookConfiguration

    kubectl edit ValidatingWebhookConfiguration image-admission-config
    

    failurePolicy 更改为 Ignore,保存并关闭。

  3. 等待某些 Portieris pod 启动。 如果要检查 pod 何时启动,请运行以下命令,直到看到至少一个 pod 的 STATUS 列显示 Running:

    kubectl get po -n ibm-system -l app=ibmcloud-image-enforcement
    
  4. 至少有一个 Portieris pod 正在运行时,请通过运行以下命令来更新 MutatingWebhookConfiguration

    kubectl edit MutatingWebhookConfiguration image-admission-config
    

    failurePolicy 更改为 Fail,保存并关闭。

  5. 通过运行以下命令来更新 ValidatingWebhookConfiguration

    kubectl edit ValidatingWebhookConfiguration image-admission-config
    

    failurePolicy 更改为 Fail,保存并关闭。