6.2. 使用 CLI 更新集群


如果有可用更新,您可以使用OpenShift CLI (oc)更新集群。

您可以在客户门户网站的勘误部分找到有关可用 OpenShift Container Platform 公告和更新的信息。

先决条件

  • 安装与更新版本的版本匹配的 OpenShift CLI(oc)。
  • 使用具有 cluster-admin 权限的用户登陆到集群。
  • 安装jq软件包。

流程

  1. 确认集群可用:

    $ oc get clusterversion

    输出示例

    NAME      VERSION   AVAILABLE   PROGRESSING   SINCE   STATUS
    version   4.6.9     True        False         158m    Cluster version is 4.6.9

  2. 检查当前的更新频道信息,并确认您的频道已设置为stable-4.8

    $ oc get clusterversion -o json|jq ".items[0].spec"

    输出示例

    {
      "channel": "stable-4.8",
      "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff"
    }

    重要

    对于生产环境中的集群,需要订阅到 stable-*fast-* 频道。

  3. 查看可用更新,记录下要应用的更新的版本号:

    $ oc adm upgrade

    输出示例

    Cluster version is 4.1.0
    
    Updates:
    
    VERSION IMAGE
    4.1.2   quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b

  4. 应用更新:

    • 要更新到最新版本:

      $ oc adm upgrade --to-latest=true 1
    • 要更新到一个特定版本:

      $ oc adm upgrade --to=<version> 1
      1 1
      <version>是从上一个命令输出中获取的更新版本。
  5. 查看 Cluster Version Operator 的状态:

    $ oc get clusterversion -o json|jq ".items[0].spec"

    输出示例

    {
      "channel": "stable-4.8",
      "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff",
      "desiredUpdate": {
        "force": false,
        "image": "quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b",
        "version": "4.8.0" 1
      }
    }

    1
    如果desiredUpdate中的version值与您指定的值匹配,则更新正在进行中。
  6. 查看集群版本状态历史记录以监控更新的状态。这可能需要一些时间才能完成对所有对象的更新。

    $ oc get clusterversion -o json|jq ".items[0].status.history"

    输出示例

    [
      {
        "completionTime": null,
        "image": "quay.io/openshift-release-dev/ocp-release@sha256:b8fa13e09d869089fc5957c32b02b7d3792a0b6f36693432acc0409615ab23b7",
        "startedTime": "2021-01-28T20:30:50Z",
        "state": "Partial",
        "verified": true,
        "version": "4.8.0"
      },
      {
        "completionTime": "2021-01-28T20:30:50Z",
        "image": "quay.io/openshift-release-dev/ocp-release@sha256:b8fa13e09d869089fc5957c32b02b7d3792a0b6f36693432acc0409615ab23b7",
        "startedTime": "2021-01-28T17:38:10Z",
        "state": "Completed",
        "verified": false,
        "version": "4.8.0"
      }
    ]

    历史记录包含了应用于集群的最新版本的列表。当CVO应用更新时,此值将会被相应更新。该列表按日期排序,最新的更新会在列表中第一个显示。如果历史信息中的更新状态为 Completed,则表示部署已完成;如果状态为 Partial,则表示更新失败或还未完成。

  7. 更新完成后,可以通过以下方法确认集群已更新为新版本:

    $ oc get clusterversion

    输出示例

    NAME      VERSION     AVAILABLE   PROGRESSING   SINCE     STATUS
    version   4.8.0       True        False         2m        Cluster version is 4.8.0

  8. 如果您要将集群升级到下一个次版本,如从 4.y 升级到 4.(y+1),建议在部署依赖新功能的工作负载前确认您的节点已升级:

    $ oc get nodes

    输出示例

    NAME                           STATUS   ROLES    AGE   VERSION
    ip-10-0-168-251.ec2.internal   Ready    master   82m   v1.21.0
    ip-10-0-170-223.ec2.internal   Ready    master   82m   v1.21.0
    ip-10-0-179-95.ec2.internal    Ready    worker   70m   v1.21.0
    ip-10-0-182-134.ec2.internal   Ready    worker   70m   v1.21.0
    ip-10-0-211-16.ec2.internal    Ready    master   82m   v1.21.0
    ip-10-0-250-100.ec2.internal   Ready    worker   69m   v1.21.0

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.