ACK は、新機能、最適化、バグ修正を提供する新しいオペレーティングシステムイメージバージョンを定期的にリリースします。ノードプールのオペレーティングシステムイメージバージョンを速やかにアップグレードする必要があります。また、必要に応じてオペレーティングシステムのタイプを切り替えることもできます。たとえば、サポート終了 (EOL) に達したオペレーティングシステムをサポートされているものに置き換えることができます。
オペレーティングシステムのタイプ、ACK がサポートする最新のイメージバージョン、および一部のオペレーティングシステムの制限事項の詳細については、「OS イメージのリリースノート」をご参照ください。
注意事項
この操作は、ノードのシステムディスクを置き換えることによって、バッチでオペレーティングシステムを更新します。重要なデータはシステムディスクに保存しないでください。または、事前にデータをバックアップしてください。データディスクはアップグレード中に影響を受けません。この操作はオフピーク時に実行することをお勧めします。
システムディスクを置き換えてノードをアップグレードすると、ACK はノードをドレインします。これにより、Pod Disruption Budget (PDB) に従って、Pod が他の利用可能なノードに退避されます。高可用性を確保するには、マルチレプリカのデプロイメント戦略を使用して、複数のノードにワークロードを分散します。また、重要なサービスには PDB を構成して、同時に中断できる Pod の数を制御する必要があります。
ノードのドレインのデフォルトのタイムアウトは 30 分です。タイムアウト期間内に Pod の移行が完了しない場合、ACK はサービスの安定性を確保するためにアップグレードを停止します。
システムディスクを置き換えてノードをアップグレードすると、ACK は現在のノードプールの構成に基づいてノードを再初期化します。これには、ノードのログイン方法、ラベル、Taint、オペレーティングシステムイメージ、およびランタイムバージョンが含まれます。通常、ノードプールの構成はノードプールの編集によって更新します。他の方法でノードを変更した場合、アップグレードによってそれらの変更は上書きされます。
ノード上の Pod がシステムディスクを指す HostPath を参照している場合、システムディスクを置き換えるアップグレードの後、HostPath ディレクトリ内のデータは失われます。
SWAP パーティションの有効化や、コマンドラインからの kubelet またはランタイム構成の変更など、クラスターの構成を変更した場合、クラスターのアップグレードが失敗したり、カスタム構成が上書きされたりする可能性があります。
一部の ACK オペレーティングシステムは、デフォルトで cgroup v2 を使用します。cgroup v2 の注意事項の詳細については、「cgroup バージョン」をご参照ください。
ノードプールによって管理されていないワーカーノードであるスタンドアロンノードがある場合は、それらをノードプールに移行する必要があります。詳細については、「スタンドアロンノードをノードプールに移行する」をご参照ください。
ContainerOS 3.4.0 では、システムディスクは読み取り専用モードに設定されています。システムが起動できるようにするには、データディスクをアタッチする必要があります。したがって、ContainerOS 3.4 以降のバージョンにアップグレードする場合は、以下の手順に従ってください。他のバージョンは影響を受けません。
バージョン番号を指定してノードプール内のノードの GPU ドライバーバージョンをカスタマイズするか、OSS URL を使用する場合、OS イメージをアップグレードした後にオペレーティングシステムとドライバーのバージョンに互換性がなくなる可能性があります。「ACK でサポートされている NVIDIA ドライバーのバージョン」をご参照いただき、最新の互換性のあるドライバーを選択してください。
手順
以下の手順に従って、オペレーティングシステムイメージを最新バージョンに更新するか、オペレーティングシステムのタイプを置き換えます。互換性のリスクを回避するために、まず事前チェックスキャンを実行してください。
ACK コンソールにログインします。左側のナビゲーションウィンドウで、[クラスター] をクリックします。
クラスター ページで、管理するクラスターを見つけてその名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
ノードプール リストで、ターゲットノードプールを見つけ、[アクション] 列で
> [オペレーティングシステムの置き換え] を選択します。[事前チェック] をクリックして、オペレーティングシステムイメージの置き換えに伴う潜在的なリスクをスキャンし、チェック結果を表示します。
正常: 事前チェックは成功しました。次のステップに進むことができます。
異常: クラスターの現在の実行ステータスは影響を受けません。推奨されるソリューションに従って問題を修正してください。
事前チェックが成功したら、次の表の説明に従ってパラメーターを構成し、[置き換えの開始] をクリックします。
設定項目
説明
ターゲットバージョン
ターゲットのイメージとバージョンを選択します。
現在のバージョン
現在のオペレーティングシステムのバージョン。
ノードの更新
オペレーティングシステムを置き換えるノードを指定します。すべてのノードまたは一部のノードを選択できます。
警告レベルのチェック項目を無視
ノードプールレベルで警告レベルのチェック項目を無視してアップグレードを続行するかどうかを指定します。警告レベルのチェック項目の例として、ノードプール内の Pod がシステムディスクを指す HostPath を使用している場合があります。
バッチ置き換えポリシー
バッチごとの最大ノード数
システムは、指定された同時ノードの最大数に基づいて、ノードを順番に更新します。
自動一時停止ポリシー
ノード上のオペレーティングシステムの置き換えを一時停止するポリシー。
バッチ間の間隔
自動一時停止ポリシーを [一時停止しない] に設定した場合、バッチ間の間隔を指定できます。有効な値: 5 ~ 120 分。
自動スナップショット
アップグレードは、システムディスクを置き換えることによって実行されます。ノードのシステムディスクに重要なビジネスデータが含まれている場合は、オペレーティングシステムを更新する前に、ノードのスナップショットを作成します。これにより、データをバックアップおよび復元できます。スナップショットを使用すると、スナップショット料金が発生します。アップグレード後にスナップショットが不要になった場合は、速やかに削除してください。
重要オペレーティングシステムを置き換える際の互換性のリスクを回避するには、「OS イメージのリリースノート」をご参照ください。
リファレンス
ノードプールの kubelet およびコンテナーランタイムのバージョンをアップグレードする方法の詳細については、「ノードプールのアップグレード」をご参照ください。
システムディスクを置き換えてノードをアップグレードする手順とロジックの詳細については、「リファレンス: インプレースアップグレードとシステムディスクの置き換えによるアップグレード」をご参照ください。