安装 Istio ambient mode
您可以使用 Alauda Service Mesh Operator 2.1.1 或更高版本,在 Alauda Container Platform 上以 ambient mode 部署 Istio。
前提条件
- 必须安装 Alauda Container Platform Networking 的 Multus 插件,且 kube-ovn 版本需为 v4.1.5 或更高。
- 已安装 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。 - 将
spec.values.cni.ambient.reconcileIptablesOnStartup设置为true。reconcileIptablesOnStartup选项使 IstioCNI 智能体在 CNI 智能体启动时检测并修复已运行 ambient Pod 中不兼容的 iptables 规则,处理升级或规则漂移等场景。
- 必须将
-
应用 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 mode 中的 Discovery selectors。
- 必须将
-
应用 Istio 自定义资源(CR):
-
等待 Istio 控制平面就绪:
安装 ZTunnel 代理
-
创建
ztunnel命名空间并添加标签istio-discovery=enabled:NOTEZTunnel资源的命名空间名称必须与Istio配置中的trustedZtunnelNamespace参数匹配。 -
创建名为
ztunnel.yaml的 ZTunnel 资源: -
应用 ZTunnel CR:
-
等待 ZTunnel Pod 就绪: