在双栈模式下安装网格
安装支持双栈网络的 Istio,以在服务网格中启用 IPv4 和 IPv6 连接。
前提条件
- Kubernetes 已配置为支持双栈。
- 必须安装 Alauda Container Platform Networking for Multus 插件,且 kube-ovn 版本需为 v4.1.5 或更高。
- 您已在集群上安装了 Alauda Service Mesh v2 Operator。
操作步骤
安装 IstioCNI
通过运行以下命令安装 IstioCNI 资源:
使用双栈配置安装 Istio
-
通过运行以下命令创建带有双栈配置的
Istio资源: -
通过运行以下命令等待控制平面返回
Ready状态条件:
验证双栈网格
为了确认您的双栈网格正常工作,您将部署具有不同 IP 家族配置的示例应用。目标是验证网格能否处理 IPv4、IPv6 以及双栈服务。
操作步骤
创建示例应用的命名空间
创建以下命名空间,每个命名空间中托管一个具有特定 IP 配置的 tcp-echo 服务:
-
dual-stack:托管同时监听 IPv4 和 IPv6 地址的tcp-echo服务。 -
ipv4:托管仅监听 IPv4 地址的tcp-echo服务。 -
ipv6:托管仅监听 IPv6 地址的tcp-echo服务。 -
sleep:托管用于发送测试请求的客户端应用。
启用命名空间的 sidecar 注入
通过运行以下命令为命名空间打标签,启用自动 Istio sidecar 注入:
部署示例应用
-
部署带有双栈配置的
tcp-echo应用: -
部署仅支持 IPv4 的
tcp-echo应用: -
部署仅支持 IPv6 的
tcp-echo应用: -
部署
sleep应用,作为发送测试请求的客户端: -
等待所有部署变为可用:
验证双栈服务配置
通过运行以下命令确认 dual-stack 命名空间中的 tcp-echo 服务配置了 ipFamilyPolicy 为 RequireDualStack:
示例输出
验证与双栈服务的连通性
通过运行以下命令,从 sleep pod 向双栈的 tcp-echo 服务发送测试请求:
示例输出
验证与 IPv4 和 IPv6 服务的连通性
-
向仅支持 IPv4 的
tcp-echo服务发送测试请求:示例输出
-
向仅支持 IPv6 的
tcp-echo服务发送测试请求:示例输出
从开发环境中移除双栈网格
完成验证和试验后,应移除双栈配置,以清理开发环境并释放资源。
操作步骤
执行以下命令以删除所有 Istio 组件和示例应用: