Container Service for Kubernetes (ACK) マネージドクラスターの自動更新を有効にすると、クラスターのKubernetesバージョンが定期的に自動的に更新されます。 これにより、O&M作業が簡素化されます。 自動更新ポリシーを設定すると、システムは事前に更新スケジュールを自動的に生成し、事前チェックを実行して、クラスターのメンテナンスウィンドウ内でクラスターの制御プレーンを更新します。 これにより、アプリケーション開発に集中することができます。
制限事項
自動更新は、Kubernetes 1.20以降を実行するACKマネージドクラスターに対してのみ有効にできます。
自動アップデートのメリット
ACKは、古いKubernetesバージョンを実行するACKマネージドクラスターの新機能、機能パッチ、またはセキュリティパッチのリリースを停止します。 ACKは、これらのKubernetesバージョンに対して限定的な技術サポートのみ提供します。 詳細については、「古いKubernetesバージョンのリスク」をご参照ください。 セキュリティと安定性を確保するため、ACKでサポートされているKubernetesバージョンを使用することを推奨します。
自動更新により、O&M作業が簡素化されます。 クラスターの自動更新を有効にすると、ACKはクラスターのKubernetesバージョンをACKでサポートされている新しいバージョンに定期的に更新します。 これにより、新しいKubernetesバージョンが提供する新機能を使用できます。
自動更新ポリシー
クラスターに自動更新ポリシーを設定すると、ACKマネージドクラスターでサポートされているポリシーとKubernetesバージョンに基づいて更新スケジュールが自動的に生成されます。 ACKは、更新スケジュールで指定されたメンテナンス期間内にクラスターで更新タスクを実行します。 自動更新ポリシーでメンテナンス期間と更新頻度を設定できます。 クラスターの自動更新を有効にした後、ACKはすぐにはクラスターを更新しません。 即時更新が必要な場合は、クラスターを手動で更新することを推奨します。 詳細については、「手動でACKクラスターをアップグレード」をご参照ください。
ACKは、クラスターが自動的に更新されるか手動で更新されるかにかかわらず、同じ手順を使用してクラスターを更新します。 クラスターの自動更新を有効にした後、クラスターを手動で更新できます。
手動更新または自動更新をロールバックすることはできません。 手動更新の注意事項の詳細については、「クラスターの手動更新」をご参照ください。
メンテナンス窓口
クラスターごとにメンテナンス期間を指定できます。 メンテナンス期間は、クラスターの自動更新およびクラスター内の管理対象ノードプールの自動O&Mに適用されます。 ACKは、指定されたメンテナンスウィンドウに基づいてスケジュールされた更新を自動的に生成し、メンテナンスウィンドウ内で事前チェックと更新タスクを実行します。
更新スケジュールが実装される前にメンテナンスウィンドウを変更すると、ACKはオーケストレーションされたスケジュールをキャンセルします。 クラスターの更新中にメンテナンスウィンドウを変更すると、更新プロセスがキャンセルされます。
クラスターの更新に十分な時間を確保するために、メンテナンス期間を少なくとも2時間に設定することを推奨します。
更新頻度
ビジネス要件に基づいて、さまざまな更新頻度を選択できます。
たとえば、現在のクラスターがバージョン1.26.3-aliyun.1、最新バージョンが1.30、最新バージョンが1.28の場合、次の3つのバージョンに更新できます: 1.26.15-aliyun.1、1.28.9-aliyun.1、および1.30.1-aliyun.1。 次の表に、更新頻度と、クラスターが異なる頻度で自動的にアップグレードする特定のバージョンを示します。
更新頻度 | 説明 | 新しい更新バージョン |
最新のパッチバージョン (パッチ) | 現在のマイナーバージョンでパッチバージョンが使用可能な場合、クラスターは自動的にパッチバージョンに更新されます。 新しいKubernetesバージョンには、大幅な変更は含まれていません。 | 1.26.15-aliyun.1 |
2番目-最新のマイナーバージョン (安定) | 2番目に新しいマイナーバージョンの最新のパッチバージョンに自動的に更新します。 新しいKubernetesバージョンでは、APIと機能の変更が必要になる場合がありますが、その安定性は検証されています。 | 1.28.9-aliyun.1 |
最新のマイナーバージョン (rapid) | 最新のマイナーバージョンの最新パッチバージョンに自動的に更新して、Kubernetesコミュニティが提供する新機能をすばやく取得します。 | 1.30.1-aliyun.1 |
パッチバージョンとマイナーバージョンの詳細については、「バージョンの説明」をご参照ください。
更新スケジュール
クラスターの更新ポリシーを設定すると、ACKはポリシーとACKでサポートされているKubernetesバージョンに基づいてクラスターを更新できるかどうかを自動的にチェックします。 クラスターが要件を満たす場合、ACKは、ACKがスケジュールを実装する少なくとも1日前に更新スケジュールを生成します。 ACKコンソールまたはAPI操作を呼び出すことで、スケジュールを表示できます。 スケジュールはオンデマンドで手動でキャンセルできます。 クラスターの更新スケジュールをキャンセルした後、自動更新機能は無効になりません。 ACKマネージドクラスターの更新スケジュールをキャンセルした後も、ACKはクラスターのメンテナンスウィンドウ内で更新タスクを実行できます。
クラスターの自動更新ポリシーを設定した後、ACKはすぐにはクラスターを更新しません。 ACKは、スケジューリングポリシー全体をチェックし、それに応じて更新スケジュールを生成する。 更新スケジュールが生成された後、ACKは一定期間待機し、更新タスクをバッチで実行します。 更新スケジュールが生成されたら、ListOperationPlans APIを呼び出してスケジュールを表示できます。 ACKコンソールのクラスターの詳細ページに移動し、[O&M Tasks] タブでスケジュールを表示することもできます。
更新の事前チェックの目的は、新しいKubernetesバージョンとKubernetes APIサーバーおよびクラスターコンポーネント間の互換性を確認することです。 クラスターが事前チェックに失敗した場合は、問題を修正する必要があります。 問題が修正された後、ACKは再び事前チェックを実行します。 事前チェックの失敗の詳細は、[クラスターのアップグレード] ページの [履歴] セクションで確認できます。
更新通知
ACKマネージドクラスターの更新プロセスが完了すると、クラスターはテキストメッセージで結果 (失敗の成功) を通知します。
自動更新の有効化
ACKマネージドクラスターの自動更新を有効にすると、ACKはスケジューリングポリシー全体を確認し、メンテナンス期間内に更新タスクを実行します。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。
[クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、 を選択します。
[クラスターのアップグレード] ページで、[自動更新ポリシー] セクションの指示に基づいて、自動更新ポリシーとメンテナンスウィンドウを設定します。
ACKは、自動更新タスクを実行する前に事前チェックを実行します。 クラスターが事前チェックに失敗した場合は、[クラスターのアップグレード] ページに表示される詳細に基づいて問題を修正する必要があります。 クラスターのアップグレードページの [履歴] セクションで、事前チェックの詳細、更新ステータス、更新タスクの詳細を確認できます。
スケジュールはオンデマンドで手動でキャンセルできます。
(オプション) 更新が完了したら、[クラスター] ページでクラスターのKubernetesバージョンを確認し、更新が成功したことを確認できます。
関連ドキュメント
自動更新が要件を満たさない場合は、次の方法を使用してクラスターを手動でアップグレードできます。
ACKコンソールを使用する: クラスターを手動で更新します。
ACK API UpgradeClusterを使用します。
ACK Basicクラスターを使用して本番環境で大規模なサービスを実行する場合、ACK BasicクラスターからACK Proクラスターへのホット移行を実行することを推奨します。 詳細については、「ACK BasicクラスターからACK Proクラスターへのホットマイグレーション」をご参照ください。
既存のACK専用クラスターがあり、コントロールプレーン管理などのACK Proクラスターの機能を使用する場合は、ACK専用クラスターからACK Proクラスターへのホットマイグレーションを実行できます。 詳細については、「ACK専用クラスターからACK Proクラスターへのホットマイグレーション」をご参照ください。
ACKマネージドクラスターでサポートされているKubernetesバージョンとバージョンリストの更新サイクルの詳細については、「Kubernetesバージョンのサポート」をご参照ください。 このトピックでは、各Kubernetesバージョンの説明、更新ノート、新機能、非推奨機能、および非推奨APIを表示することもできます。