6.4. 部署多个 control plane


对于多个 control plane,您可以扩展支持。单个集群中的服务网格的最大数量取决于可用的集群资源。

6.4.1. 部署第一个 control plane

您可以通过创建分配的命名空间来部署第一个 control plane。

步骤

  1. 运行以下命令,为名为 istio-system-1 的第一个 Istio control plane 创建命名空间:

    $ oc new-project istio-system-1
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,在第一个命名空间中添加以下标签,该命名空间与 Istio discoverySelectors 字段一起使用:

    $ oc label namespace istio-system-1 istio-discovery=mesh-1
    Copy to Clipboard Toggle word wrap
  3. 创建名为 istio-1.yaml 的 YAML 文件,名称为 mesh-1discoverySelectormesh-1

    配置示例

    kind: Istio
    apiVersion: sailoperator.io/v1
    metadata:
      name: mesh-1
    spec:
      namespace: istio-system-1
      values:
        meshConfig:
          discoverySelectors:
            - matchLabels:
                istio-discovery: mesh-1
    # ...
    Copy to Clipboard Toggle word wrap

  4. 运行以下命令来创建第一个 Istio 资源:

    $ oc apply -f istio-1.yaml
    Copy to Clipboard Toggle word wrap
  5. 要限制 mesh-1 中的工作负载与网格之间的解密流量自由通信,请部署 PeerAuthentication 资源来强制实施 mesh-1 数据平面中的 mutual TLS (mTLS)流量。使用配置文件(如 peer-auth-1.yaml )在 istio-system-1 命名空间中应用 PeerAuthentication 资源:

    $ oc apply -f peer-auth-1.yaml
    Copy to Clipboard Toggle word wrap

    配置示例

    apiVersion: security.istio.io/v1
    kind: PeerAuthentication
    metadata:
      name: "mesh-1-peerauth"
      namespace: "istio-system-1"
    spec:
      mtls:
        mode: STRICT
    Copy to Clipboard Toggle word wrap

6.4.2. 部署第二个 control plane

部署第一个 control plane 后,您可以通过创建分配的命名空间来部署第二个 control plane。

步骤

  1. 运行以下命令,为名为 istio-system-2 的第二个 Istio control plane 创建一个命名空间:

    $ oc new-project istio-system-2
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,在第二个命名空间中添加以下标签,该命名空间与 Istio discoverySelectors 字段一起使用:

    $ oc label namespace istio-system-2 istio-discovery=mesh-2
    Copy to Clipboard Toggle word wrap
  3. 创建名为 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
    # ...
    Copy to Clipboard Toggle word wrap

  4. 运行以下命令来创建第二个 Istio 资源:

    $ oc apply -f istio-2.yaml
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令,为 istio-system-2 命名空间中的工作负载部署策略,使其只接受 mutual TLS 流量 peer-auth-2.yaml

    $ oc apply -f peer-auth-2.yaml
    Copy to Clipboard Toggle word wrap

    配置示例

    apiVersion: security.istio.io/v1
    kind: PeerAuthentication
    metadata:
      name: "mesh-2-peerauth"
      namespace: "istio-system-2"
    spec:
      mtls:
        mode: STRICT
    Copy to Clipboard Toggle word wrap

6.4.3. 验证多个 control plane

验证 Istio control plane 都已部署并运行。您可以验证 istiod pod 是否在每个 Istio 系统命名空间中运行。

  1. 运行以下命令,验证工作负载是否已分配给 istio-system-1 中的 control plane:

    $ oc get pods -n istio-system-1
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                            READY   STATUS    RESTARTS   AGE
    istiod-mesh-1-b69646b6f-kxrwk   1/1     Running   0          4m14s
    Copy to Clipboard Toggle word wrap

  2. 运行以下命令,验证工作负载是否已分配给 istio-system-2 中的 control plane:

    $ oc get pods -n istio-system-2
    Copy to Clipboard Toggle word wrap

    输出示例

    NAME                            READY   STATUS    RESTARTS   AGE
    istiod-mesh-2-8666fdfc6-mqp45   1/1     Running   0          118s
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat