安装 Istio ambient 模式
您可以使用 Alauda Service Mesh Operator 2.1.1 或更高版本,在 Alauda Container Platform 上以 ambient 模式部署 Istio。
先决条件
- 必须安装 Alauda Container Platform Networking for Multus 插件。
- kube-ovn 必须为 v4.1.5 或更高版本,并且必须使用 overlay 网络。ambient 模式不适用于 kube-ovn underlay 网络;请参阅 Ambient 模式不适用于 kube-ovn underlay 网络。
- 集群版本必须与您计划部署的 Istio 版本匹配:Istio 1.30 支持 Kubernetes 1.32 到 1.36,Istio 1.28 支持 Kubernetes 1.30 到 1.34。
- 已安装 Alauda Service Mesh Operator 2.1.1 或更高版本。
- 集群管理员已通过具有
cluster-admin角色的有效 ACP CLI(kubectl)会话登录。 - 您已在本地安装
istioctl,以便使用它运行这些操作步骤。
操作步骤
安装 Istio Container Network Interface(CNI)
-
创建
istio-cni命名空间,并添加标签istio-discovery=enabled: -
创建名为
istio-cni.yaml的 IstioCNI 资源:- 必须将
profile字段设置为ambient。
NOTE- 不要将包含 ambient 工作负载的命名空间添加到
values.cni.excludeNamespaces。从 Istio 1.30 开始,Istio CNI agent 会遵循此列表,并将排除命名空间中已加入网格的工作负载移出网格。 - 默认情况下,ambient 工作负载已启用 DNS 捕获。Istio CNI 在启动时会协调已加入工作负载的 pod 内重定向规则,因此无需重启这些工作负载。
- 必须将
-
应用 IstioCNI CR:
-
等待 IstioCNI pod 就绪:
安装 Istio 控制平面
-
创建
istio-system命名空间,并添加标签istio-discovery=enabled: -
创建名为
istio.yaml的 Istio 资源:- 必须将
profile字段设置为ambient。 - 必须配置
.spec.values.pilot.trustedZtunnelNamespace,使其与安装 ZTunnel 资源的命名空间匹配。 discoverySelectors配置确保控制平面仅监视带有istio-discovery=enabled标签的命名空间,这有助于减少配置开销,并支持在同一集群中共存多个服务网格。有关详细信息,请参阅 ambient 模式下的发现选择器。
- 必须将
-
应用 Istio 自定义资源(CR):
-
等待 Istio 控制平面就绪:
安装 ZTunnel 代理
-
创建
ztunnel命名空间,并添加标签istio-discovery=enabled:NOTEZTunnel资源的命名空间名称必须与Istio配置中的trustedZtunnelNamespace参数匹配。 -
创建名为
ztunnel.yaml的 ZTunnel 资源: -
应用 ZTunnel CR:
-
等待 ZTunnel pod 就绪: