启用服务网格后,状态一直为安装中
- 问题描述
为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控制台,重新执行卸载操作。