在两个集群上以主-远程多网络拓扑安装 Istio。
在本操作步骤中,CLUSTER1
是 East 集群,CLUSTER2
是 West 集群。East 集群为主集群,West 集群为远程集群。
您可以根据需要调整这些说明,以适用于跨越两个以上集群的网格。
拓扑
跨集群边界的服务工作负载通过专用的东西向网关间接通信。 每个集群中的网关必须能够被另一个集群访问。
cluster2
中的服务将通过相同的东西向网关访问 cluster1
中的控制平面。
先决条件
istioctl
,以便运行这些操作步骤。ISTIO_VERSION
环境变量通过运行以下命令设置 East 集群的默认网络:
通过运行以下命令在 East 集群上创建一个 Istio
资源:
将以下 Istio
资源保存为 istio-external.yaml
:
使用 kubectl
应用该 Istio
资源:
通过运行以下命令等待控制平面返回“Ready”状态条件:
通过运行以下命令在 East 集群上创建东西向网关:
通过网关暴露控制平面,使 West 集群中的服务能够访问控制平面,运行以下命令:
通过网关暴露应用服务,运行以下命令:
通过运行以下命令保存运行在 East 集群的东西向网关的 IP 地址:
通过运行以下命令在 West 集群上创建一个 Istio
资源:
通过运行以下命令为 West 集群中的 istio-system
命名空间添加注解,使其由 East 集群的控制平面管理:
通过运行以下命令设置 West 集群的默认网络:
通过运行以下命令在 East 集群上安装一个远程 secret,以便访问 West 集群的 API 服务器:
通过运行以下命令等待 Istio
资源返回“Ready”状态条件:
通过运行以下命令在 West 集群上创建东西向网关:
由于 West 集群安装的是远程配置文件,在 East 集群上暴露应用服务会使其在两个集群的东西向网关上均被暴露。