7.4. CLI を使用したクラスターの更新
更新が利用可能な場合、OpenShift CLI (oc
) を使用してクラスターを更新できます。
利用可能な OpenShift Container Platform アドバイザリーおよび更新については、カスタマーポータルの エラータ のセクションを参照してください。
前提条件
-
お使いの更新バージョンのバージョンに一致する OpenShift CLI (
oc
) をインストールします。 -
cluster-admin
権限を持つユーザーとしてクラスターにログインします。 -
jq
パッケージをインストールします。 -
すべての
MachineHealthCheck
リソースを一時停止します。
手順
クラスターが利用可能であることを確認します。
$ oc get clusterversion
出力例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.8.13 True False 158m Cluster version is 4.8.13
現在の更新チャネル情報を確認し、チャネルが
stable-4.9
に設定されていることを確認します。$ oc get clusterversion -o json|jq ".items[0].spec"
出力例
{ "channel": "stable-4.9", "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff" }
重要実稼働クラスターの場合は、
stable-*
、eus-*
またはfast-*
チャネルにサブスクライブする必要があります。利用可能な更新を確認し、適用する必要のある更新のバージョン番号をメモします。
$ oc adm upgrade
出力例
Cluster version is 4.8.13 Updates: VERSION IMAGE 4.9.0 quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b
更新を適用します。
クラスターバージョン Operator を確認します。
$ oc get clusterversion -o json|jq ".items[0].spec"
出力例
{ "channel": "stable-4.9", "clusterID": "990f7ab8-109b-4c95-8480-2bd1deec55ff", "desiredUpdate": { "force": false, "image": "quay.io/openshift-release-dev/ocp-release@sha256:9c5f0df8b192a0d7b46cd5f6a4da2289c155fd5302dec7954f8f06c878160b8b", "version": "4.9.0" 1 } }
- 1
desiredUpdate
スタンザのversion
番号が指定した値と一致する場合、更新は進行中です。
クラスターバージョン履歴で、更新のステータスをモニターします。すべてのオブジェクトの更新が終了するまでに時間がかかる可能性があります。
$ 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.9.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.13" } ]
履歴には、クラスターに適用された最新バージョンの一覧が含まれます。この値は、CVO が更新を適用する際に更新されます。この一覧は日付順に表示され、最新の更新は一覧の先頭に表示されます。履歴の更新には、ロールアウトが完了した場合には
Completed
と表示され、更新が失敗したか、または完了しなかった場合にはPartial
と表示されます。更新が完了したら、クラスターのバージョンが新たなバージョンに更新されていることを確認できます。
$ oc get clusterversion
出力例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.9.0 True False 2m Cluster version is 4.9.0
注記PROGRESSING
ステータスがTrue
のときにoc get clusterversion
コマンドで次のエラーが表示された場合は、エラーを無視できます。NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.10.26 True True 24m Unable to apply 4.11.0-rc.7: an unknown error has occurred: MultipleErrors
バージョン 4.y から 4.(y+1) などの次のマイナーバージョンにクラスターを更新する場合、新たな機能に依存するワークロードをデプロイする前にノードがアップグレードされていることを確認することが推奨されます。
$ oc get nodes
出力例
NAME STATUS ROLES AGE VERSION ip-10-0-168-251.ec2.internal Ready master 82m v1.22.1 ip-10-0-170-223.ec2.internal Ready master 82m v1.22.1 ip-10-0-179-95.ec2.internal Ready worker 70m v1.22.1 ip-10-0-182-134.ec2.internal Ready worker 70m v1.22.1 ip-10-0-211-16.ec2.internal Ready master 82m v1.22.1 ip-10-0-250-100.ec2.internal Ready worker 69m v1.22.1