為何取消我的 Portieris 叢集映像檔安全強制執行安裝?
虛擬私有雲 傳統基礎設施
排除因 Webhook 應用程式故障而導致叢集主節點操作無法完成的問題。
Portieris「影像安全性強制執行」附加元件無法安裝。 您會看到與下列類似的主要狀態:
Image security enforcement update canceled. CAE008: can't enable Portieris image security enforcement because the cluster already has a conflicting image admission controller installed. For more information, see the troubleshooting docs: 'https://ibm.biz/portieris_enable'
您的叢集已安裝衝突的映像檔許可控制器,這會阻止映像檔安全強制執行叢集附加程式安裝。
當叢集裡有多個映像檔許可控制器時,Pod 可能不會執行。
潛在衝突的映像檔許可控制器來源包括:
- 已淘汰容器映像檔安全強制執行 Helm 圖表。
- 先前手動安裝的開放程式碼 Portieris 專案。
識別並移除衝突的映像檔許可控制器。
-
請檢查現有的映像檔許可控制器。
- 檢查叢集裡是否有現有的容器映像檔安全強制執行部署。 如果未傳回任何輸出,則您沒有部署。
oc get deploy cise-ibmcloud-image-enforcement -n ibm-system ``` 輸出範例 ```sh {: pre} NAME READY UP-TO-DATE AVAILABLE AGE cise-ibmcloud-image-enforcement 3/3 3 3 129m ``` * 檢查叢集裡是否有現有的 Portieris 部署。 如果未傳回任何輸出,則您沒有部署。 ```sh {: pre} oc get deployment --all-namespaces -l app=portieries ``` 輸出範例 ```sh {: pre} NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE portieris portieris 3/3 3 3 8m8s ``` -
解除安裝衝突的部署。
oc delete deployment <deployment> -n <namespace> -
確認已移除衝突的許可控制器,方法是檢查叢集不再具有映像檔許可控制器的變異 Webhook 配置。
oc get MutatingWebhookConfiguration image-admission-config輸出範例
Error from server (NotFound): mutatingwebhookconfigurations.admissionregistration.k8s.io "image-admission-config" not found -
執行
ibmcloud oc cluster image-security enable指令,重試安裝附加程式。