×

如果您是从 Red Hat OpenShift Service Mesh v2.6 迁移过来的,则可以在一个集群中并行运行 OpenShift Service Mesh v2.6 和 OpenShift Service Mesh v3.0,而不会相互干扰。

使用多租户部署模型运行 OpenShift Service Mesh 2.6 和 OpenShift Service Mesh 3

如果您是从默认多租户部署模型中的 Red Hat OpenShift Service Mesh 2.6 迁移过来的,则可以在一个集群中并行运行 OpenShift Service Mesh 2.6 和 OpenShift Service Mesh 3.0,而不会相互干扰。

在 OpenShift Service Mesh 2.6 中,您可以从ServiceMeshControlPlane下的spec.mode检查您的部署模型

示例ServiceMeshControlPlane yaml
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  mode: MultiTenant
前提条件
  • 您正在运行 OpenShift Container Platform 4.14 或更高版本。

  • 您正在运行 OpenShift Service Mesh 2.6。

    如果您没有运行 OpenShift Service Mesh 2.6,则必须升级到 2.6 才能按照此过程操作。要将 OpenShift Service Mesh 版本升级到 2.6,请参阅:升级 Service Mesh 2.x

步骤
  1. 安装 OpenShift Service Mesh 3 运算符。

  2. istio-cni命名空间中创建IstioCNI资源。

  3. 在与 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中使用的命名空间不同的命名空间中创建Istio资源。此示例使用istio-system3命名空间

    带有istio-system3的示例Istio资源
    kind: Istio
    piVersion: sailoperator.io/v1alpha1
    metadata:
      name: ossm3 (1)
    spec:
      namespace: istio-system3 (2)
      values:
        meshConfig:
          discoverySelectors: (3)
            - matchExpressions:
              - key: maistra.io/member-of
                operator: DoesNotExist
      updateStrategy:
        type: InPlace
      version: v1.23.0
    1 不要使用default作为名称。
    2 必须与 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中使用的命名空间不同。此示例使用istio-system3命名空间。
    3 要忽略 OpenShift Service Mesh 2.6 命名空间,请按所示配置discoverySelectors部分。所有其他命名空间都将成为 OpenShift Service Mesh 3.0 网格的一部分。
  4. 部署您的工作负载并通过运行以下命令为命名空间贴上istio.io/rev=ossm3标签

    $ oc label namespace <namespace-name> istio.io/rev=<revision-name>

    如果您已更改 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中的ServiceMeshMemberRoll中的spec.memberSelectors,则对您的 OpenShift Service Mesh 3.0 工作负载命名空间使用istio-injection=enabled标签。

  5. 通过运行以下命令确认应用程序工作负载由各自的控制平面管理

    $ istioctl ps -i istio-system
    示例输出istio-system
    $ istioctl ps -i istio-system
    NAME                                          CLUSTER        CDS        LDS        EDS        RDS        ECDS         ISTIOD                                          VERSION
    details-v1-7f46897b-88x4l.bookinfo            Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    mongodb-v1-6cf7dc9885-7nlmq.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    mysqldb-v1-7c4c44b9b4-22b57.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    productpage-v1-6f9c6589cb-l6rvg.bookinfo      Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v1-559b64556-f6b4l.bookinfo           Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v2-8ddc4d65c-bztrg.bookinfo           Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v2-mysql-cbc957476-m5j7w.bookinfo     Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v1-847fb7c54d-7dwt7.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v2-5c7ff5b77b-5bpc4.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v3-5c5d764c9b-mk8vn.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    示例输出istio-system3
    $ istioctl ps -i istio-system3
    NAME                                          CLUSTER        CDS                LDS                EDS                RDS                ECDS        ISTIOD                            VERSION
    details-v1-57f6466bdc-5krth.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    productpage-v1-5b84ccdddf-f8d9t.bookinfo2     Kubernetes     SYNCED (2m39s)     SYNCED (2m39s)     SYNCED (2m34s)     SYNCED (2m39s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    ratings-v1-fb764cb99-kx2dr.bookinfo2          Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v1-8bd5549cf-xqqmd.bookinfo2          Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v2-7f7cc8bf5c-5rvln.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v3-84f674b88c-ftcqg.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0

使用集群范围部署模型运行 Red Hat OpenShift Service Mesh 2.6 和 Red Hat OpenShift Service Mesh 3

如果您是从集群范围部署模型中的 Red Hat OpenShift Service Mesh 2.6 迁移过来的,则可以在一个集群中并行运行 OpenShift Service Mesh 2.6 和 OpenShift Service Mesh 3.0,而不会相互干扰。

在 OpenShift Service Mesh 2.6 中,您可以从ServiceMeshControlPlane下的spec.mode检查您的部署模型

示例ServiceMeshControlPlane yaml
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  mode: ClusterWide

为了在使用 OpenShift Service Mesh 2.6 集群范围部署模型时避免与 OpenShift Service Mesh 3.0 冲突,您需要将ServiceMeshControlPlane资源配置为仅限制属于 (SMProduct) 2.6 的命名空间。

前提条件
  • 您正在运行 OpenShift Container Platform 4.14 或更高版本。

  • 您正在运行 OpenShift Service Mesh 2.6。

    如果您没有运行 OpenShift Service Mesh 2.6,则必须升级到 2.6 才能按照此过程操作。要将 OpenShift Service Mesh 版本升级到 2.6,请参阅:升级 Service Mesh 2.x

步骤
  1. 配置discoverySelectors,并在您的 OpenShift Service Mesh 2.6 ServiceMeshControlPlane自定义资源 (CR) 中将 pilot 容器上的ENABLE_ENHANCED_RESOURCE_SCOPING环境变量设置为true

    示例ServiceMeshControlPlane CR
    apiVersion: maistra.io/v2
    kind: ServiceMeshControlPlane
    metadata:
      name: basic
      namespace: istio-system
    spec:
      version: v2.6
      mode: ClusterWide
      meshConfig:
        discoverySelectors:
          - matchExpressions:
            - key: maistra.io/member-of
              operator: Exists
      runtime:
        components:
          pilot:
            container:
              env:
                ENABLE_ENHANCED_RESOURCE_SCOPING: 'true'
  2. 安装 OpenShift Service Mesh 3 运算符。

  3. istio-cni命名空间中创建IstioCNI资源。

  4. 在与 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中使用的命名空间不同的命名空间中创建Istio资源。此示例使用istio-system3命名空间

    带有istio-system3的示例Istio资源
    kind: Istio
    apiVersion: sailoperator.io/v1alpha1
    metadata:
      name: ossm3 (1)
    spec:
      namespace: istio-system3 (2)
      values:
        meshConfig:
          discoverySelectors: (3)
            - matchExpressions:
              - key: maistra.io/member-of
                operator: DoesNotExist
      updateStrategy:
        type: InPlace
      version: v1.23.0
    1 不要使用default作为名称。
    2 必须与 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中使用的命名空间不同。此示例使用istio-system3命名空间。
    3 要忽略 OpenShift Service Mesh 2.6 命名空间,请按所示配置discoverySelectors部分。所有其他命名空间都将成为 OpenShift Service Mesh 3.0 网格的一部分。
  5. 部署您的工作负载并通过运行以下命令为命名空间贴上istio.io/rev=ossm3标签

    $ oc label namespace <namespace-name> istio.io/rev=ossm3

    如果您已更改 OpenShift Service Mesh 2.6 中ServiceMeshControlPlane资源中的ServiceMeshMemberRoll中的spec.memberSelectors,则对您的 OpenShift Service Mesh 3.0 工作负载命名空间使用istio-injection=enabled标签。

  6. 通过运行以下命令确认应用程序工作负载由各自的控制平面管理

    $ istioctl ps -i istio-system
    示例输出istio-system
    $ istioctl ps -i istio-system
    NAME                                          CLUSTER        CDS        LDS        EDS        RDS        ECDS         ISTIOD                                          VERSION
    details-v1-7f46897b-88x4l.bookinfo            Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    mongodb-v1-6cf7dc9885-7nlmq.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    mysqldb-v1-7c4c44b9b4-22b57.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    productpage-v1-6f9c6589cb-l6rvg.bookinfo      Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v1-559b64556-f6b4l.bookinfo           Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v2-8ddc4d65c-bztrg.bookinfo           Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    ratings-v2-mysql-cbc957476-m5j7w.bookinfo     Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v1-847fb7c54d-7dwt7.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v2-5c7ff5b77b-5bpc4.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    reviews-v3-5c5d764c9b-mk8vn.bookinfo          Kubernetes     SYNCED     SYNCED     SYNCED     SYNCED     NOT SENT     istiod-install-istio-system-bd58bdcd5-2htkf     1.20.8
    示例输出istio-system3
    $ istioctl ps -i istio-system3
    NAME                                          CLUSTER        CDS                LDS                EDS                RDS                ECDS        ISTIOD                            VERSION
    details-v1-57f6466bdc-5krth.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    productpage-v1-5b84ccdddf-f8d9t.bookinfo2     Kubernetes     SYNCED (2m39s)     SYNCED (2m39s)     SYNCED (2m34s)     SYNCED (2m39s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    ratings-v1-fb764cb99-kx2dr.bookinfo2          Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v1-8bd5549cf-xqqmd.bookinfo2          Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v2-7f7cc8bf5c-5rvln.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0
    reviews-v3-84f674b88c-ftcqg.bookinfo2         Kubernetes     SYNCED (2m40s)     SYNCED (2m40s)     SYNCED (2m34s)     SYNCED (2m40s)     IGNORED     istiod-ossm3-5b46b6b8cb-gbjx6     1.23.0