AKS クラスター ライフサイクルの一部には、最新の Kubernetes バージョンへの定期的なアップグレードの実行が含まれます。 最新の機能を取得するには、最新のセキュリティ リリースを適用するか、アップグレードすることが重要です。 自動アップグレードについて学習する前に、 AKS クラスターのアップグレードの基礎を理解しておく必要があります。
Tip
AKS 自動を使用している場合、クラスターのアップグレードは安定したチャネルを使用するように事前構成されており、マイナー バージョン N-1 (N はサポートされている最新バージョン) の最新のパッチに自動的にアップグレードされます。 構成は必要ありません。 特定のメンテナンス要件を持つ AKS 自動クラスターの場合は、計画メンテナンス期間を設定できます。 詳細については、「Azure Kubernetes Service (AKS)自動とは」を参照してください。AKS Standard クラスターの場合は、引き続きお読みください。要件に最も適したチャネルを選択してください。
Note
手動と自動どちらであっても、アップグレード操作を実行すると、ノード イメージが最新バージョンではない場合、ノード イメージがアップグレードされます。 最新バージョンは完全な AKS リリースに依存しており、AKS リリース トラッカーにアクセスすることで特定できます。
Autoupgrade は、最初にコントロール プレーンをアップグレードしてから、エージェント プールを 1 つずつアップグレードします。
クラスターの自動アップグレードを使用する理由
クラスターの自動アップグレードでは、設定すればそれで安心 のメカニズムが提供され、その結果、時間と運用コストにおける具体的な利点が得られます。 ワークロードの停止、ワークロードの再デプロイ、新しい AKS クラスターの作成は、いずれも実行する必要がありません。 自動アップグレードを有効にすると、クラスターが最新の状態に保たれ、AKS とアップストリーム Kubernetes の最新の機能やパッチを見逃さないようにすることができます。
AKS 自動クラスターの場合、この利点は組み込まれています。クラスターの自動アップグレードは、安定したチャネルを使用して既定で事前構成および有効化されるため、手動での構成や意思決定が不要になります。
AKS は、厳密なサポート性のバージョン管理ウィンドウに従っています。 適切に選択された自動アップグレード チャネルを使用すると、クラスターがサポートされていないバージョンに陥らないようにすることができます。 AKS サポート ウィンドウの詳細については、「エイリアス マイナー バージョン」を参照してください。
顧客によるクラスターの自動アップグレードと AKS による自動アップグレードの比較
クラスターの自動アップグレードの詳細は、次のガイダンスを使用して指定できます。 アップグレードは、指定した周期に基づいて行われます。アップグレードの際に、サポートされている Kubernetes バージョンを引き続き使用することを推奨します。
- AKS は、N-4 に分類されようとしているバージョン N-3 (N はサポートされている最新の AKS GA マイナー バージョン) のクラスターを自動的にアップグレードし、代わりに N-2 にアップグレードします。 このアクションにより、クラスターが AKS サポート ウィンドウに残ります。 詳細については、 AKS サポート ウィンドウを参照してください。
- 停止したノード プールは、自動アップグレード操作中にアップグレードされます。 アップグレードは、ノード プールを開始するときに、ノードに対して適用されます。 中断を最小限に抑えるには、メンテナンス期間を設定します。
クラスターの自動アップグレードの制限事項
コントロールプレーンのアップグレードに関する制約事項
クラスターの自動アップグレードを使用している場合は、最初にコントロール プレーンをアップグレードしてから、個々のノード プールをアップグレードすることはできなくなります。 クラスターの自動アップグレードでは、コントロール プレーンとノード プールが常に一緒にアップグレードされます。 コントロール プレーンのみをアップグレードすることはできません。
az aks upgrade --control-plane-only コマンドを実行すると、次のエラーが発生します。
NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.
ノードイメージの自動アップグレードと無人アップグレード
node-image クラスターの自動アップグレード チャネルを使用する場合 (レガシであり、使用しなくなったはずです)、または NodeImage ノード イメージの自動アップグレード チャネルを使用する場合、Linux 無人アップグレードは既定で無効になります。
クラスターの自動アップグレード チャネル
自動的に実行されたアップグレードは、手動アップグレードと機能的に同じです。 選択した自動アップグレード チャネルによって、アップグレードのタイミングが決まります。 自動アップグレードに変更を加える場合、変更を有効にするには 24 時間かかります。 クラスターの自動アップグレードは、クラスターの手動アップグレードを同じプロセスに従います。 詳細については、「AKS クラスターのアップグレード」を参照してください。
AKS 自動クラスターの場合
AKS 自動クラスターでは、既定で 安定した チャネルが使用されます。 このチャネルでは、安定性を維持しながら、最新の機能とセキュリティ更新プログラムを最新の状態に保つという推奨されるバランスが提供されます。 クラスターは、マイナー バージョン N-1 の最新のパッチ リリースに自動的にアップグレードされます (N は、サポートされている最新のマイナー バージョンです)。
構成は必要ありません 。 アップグレードはメンテナンス期間内に自動的に行われます。 アップグレードのタイミングを制御するために必要な場合は計画メンテナンス期間を設定できますが、チャネルの選択は安定しています。
AKS Automatic で安定している理由
- クラスターを N-2 サポートウィンドウ内に保持する (安全で準拠)
- イノベーションと安定性のバランスを取る
- 安全なデプロイ プラクティスを使用して AKS によって完全に管理される
- AKS の適切に設計されたベスト プラクティスに準拠
- 運用環境のワークロード向けに最適化
AKS Standard クラスターの場合
AKS Standard を使用している場合は、運用要件に最適なチャネルを選択します。
次のアップグレード チャネルを使用できます。
Note
クラスターの自動アップグレードを使用する場合は、次の情報に注意してください。
クラスターの自動アップグレードでは、Kubernetes の GA バージョンのみが更新され、プレビュー バージョンには更新されません。
AKS を使用すると、正確なパッチ バージョンを指定せずにクラスターを作成できます。 パッチを指定せずにクラスターを作成すると、クラスターでマイナー バージョンの最新の一般提供パッチが実行されます。 詳細については、AKS サポート ウィンドウを参照してください。
自動アップグレードでは、 チャネルを使用している場合でも、クラスターの Kubernetes バージョンが
node-image内にある必要があります。プレビュー API
11-02-preview以降を使用していて、node-imageクラスターの自動アップグレード チャネルを選択すると、ノード イメージのアップグレード設定が自動的にNodeImageチャネルに切り替わる。各クラスターは、1 つの自動アップグレード チャネルにのみ関連付けることができます。 その理由は、指定したチャネルによって、クラスターで実行される Kubernetes のバージョンが決定されるためです。
クラスター モードの比較
次の表は、クラスター モード別のクラスターの自動アップグレードの構成をまとめたものです。
| 特徴 | AKS Automatic | AKS Standard |
|---|---|---|
| 既定のチャネル | stable (事前構成済み) | 手動選択が必要 |
| アップグレードの頻度 | 週単位 (N-1 に固定) | 選択したチャネルに基づく |
| 構成が必要 | なし - 自動アップグレード | はい - チャネルとスケジュールの選択 |
| 推奨対象 | ほとんどの運用ワークロード | カスタム要件または特定の制約 |
| メンテナンス ウィンドウの制御 | Optional | 強くお勧めします |
| 使用可能なチャネル オプション | 安定版のみ(固定) | パッチ, 安定, 高速, なし |
新しい AKS クラスターでクラスターの自動アップグレードを使用する
Note
AKS 自動クラスターを作成する場合は、次の手順をスキップします。 安定したチャネルは、自動アップグレード用に既に構成されています。 これらの手順は、AKS Standard クラスターにのみ適用されます。
az aks create コマンドと auto-upgrade-channel パラメーターを使用して新しいクラスターを作成するときに、自動アップグレード チャネルを設定します。
az aks create \
--resource-group <resource-group-name> \
--name <cluster-name> \
--auto-upgrade-channel stable \
--generate-ssh-keys
既存の AKS クラスターでクラスターの自動アップグレードを使用する
Note
AKS 自動クラスターを使用している場合、クラスターの自動アップグレード チャネルを変更することはできません。安定したクラスターを使用するように事前構成されています。 これらの手順は、AKS Standard クラスターにのみ適用されます。 必要に応じて、AKS 自動クラスターの計画メンテナンス期間を設定できます。
az aks update パラメーターを指定した auto-upgrade-channel コマンドを使用して、既存のクラスターで自動アップグレード チャネルを設定します。
az aks update \
--resource-group <resource-group-name> \
--name <cluster-name> \
--auto-upgrade-channel stable
結果:
{
"id": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/resourceGroups/myResourceGroupabc123/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
"properties": {
"autoUpgradeChannel": "stable",
"provisioningState": "Succeeded"
}
}
計画メンテナンスでクラスターの自動アップグレードを使用する
計画メンテナンスとクラスターの自動アップグレードを使用している場合は、指定したメンテナンス期間中にアップグレードが開始されます。
Note
適切な機能を確保するには、4 時間以上のメンテナンス期間を使用してください。
計画メンテナンスでメンテナンス期間を設定する方法の詳細については、「計画メンテナンスを使用して Azure Kubernetes Service (AKS) クラスターのメンテナンス期間をスケジュールする」を参照してください。
クラスターの自動アップグレードのベスト プラクティス
自動アップグレードを使用する場合の成功を最大化するには、次のベスト プラクティスを使用します。
- N-2 ルール内など、クラスターが常にサポートされているバージョンであることを確認するには、
stableまたはrapidチャネルのいずれかを選択します。 (注: AKS 自動クラスターでは、既定でstableが使用されます)。 - できるだけ早く最新のパッチを入手したい場合は、
patchチャネルを使用してください。 - 別のクラスター アップグレード チャネルを使用しているときにノード イメージを自動的にアップグレードするには、 ノード イメージの autoupgrade
NodeImageチャネルの使用を検討してください。 - オペレーターのベスト プラクティスに関する記事を参照してください。
- PodDisruptionBudget (PDB) のベスト プラクティスに従います。
- アップグレードのトラブルシューティング情報については、「AKS のトラブルシューティング ドキュメント」を参照してください。
クラスターの自動アップグレードは AKS 自動に対して異なる方法で構成されていますか?
Yes. AKS 自動クラスターは、既定で安定したチャネルを使用するように事前構成されています。何も構成する必要はありません。 この構成では、次の機能が提供されます。
- マイナー バージョン N-1 の最新パッチへの自動アップグレード
- AKS のベスト プラクティスに沿った週単位のアップグレード頻度
- 安全なデプロイ プラクティスを使用して AKS によって完全に管理される
- メンテナンス期間の制御 (省略可能)
- ほとんどのワークロード向けに最適化された運用環境対応の既定値
AKS Standard クラスターでは、特定のニーズに基づいてチャネルを選択する必要があります。 AKS Standard から AKS Automatic に移行し、これらの事前構成済みの既定値を利用するには、「Azure Kubernetes Service (AKS)自動とは」を参照してください。
アップグレードのベスト プラクティスとその他の考慮事項の詳細については、「AKS パッチおよびアップグレード ガイダンス」を参照してください。
関連するコンテンツ
AKS Automatic の事前構成済み設定と運用対応の既定値の詳細については、「Azure Kubernetes Service (AKS)自動とは」を参照してください。