这些步骤适用于 Istio on GKE 安装(也称为“Istio 插件”)。
准备工作
确定是否使用了 Istio 插件
根据集群中是否使用了 Istio 插件的入站流量网关或 Sidecar 注入功能,有两种可能的迁移路径。
在之前的准备步骤中,您已经确定是否已配置 Istio 插件。您可以运行以下命令来验证存在
istio-system
命名空间:echo $INGRESS_NAMESPACE
运行以下命令以确定集群中是否使用了 Istio 插件的 Sidecar 注入功能:
kubectl get ns -l istio-injection=enabled
如果列出了
knative-serving
以外的任何命名空间,则表示在使用 Istio 插件的 Sidecar 注入功能。例如,如果该命令仅列出
knative-serving
命名空间,则表示尚未配置并且未使用 Istio 插件的 Sidecar 注入功能。
结果:
使用了一项或两项 - 集群使用了一项或两项 Istio 插件功能:
- 使用了 Istio 插件入站流量服务
istio-ingressgateway
。 - 使用了 Istio 插件 Sidecar 注入。
后续步骤:按照下一部分中的说明卸载 Istio 插件后,您必须继续执行使用托管式控制平面的 Cloud Service Mesh 指南。
- 使用了 Istio 插件入站流量服务
未使用 - 集群中没有配置使用 Istio 插件的入站流量网关或 Sidecar 注入功能。换句话说,您的安装使用了“捆绑版 Istio”。
后续步骤:按照下一部分中的说明卸载未使用的 Istio 插件后,您可以继续执行使用集群内控制平面的 Cloud Service Mesh 指南。
卸载 Istio 插件
在本部分中,迁移脚本用于卸载“Istio 插件”。
运行以下命令以启动迁移脚本:
./migration-addon.sh --command uninstall-istio-addon
验证
istio-system
命名空间已删除:kubectl get ns istio-system --ignore-not-found
后续步骤
根据您在上面确定的入站流量网关配置,继续执行相应的安装指南:
如果您之前已确定集群中配置并使用了一项或两项“Istio 插件”功能,则必须继续执行使用托管式控制平面的 Cloud Service Mesh 指南。
如果您之前已确定集群中没有使用“Istio 插件”的入站流量网关和 Sidecar 注入功能,则您的安装实际上使用了“捆绑版 Istio”。您现在可以继续安装使用集群内控制平面的 Cloud Service Mesh。
回滚
如果您需要回滚通过上述步骤所做的更改,可以使用迁移脚本重新启用“Istio 插件”:
运行以下命令:
./migration-addon.sh --command rollback-uninstall-istio-addon
如需继续将更改回滚到安装的原始状态,请回滚 Knative serving“GKE 插件”。