Menu Close
Settings Close

Language and Page Formatting Options

第5章 EUS から EUS への更新を実行するための準備

基本的な Kubernetes の設計により、マイナーバージョン間のすべての OpenShift Container Platform の更新をシリアル化する必要があります。OpenShift Container Platform 4.8 から 4.9 に更新してから、4.10 に更新する必要があります。OpenShift Container Platform 4.8 から 4.10 に直接更新することはできません。ただし、OpenShift Container Platform 4.8 から 4.9、そして 4.10 への更新以降、2 つの Extended Update Support (EUS) バージョン間で更新を希望する管理者は、コントロールプレーン以外のホストを 1 回再起動するだけで更新できます。

EUS から EUS への更新を試みる際に考慮すべきいくつかの注意事項があります。

  • EUS から EUS への更新は、関連するすべてのバージョン間の更新が stable チャネルで利用可能になった後にのみ提供されます。
  • 奇数のマイナーバージョンへのアップグレード中またはアップグレード後 (ただし、次の偶数のバージョンにアップグレードする前) に問題が発生した場合、これらの問題を修正するには、コントロールプレーン以外のホストが先に進む前に奇数のバージョンへの更新を完了する必要がある場合があります。
  • 中間ステップで一時停止することにより、複数のメンテナーンスウィンドウ中に更新プロセスを完了することができます。ただし、更新全体を 60 日以内に完了するように計画してください。これは、証明書のローテーションに関連するプロセスを含め、通常のクラスター自動化プロセスを確実に完了するために重要です。
  • EUS から EUS への更新手順を開始する前に、少なくとも OpenShift Container Platform 4.8.14 を実行している必要があります。この最小要件を満たしていない場合は、EUS から EUS への更新を試みる前に、以降の 4.8.z に更新してください。
  • RHEL7 ワーカーのサポートは OpenShift Container Platform 4.10 で削除され、RHEL8 ワーカーに置き換えられたため、RHEL7 ワーカーを使用するクラスターでは EUS から EUS への更新は利用できません。
  • ノードコンポーネントは OpenShift Container Platform 4.9 に更新されません。OpenShift Container Platform 4.10 への更新を完了し、すべての Machine Config Pools の更新を有効にするまで、OpenShift Container Platform 4.9 で修正されたすべての機能とバグが利用可能になることを期待しないでください。
  • すべてのクラスターは、プールを一時停止せずに従来の更新に EUS チャネルを使用して更新できますが、プールを一時停止して EUS から EUS への更新を実行できるのは、コントロールプレーン以外の MachineConfigPools オブジェクトを持つクラスターのみです。

5.1. EUS から EUS への更新

次の手順では、マスター以外のすべての MachineConfigPools を一時停止し、OpenShift Container Platform 4.8 から 4.9、そして 4.10 への更新を実行してから、以前に一時停止した MachineConfigPools の一時停止を解除します。この手順に従うと、合計更新期間とワーカーノードが再起動される回数が減ります。

前提条件

  • OpenShift Container Platform 4.9 および 4.10 のリリースノートを確認します
  • 階層化された製品および OLM オペレーターのリリースノートおよび製品ライフサイクルを確認します。EUS から EUS への更新前または更新中に更新が必要になる場合があります。
  • OpenShift Container Platform 4.8 から 4.9 にアップグレードする前に必要な 管理者の確認 など、バージョン固有の前提条件に精通していることを確認してください。
  • クラスターが OpenShift Container Platform バージョン 4.8.14 以降を実行していることを確認します。クラスターが OpenShift Container Platform 4.8.14 より前のバージョンを実行している場合は、4.9 に更新する前に、より新しい 4.8.z バージョンに更新する必要があります。MachineConfigPools を一時停止せずに実行する必要がある最小バージョン要件を満たすには、4.8.14 以降への更新が必要です。
  • MachineConfigPools が一時停止されていないことを確認します。

手順

  1. OLM オペレーターを、更新する両方のバージョンと互換性のあるバージョンにアップグレードします。
  2. すべての MachineConfigPools が UPDATED のステータスを表示し、MachineConfigPools が UPDATING のステータスを表示しないことを確認します。すべての MachineConfigPools のステータスを表示するには、次のコマンドを実行します。

    $ oc get mcp

    出力例

    わかりやすくするために、出力はトリミングされています。

    NAME     CONFIG                                         	UPDATED   UPDATING
    master   rendered-master-ecbb9582781c1091e1c9f19d50cf836c       True  	  False
    worker   rendered-worker-00a3f0c68ae94e747193156b491553d5       True  	  False
  3. 再起動をスキップする MachineConfigPools を一時停止するには、次のコマンドを実行します。

    注記

    マスタープールを一時停止することはできません。

    $ oc patch mcp/worker --type merge --patch '{"spec":{"paused":true}}'
  4. eus-4.10 チャネルに変更し、次のコマンドを実行します。

    $ oc adm upgrade channel eus-4.10
  5. 4.9 に更新するには、次のコマンドを実行します。

    $ oc adm upgrade --to-latest

    出力例

    Updating to latest version 4.9.18

  6. 4.9 の更新が正常に完了したことを確認するには、クラスターのバージョンを取得して、次のコマンドを実行します。

    $ oc get clusterversion

    出力例

    NAME  	  VERSION  AVAILABLE  PROGRESSING   SINCE   STATUS
    version   4.9.18   True       False         6m29s   Cluster version is 4.9.18

  7. 必要に応じて、Web コンソールの管理者パースペクティブを使用して OLM オペレーターをアップグレードします。
  8. 4.10 に更新するには、次のコマンドを実行します。

    $ oc adm upgrade --to-latest
  9. 4.10 の更新が正常に完了したことを確認するには、クラスターのバージョンを取得して、次のコマンドを実行します。

    $ oc get clusterversion

    出力例

    NAME  	  VERSION  AVAILABLE  PROGRESSING   SINCE   STATUS
    version   4.10.1   True       False         6m29s   Cluster version is 4.10.1

  10. 以前に一時停止したすべての MachineConfigPools の一時停止を解除するには、次のコマンドを実行します。

    $ oc patch mcp/worker --type merge --patch '{"spec":{"paused":false}}'
    注記

    プールの一時停止が解除されていない場合、クラスターは将来のマイナーへの更新が許可されず、証明書のローテーションなどの保守タスクが禁止されます。これにより、クラスターは将来の劣化のリスクにさらされます。

  11. 以前に一時停止したプールが更新され、クラスターが 4.10 への更新を完了したことを確認するには、次のコマンドを実行します。

    $ oc get mcp

    出力例

    わかりやすくするために、出力はトリミングされています。

    NAME 	   CONFIG                                            UPDATED     UPDATING
    master   rendered-master-52da4d2760807cb2b96a3402179a9a4c    True  	 False
    worker   rendered-worker-4756f60eccae96fb9dcb4c392c69d497    True 	 False