3.4. 使用命名空间标签和 IstioRevisionTag 资源启用 sidecar 注入


要在您的修订名称 没有默认值 时使用 istio-injection=enabled 标签,您必须使用引用 Istio 资源的名称创建一个 IstioRevisionTag 资源。

先决条件

  • 已安装 Red Hat OpenShift Service Mesh Operator,创建一个 Istio 资源,Operator 已部署 Istio。
  • 您已创建了 IstioCNI 资源,Operator 已部署必要的 IstioCNI pod。
  • 您已创建了作为网格一部分的命名空间,它们可以被 Istio control plane 发现。
  • 可选: 您已部署了要包含在网格中的工作负载。在以下示例中,Bookinfo 已部署到 info 命名空间中,但 sidecar 注入(在"部署 Bookinfo 应用程序"过程中的第 5 步)。如需更多信息,请参阅"部署 Bookinfo 应用程序"。

流程

  1. 运行以下命令查找 Istio 资源的名称:

    $ oc get istio

    输出示例

    NAME      REVISIONS   READY   IN USE   ACTIVE REVISION   STATUS    VERSION   AGE
    default   1           1       1        default-v1-24-3   Healthy   v1.24.3   11s

    在本例中,Istio 资源的名称 默认为,但底层修订版本名为 default-v1-24-3

  2. 在 YAML 文件中创建 IstioRevisionTag 资源:

    IstioRevistionTag 资源 YAML 文件示例

    apiVersion: sailoperator.io/v1
    kind: IstioRevisionTag
    metadata:
      name: default
    spec:
      targetRef:
        kind: Istio
        name: default

  3. 运行以下命令来应用 IstioRevisionTag 资源:

    $ oc apply -f istioRevisionTag.yaml
  4. 运行以下命令验证 IstioRevisionTag 资源是否已成功创建:

    $ oc get istiorevisiontags.sailoperator.io

    输出示例

    NAME      STATUS    IN USE   REVISION          AGE
    default   Healthy   True     default-v1-24-3   4m23s

    在本例中,新标签引用您的活跃修订 default-v1-24-3。现在,您可以使用 istio-injection=enabled 标签,就如同您的修订版本被称为 默认

  5. 运行以下命令确认 pod 在没有 sidecar 的情况下运行。任何已在所需命名空间中运行的工作负载都应在 READY 列中显示 1/1 容器。

    $ oc get pods -n info

    输出示例

    NAME                             READY   STATUS    RESTARTS   AGE
    details-v1-65cfcf56f9-gm6v7      1/1     Running   0          4m55s
    productpage-v1-d5789fdfb-8x6bk   1/1     Running   0          4m53s
    ratings-v1-7c9bd4b87f-6v7hg      1/1     Running   0          4m55s
    reviews-v1-6584ddcf65-6wqtw      1/1     Running   0          4m54s
    reviews-v2-6f85cb9b7c-w9l8s      1/1     Running   0          4m54s
    reviews-v3-6f5b775685-mg5n6      1/1     Running   0          4m54s

  6. 运行以下命令,将注入标签应用到 info 命名空间:

    $ oc label namespace info istio-injection=enabled \
    namespace/info labeled
  7. 要确保应用 sidecar 注入,请运行以下命令重新部署 info 命名空间中的工作负载:

    $ oc -n info rollout restart deployments

验证

  1. 运行以下命令,并确认新 pod 在 READY 列中显示 2/2 容器,以验证推出部署:

    $ oc get pods -n info

    输出示例

    NAME                              READY   STATUS    RESTARTS   AGE
    details-v1-7745f84ff-bpf8f        2/2     Running   0          55s
    productpage-v1-54f48db985-gd5q9   2/2     Running   0          55s
    ratings-v1-5d645c985f-xsw7p       2/2     Running   0          55s
    reviews-v1-bd5f54b8c-zns4v        2/2     Running   0          55s
    reviews-v2-5d7b9dbf97-wbpjr       2/2     Running   0          55s
    reviews-v3-5fccc48c8c-bjktn       2/2     Running   0          55s

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部