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