2.2. 预迁移检查列表


开始前

重要

您必须完成以下清单,然后才能开始迁移部署和工作负载。

2.2.1. 禁用附加组件并重新配置替换

  • kuryr 在 ServiceMeshControlPlane 资源中禁用 Prometheus: spec.addons.prometheus.enabled=false

  • ServiceMeshControlPlane 资源: spec.tracing.type=None禁用追踪

  • ServiceMeshControlPlane 资源中禁用 Kiali: spec.addons.kiali.enabled=false

    • <.> 如果您没有创建独立 Kiali 资源作为 Prometheus 或追踪的一部分,请参阅"使用红帽提供的 Kiali Operator"。

2.2.2. migrate 以明确管理的路由

自动路由创建(也称为 Istio OpenShift Routing (IOR))是一个弃用的功能,对于使用 OpenShift Service Mesh 2.5 及之后的版本创建的任何 ServiceMeshControlPlane 资源默认禁用。要从 OpenShift Service Mesh 2 移到 OpenShift Service Mesh 3,您需要从 IOR 迁移到明确管理的路由。

如果您已移至 OpenShift Service Mesh 2 中明确管理的路由,则继续注入网关。

2.2.3. 迁移到网关注入

网关由 OpenShift Service Mesh 2 中的 ServiceMeshControlPlane (SMCP)资源控制。OpenShift Service Mesh 3 control plane 不管理网关,因此您必须从 SMCP-Defined 网关迁移到网关注入。

2.2.4. 禁用网络策略管理

如果您在迁移过程中不希望网络策略:

  • ipahealthcheck 禁用 OpenShift Service Mesh 2 ServiceMeshControlPlane 资源中的网络策略管理: spec.security.manageNetworkPolicy=false
  • ipahealthcheck 完成剩余清单。
  • BLUEPRINT 迁移您的部署和工作负载。
  • 如果您要在迁移工作负载后手动重新创建网络策略。

如果您希望在迁移过程中放置网络策略:

  • kuryr 手动设置要在迁移期间使用的网络策略
  • ipahealthcheck 禁用 OpenShift Service Mesh 2 ServiceMeshControlPlane 资源中的网络策略管理: spec.security.manageNetworkPolicy=false
  • ipahealthcheck 完成剩余清单。
  • BLUEPRINT 迁移您的部署和工作负载。

2.2.5. 在 OpenShift Service Mesh 2 中禁用 Grafana

OpenShift Service Mesh 3 不支持 Grafana,且必须在 OpenShift Service Mesh 2 ServiceMeshControlPlane 中禁用。

  • ipahealthcheck 在 OpenShift Service Mesh 2 ServiceMeshControlPlane:spec.addons.grafana.enabled=false 中禁用 Grafana。

2.2.6. 资源文件示例

完成预迁移步骤后,您的 OpenShift Service Mesh 2 资源可能类似以下示例:

2.2.6.1. ServiceMeshControlPlane 资源文件

ServiceMeshControlPlane 资源示例

apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
  namespace: istio-system
spec:
  version: v2.6 
1

  security: 
2

    manageNetworkPolicy: false
  addons: 
3

    grafana:
      enabled: false
    kiali:
      enabled: false
    prometheus:
      enabled: false
  meshConfig: 
4

    extensionProviders:
      - name: prometheus
        prometheus: {}
      - name: otel
        opentelemetry:
          port: 4317
          service: otel-collector.istio-system.svc.cluster.local
  gateways: 
5

    enabled: false
    openshiftRoute:
      enabled: false
  mode: MultiTenant 
6

  tracing: 
7

    type: None
Copy to Clipboard Toggle word wrap

1
ServiceMeshControlPlane 资源更新至最新的 OpenShift Service Mesh 版本。
2
禁用网络策略管理。
3
禁用 addons 小节中的所有资源。
4
您的 ServiceMeshControlPlane 资源被配置为使用外部指标和追踪供应商。
5
禁用受管网关。
6
设置为 MultiTenantClusterWide
7
禁用追踪。

2.2.6.2. Telemetry 资源文件

遥测 资源文件位于 root 命名空间中。以下示例使用 istio-system 作为 root 命名空间。

Telemetry 资源示例

apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  metrics: 
1

    - providers:
        - name: prometheus
  tracing: 
2

    - providers:
        - name: otel
Copy to Clipboard Toggle word wrap

1
指定您的指标供应商。name 字段必须与 spec.meshConfig.extensionProviders 字段中在 ServiceMeshControlPlane 资源中指定的内容匹配。
2
指定 yur tracing 供应商。name 字段必须与 spec.meshConfig.extensionProviders 字段中在 ServiceMeshControlPlane 资源中指定的内容匹配。

2.2.6.3. Kiali 资源文件

Kiali 资源示例

apiVersion: kiali.io/v1alpha1
kind: Kiali
metadata:
  name: kiali
  namespace: istio-system
spec:
  version: default 
1

  external_services:
    prometheus: 
2

      auth:
        type: bearer
        use_kiali_token: true
      thanos_proxy:
        enabled: true
      url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
    tracing: 
3

      enabled: true
      provider: tempo
      use_grpc: false
      internal_url: http://tempo-sample-query-frontend.tempo:3200
      external_url: https://tempo-sample-query-frontend-tempo.apps-crc.testing
    grafana: 
4

      enabled: false
Copy to Clipboard Toggle word wrap

1
如果在更新 Kiali 前安装 OpenShift Service Mesh 3,您可以使用 version 参数的默认值。默认版本与 2.6 和 3.0 control plane 兼容。
2
将 Kiali 配置为使用外部 Prometheus。
3
将 Kiali 配置为使用外部追踪存储。
4
禁用 Grafana 配置。OpenShift Service Mesh 3.0 不支持 Grafana。

2.2.7. 查找部署模型

运行以下命令来查找部署模型:

oc get smcp <smcp-name> -n <smcp-namespace> -o jsonpath='{.spec.mode}'
Copy to Clipboard Toggle word wrap
注意

如果您没有为 ServiceMeshControlPlane 资源中的 .spec.mode 参数设置值,则部署是多租户的。

2.2.8. 根据您的部署模型迁移

如果您没有将 cert-manager 工具用于部署,则已准备好迁移部署。

如果您不确定,您可以检查是否在您的部署中使用了 cert-manager 工具。

2.2.9. 将 cert-manager 工具用于您的部署

您必须检查您的部署是否使用 cert-manager 工具。如果您在 OpenShift Service Mesh 2 中使用 cert-manager 工具,则必须在开始迁移部署和工作负载前执行额外的配置。

流程

  1. 使用以下方法之一检查您在部署中使用 cert-manager 工具:

    1. 检查 ServiceMeshControlPlane 资源,以验证 spec.security.certificateAuthority.type 参数设置为 cert-manager

      apiVersion: maistra.io/v2
      kind: ServiceMeshControlPlane
      metadata:
        name: basic
        namespace: istio-system
      spec:
        ...
        security:
          certificateAuthority:
            cert-manager:
              address: cert-manager-istio-csr.istio-system.svc:443
            type: cert-manager
          dataPlane:
            mtls: true
          identity:
            type: ThirdParty
          manageNetworkPolicy: false
      Copy to Clipboard Toggle word wrap
    2. 运行以下命令,以验证 spec.security.certificateAuthority.type 参数设置为 cert-manager

      oc get smcp <smcp-name> -n <smcp-namespace> -o jsonpath='{.spec.security.certificateAuthority.type}'
      Copy to Clipboard Toggle word wrap

      输出示例

      cert-manager
      Copy to Clipboard Toggle word wrap

使用 cert-manager 工具迁移的后续步骤

在开始迁移部署前,您必须先完成一些配置。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat