3.3. 使用 CLI 更新集群
如果有可用更新,您可以使用OpenShift CLI (oc
)更新集群。
您可以在客户门户网站的勘误部分找到有关可用的OpenShift Container Platform公告和更新的信息。
先决条件
-
安装与更新版本的版本相匹配的OpenShift命令行界面(CLI)版本(通常称为
oc
)。 -
使用具有
cluster-admin
权限的用户登陆到集群。 -
安装
jq
软件包。
流程
确认集群可用
$ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.2.0 True False 158m Cluster version is 4.2.0
检查当前的更新频道信息,并确认您的频道已设置为
stable-4.2
:$ oc get clusterversion -o json|jq ".items[0].spec" { "channel": "stable-4.2", "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff", "upstream": "https://api.openshift.com/api/upgrades_info/v1/graph" }
重要对于生产环境集群,您必须订阅一个
stable-*
频道。查看可用更新,记录下要应用的更新的版本号:
$ oc adm upgrade Cluster version is 4.1.0 Updates: VERSION IMAGE 4.1.2 quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b
应用更新:
查看 Cluster Version Operator 的状态:
$ oc get clusterversion -o json|jq ".items[0].spec" { "channel": "stable-4.2", "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff", "desiredUpdate": { "force": false, "image": "quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b", "version": "4.2.1" 1 }, "upstream": "https://api.openshift.com/api/upgrades_info/v1/graph" }
- 1
- 如果
desiredUpdate
中的version
值与您指定的值匹配,则更新正在进行中。
查看集群版本状态历史记录以监控更新的状态。这可能需要一些时间才能完成对所有对象的更新。
$ oc get clusterversion -o json|jq ".items[0].status.history" [ { "completionTime": null, "image": "quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b", "startedTime": "2019-06-19T20:30:50Z", "state": "Partial", "verified": true, "version": "4.1.2" }, { "completionTime": "2019-06-19T20:30:50Z", "image": "quay.io/openshift-release-dev/ocp-release@sha256:b8307ac0f3ec4ac86c3f3b52846425205022da52c16f56ec31cbe428501001d6", "startedTime": "2019-06-19T17:38:10Z", "state": "Completed", "verified": false, "version": "4.1.0" } ]
历史记录包含了应用于集群的最新版本的列表。当CVO应用更新时,此值将会被相应更新。该列表按日期排序,最新的更新会在列表中第一个显示。如果历史信息中的更新状态为
Completed
,则表示部署已完成;如果状态为Partial
,则表示更新失败或还未完成。重要如果升级失败,Operator 将停止操作并报告故障组件的状态。当前还不支持将集群还原到以前的版本。如果升级失败,请联系红帽支持。
更新完成后,可以通过以下方法确认集群已更新为新版本:
$ oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.1.2 True False 2m Cluster version is 4.1.2