第 4 章 更新 Istio CNI


查看 Istio Container Network Interface (CNI)的更新过程。确保 CNI 插件在升级过程中与 OpenShift Service Mesh control plane 兼容。

4.1. 关于 Istio CNI 更新过程

Istio Container Network Interface (CNI)更新过程使用 Inplace 更新。当 IstioCNI 资源更改时,daemonset 会自动将现有 istio-cni-node pod 替换为 CNI 插件的指定版本。

您可以使用以下字段管理版本更新:

spec.version
定义要安装的 CNI 插件版本。以 vX.Y.Z 格式指定值,其中 X.Y.Z 代表所需的版本。例如,使用 v1.27.3 安装 CNI 插件版本 1.27.3

要更新 CNI 插件,请使用目标版本更改 spec.version 字段。IstioCNI 资源还包含一个 values 字段,用于公开 istio-cni 图表中的配置选项。

在 ambient 模式中,Istio CNI 组件管理流量重定向。在基于 Revision 的升级过程中,组件与 control plane 的旧版本兼容,并在迁移过程中继续管理旧和新的 control plane 的流量重定向。

注意

Istio CNI 与运行相同次版本或更高版本的 control plane 兼容。

更新 Istio control plane 后,更新 Istio CNI 组件。OpenShift Service Mesh Operator 部署 CNI 插件的新版本,替换现有的插件。istio-cni-node DaemonSet pod 使用滚动更新策略更新,确保流量重定向规则在整个更新过程中保持活跃状态。

4.1.1. 更新 Istio CNI 资源版本

您可以通过更改资源中的版本来更新 Istio Container Network Interface (CNI)资源版本。然后,Service Mesh Operator 部署了一个 CNI 插件的新版本,该插件替换了 CNI 插件的旧版本。istio-cni-node pod 会自动重新连接到新的 CNI 插件。

先决条件

  • 以具有 cluster-admin 角色的用户身份登录到 OpenShift Container Platform。
  • 已安装 Red Hat OpenShift Service Mesh Operator 并部署了 Istio。
  • 您已使用所需版本安装了 Istio CNI 插件。在以下示例中,名为 defaultIstioCNI 资源部署在 istio-cni 命名空间中。
  • 您已将 Istio control plane 更新至所需的版本(用于 Inplace 策略),或创建一个新的 control plane 修订版本(用于 基于 Revision 的策略)。

流程

  1. 更改 Istio 资源中的版本。例如,要升级到 Istio 1.27.3,请运行以下命令将 spec.version 字段设置为 1.27.3

    $ oc patch istiocni default -n istio-cni --type='merge' -p '{"spec":{"version":"v1.27.3"}}'
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,等待 IstioCNI DaemonSet 在更新后进入 Ready 状态:

    $ oc wait --for=condition=Ready istiocnis/default --timeout=5m
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令确认 CNI 插件的新版本已就绪:

    $ oc get istiocni default
    Copy to Clipboard Toggle word wrap

    您应该看到类似以下示例的输出:

    NAME      READY   STATUS    VERSION   AGE
    default   True    Healthy   v{istio-latest}   7d1h
    Copy to Clipboard Toggle word wrap
  4. 运行以下命令,检查 pod 的状态:

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

    您应该看到类似以下示例的输出:

    NAME                   READY   STATUS    RESTARTS   AGE
    istio-cni-node-abc12   1/1     Running   0          3m
    istio-cni-node-def34   1/1     Running   0          3m
    istio-cni-node-ghi56   1/1     Running   0          3m
    Copy to Clipboard Toggle word wrap
注意

当您使用 RevisionBased 策略时,Istio CNI 组件会与很多 control plane 版本兼容。它继续管理整个迁移中旧和新的 control plane 的流量重定向。Istio CNI 与运行相同次版本或更高版本的 control plane 兼容。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat