使用 Helm 升级
按照本指南使用 Helm 对 Ambient 模式的安装进行升级和配置。 本指南假设您已经使用之前的 Istio 次要版本或补丁版本执行了 Helm Ambient 网格安装。
先决条件
更新 Helm 仓库:
$ helm repo update istio
就地升级
您可以使用 Helm 升级工作流程在集群中就地升级 Istio。
在升级 Istio 之前,建议先运行 istioctl x precheck
命令以确保升级与您的环境兼容。
$ istioctl x precheck
✔ No issues found when checking the cluster. Istio is safe to install or upgrade!
To get started, check out <https://istio.io/latest/docs/setup/getting-started/>
手动升级 CRD 和 Istio Base Chart
升级 Kubernetes 自定义资源定义 (CRD):
$ kubectl apply -f manifests/charts/base/crds
升级 Istio Base Chart:
$ helm upgrade istio-base manifests/charts/base -n istio-system --skip-crds
升级 Istio Discovery 组件
Istiod 是管理和配置代理以在 Ambient 网格中路由流量的控制平面组件。
$ helm upgrade istiod istio/istiod -n istio-system
升级 ztunnel 组件
ztunnel DaemonSet 是节点代理组件。
只要 ztunnel 的版本差距不超过一个次要版本,1.x 版本总体上与 1.x+1 和 1.x 版本的控制平面兼容, 这意味着必须先升级控制平面,再升级 ztunnel。
$ helm upgrade ztunnel istio/ztunnel -n istio-system
升级 CNI 组件
Istio CNI 代理负责检测添加到 Ambient 网格的 Pod, 通知 ztunnel 应在添加的 Pod 内建立代理端口,并在 Pod 网络命名空间内配置流量重定向。 它不是数据平面或控制平面的一部分。
CNI 1.x 版本通常与 1.x+1 和 1.x 版本的控制平面兼容, 这意味着控制平面必须在 Istio CNI 之前升级,需要它们之前的版本差异在一个次要版本之内。
$ helm upgrade istio-cni istio/cni -n istio-system
升级 Gateway 组件(可选)
Gateway 组件管理 Ambient Mesh 边界之间的东西向和南北向数据平面流量, 以及 L7 数据平面的某些方面。
$ helm upgrade istio-ingress istio/gateway -n istio-ingress
配置
要查看已被支持的配置选项和文档,请运行:
$ helm show values istio/istiod
验证安装
验证工作负载状态
安装所有组件后,您可以使用以下命令检查 Helm 部署状态:
$ helm list -n istio-system
您可以使用以下命令检查已部署的 Istio Pod 的状态:
$ kubectl get pods -n istio-system
卸载
请参阅 Helm 安装指南中的卸载部分。