6.4. 部署多个 control plane
对于多个 control plane,您可以扩展支持。单个集群中的服务网格的最大数量取决于可用的集群资源。
6.4.1. 部署第一个 control plane 复制链接链接已复制到粘贴板!
您可以通过创建分配的命名空间来部署第一个 control plane。
步骤
运行以下命令,为名为
istio-system-1的第一个 Istio control plane 创建命名空间:$ oc new-project istio-system-1运行以下命令,在第一个命名空间中添加以下标签,该命名空间与 Istio
discoverySelectors字段一起使用:$ oc label namespace istio-system-1 istio-discovery=mesh-1创建名为
istio-1.yaml的 YAML 文件,名称为mesh-1,discoverySelector为mesh-1:配置示例
kind: Istio apiVersion: sailoperator.io/v1 metadata: name: mesh-1 spec: namespace: istio-system-1 values: meshConfig: discoverySelectors: - matchLabels: istio-discovery: mesh-1 # ...运行以下命令来创建第一个
Istio资源:$ oc apply -f istio-1.yaml要限制
mesh-1中的工作负载与网格之间的解密流量自由通信,请部署PeerAuthentication资源来强制实施mesh-1数据平面中的 mutual TLS (mTLS)流量。使用配置文件(如peer-auth-1.yaml)在istio-system-1命名空间中应用PeerAuthentication资源:$ oc apply -f peer-auth-1.yaml配置示例
apiVersion: security.istio.io/v1 kind: PeerAuthentication metadata: name: "mesh-1-peerauth" namespace: "istio-system-1" spec: mtls: mode: STRICT
6.4.2. 部署第二个 control plane 复制链接链接已复制到粘贴板!
部署第一个 control plane 后,您可以通过创建分配的命名空间来部署第二个 control plane。
步骤
运行以下命令,为名为
istio-system-2的第二个 Istio control plane 创建一个命名空间:$ oc new-project istio-system-2运行以下命令,在第二个命名空间中添加以下标签,该命名空间与 Istio
discoverySelectors字段一起使用:$ oc label namespace istio-system-2 istio-discovery=mesh-2创建名为
istio-2.yaml的 YAML 文件:配置示例
kind: Istio apiVersion: sailoperator.io/v1 metadata: name: mesh-2 spec: namespace: istio-system-2 values: meshConfig: discoverySelectors: - matchLabels: istio-discovery: mesh-2 # ...运行以下命令来创建第二个
Istio资源:$ oc apply -f istio-2.yaml运行以下命令,为
istio-system-2命名空间中的工作负载部署策略,使其只接受 mutual TLS 流量peer-auth-2.yaml:$ oc apply -f peer-auth-2.yaml配置示例
apiVersion: security.istio.io/v1 kind: PeerAuthentication metadata: name: "mesh-2-peerauth" namespace: "istio-system-2" spec: mtls: mode: STRICT
6.4.3. 验证多个 control plane 复制链接链接已复制到粘贴板!
验证 Istio control plane 都已部署并运行。您可以验证 istiod pod 是否在每个 Istio 系统命名空间中运行。
运行以下命令,验证工作负载是否已分配给
istio-system-1中的 control plane:$ oc get pods -n istio-system-1输出示例
NAME READY STATUS RESTARTS AGE istiod-mesh-1-b69646b6f-kxrwk 1/1 Running 0 4m14s运行以下命令,验证工作负载是否已分配给
istio-system-2中的 control plane:$ oc get pods -n istio-system-2输出示例
NAME READY STATUS RESTARTS AGE istiod-mesh-2-8666fdfc6-mqp45 1/1 Running 0 118s