啟用服務網格后,狀態一直為安裝中
- 問題描述
為CCE集群啟用服務網格(即創建網格)后,網格狀態一直顯示為“安裝中”,鼠標放上去提示“正在啟用istio服務網格:開通用戶安全組規則成功”。
- 問題定位
登錄CCE控制臺,在“資源管理 > 命名空間”中查看對應集群的istio-system命名空間是否存在。
- 原因分析
存在istio-system命名空間殘留。
- 解決方法
刪除已有的istio-system命名空間后即可繼續安裝。
卸載服務網格后,狀態一直為未就緒
- 問題描述
在ASM控制臺卸載服務網格后,網格狀態一直顯示為“未就緒”。
- 問題定位
步驟 1 登錄CCE控制臺,在左側導航欄選擇“模板市場 > 示例模板”。
步驟 2 單擊“模板實例”頁簽,在搜索框中選擇對應集群,查看模板實例和卸載失敗最新事件。
可以看到istio-master模板實例的執行狀態為“卸載失敗”,并且最新事件提示如下信息:
deletion failed with 1 error(s): clusterroles:rbac.authorization.k8s.io "istio-cleanup-secrets-istio-system" already exists
- 原因分析
helm對中斷狀態支持不好,客戶異常操作會導致istio的helm模板卡在中間狀態,使卸載過程中留下殘留資源,從而導致卸載失敗。
- 解決方法
步驟 1 通過kubectl連接到CCE集群。
步驟 2 執行以下命令,清理istio相關資源。
kubectl delete ServiceAccount -n istio-system kubectl get ServiceAccount -n istio-system | grep istio | awk '{print $1}'
kubectl delete ClusterRole -n istio-system kubectl get ClusterRole -n istio-system | grep istio | awk '{print $1}'
kubectl
delete ClusterRoleBinding -n istio-system kubectl get ClusterRoleBinding -n istio-system | grep istio | awk '{print $1}'
kubectl delete job -n istio-system kubectl get job -n istio-system | grep istio | awk '{print $1}'
kubectl delete crd -n istio-system kubectl get crd -n istio-system | grep istio | awk '{print $1}'
kubectl
delete mutatingwebhookconfigurations -n istio-system kubectl get mutatingwebhookconfigurations -n istio-system | grep istio | awk '{print $1}'
步驟 3 登錄ASM控制臺,重新執行卸載操作。