システムの安定性およびセキュリティを向上させるため、ContainerOS 3.4 以降ではシステムディスクが読み取り専用となります。したがって、ノードを ContainerOS 3.4.0 以降のバージョンにアップグレードする際は、ノードプールにデータディスクをアタッチして、システムの起動および正常な動作を確保する必要があります。
業務継続性を確保するため、アップグレード手順は以下の 2 つの主要ステップで構成されます:
-
ノードプールのスケールアウト:既存のノードプールを編集し、想定ノード数 を増加させることで新しいノードを作成し、データディスク や オペレーティングシステム などの設定を更新します。
-
ノードプールのスケールイン:新しいノードが正常に稼働した後、以前のバージョンの ContainerOS を実行している元のノードを段階的に削除します。
注意事項
最新版の ContainerOS には、以下の制限事項があります:
ステップ 1:ノードプールの編集とスケールアウト
ACK クラスター ページで、ご利用のクラスター名をクリックします。左側のナビゲーションウィンドウで、 をクリックします。
-
アクション 列で、対象のノードプールの 編集 をクリックし、以下の主要設定を調整します。
すべての設定について詳しくは、「ノードプールの作成と管理」をご参照ください。
-
オペレーティングシステム:新しい ContainerOS バージョンを選択します。
-
データディスク:元のノードプールにデータディスクがない場合は、必ず追加してください。このディスクには一時ファイル、ログキャッシュなど、システムがランタイムで必要とするデータが格納されます。ビジネス要件に応じて、クラウドディスクのタイプおよび容量を選択します。
-
-
アクション 列で、対象のノードプールの スケール をクリックします。想定ノード数 を、現在のノードプール内のノード数の 2 倍に設定します。
たとえば、ノードプールに現在 3 台のノードがある場合、値を 6 に設定します。これにより、トランジション期間中に新規ノードと元のノードが共存できます。
-
設定を送信し、スケールアウトの完了を待ちます。
ノードプールの更新が完了したら、ノードプール名をクリックして ノード タブに移動します。システムが自動的に、更新された設定で新規ノードをデプロイします。OS バージョンを確認することで、新規ノードを識別できます。
ステップ 2:元のノードの削除
すべての新規ノードが準備完了し、サービストラフィックを処理できるようになった後、以前のバージョンの ContainerOS を実行している元のノードを段階的に削除します。
-
ノード管理ページで古いノードを選択し、ページ下部の 削除 をクリックします。
重要リスクを最小限に抑えるため、元のノードを 1 台ずつ削除することを推奨します。各ノードを削除した後は、クラスターの健全性およびサービス可用性をモニターします。クラスターが安定していることを確認したうえで、次のノードの削除に進んでください。
-
ノードを削除 ダイアログボックスで、画面上の指示に従ってノードを削除します。
ノードの削除について詳しくは、「ノードの削除」をご参照ください。
-
ノードのドレイン を選択した場合:システムが自動的にそのノード上の Pod を他の利用可能なノードへエビクト(退避)します。これにより、サービス継続性が確保されます。
-
ECS インスタンスのリリース を選択した場合:
-
従量課金インスタンス:ノード削除時に、対応する ECS インスタンスがリリースされます。これにより、リソースの無駄を防止できます。
-
サブスクリプションインスタンス:ノードを削除した後、有効期限が切れる前に ECS インスタンスをリリースするために返金申請を行うか、またはサブスクリプションインスタンスを従量課金インスタンスに変換してからリリースできます。
-
-
-
この手順を繰り返し、ノードプールからすべての元のノードを削除します。