多数のクラスターを管理するプラットフォーム管理者は、安全かつ予測可能な方法で複数のクラスターの更新 (ノード OS イメージまたは Kubernetes のバージョンのアップグレードなど) をステージングする際に問題を抱えていることがよくあります。 この課題に対処するために、Azure Kubernetes Fleet Manager (フリート) では、更新の実行を使用して、複数のクラスター間で更新を調整できます。
更新の実行はステージ、グループ、および戦略で構成され、1 回限りの更新の場合は手動で適用するか、または自動アップグレード プロファイルを使用する継続的な定期更新の場合は自動的に適用できます。 すべての更新の実行 (手動または自動) では、メンバー クラスターのメンテナンス期間が優先されます。
この記事では、自動アップグレード プロファイルを使用して、Kubernetes またはノード イメージの新しいバージョンが使用可能になったときに更新の実行を自動的にトリガーする方法について説明します。
前提条件
このガイドで参照されている構成に関する説明を提供する、自動アップグレード プロファイルの概念の概要に関するページをお読みください。
1 つ以上のメンバー クラスターを持つフリート リソースが存在する必要があります。 そうでない場合は、クイックスタートに従って Fleet リソースを作成し、Azure Kubernetes Service (AKS) クラスターをメンバーとして参加させます。
更新戦略を使用するには、更新プログラムの 実行方法に関する記事の手順に従って構成します。 自動アップグレード プロファイルで使用するには、更新戦略リソース識別子が必要です。
以下の環境変数を設定します。
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<aks-cluster-name>
Azure CLI バージョン 2.70.0 以降がインストールされている必要があります。 インストールとアップグレードについては、「Azure CLI のインストール」を参照してください。
fleet
Azure CLI 拡張機能バージョン 1.5.0 以降も必要です。これは、次のコマンドを実行してインストールできます。az extension add --name fleet
次のコマンドを実行して、リリースされた最新バージョンの拡張機能に更新します:
az extension update --name fleet
注釈
自動アップグレードでトリガーされる更新実行では、ユーザーが AKS クラスター レベルで設定した計画メンテナンス期間が優先されます。 詳細については、複数の メンバー クラスター間の計画メンテナンス に関するページを参照してください。更新実行で、構成された計画メンテナンス期間を持つメンバー クラスターがどのように処理されるかについて説明します。
自動アップグレード プロファイルを作成する
Azure portal で、Azure Kubernetes Fleet Manager リソースに移動します。
サービス メニューの [設定] で、[複数のクラスターの更新]>[プロファイルの自動アップグレード] を選択します。
[作成] を選択し、プロファイルの名前を入力して、プロファイルが [有効] になっているかどうかを選択します。 無効になっている自動アップグレード プロファイルは、新しいバージョンがリリースされたときにトリガーされません。
更新順序を [ステージごと] または [1 つずつ] から選択します。
[チャネル]で、次のいずれかのオプションを選択します。
- 安定 - N-1 Kubernetes の一般提供マイナー バージョンのパッチを使用してクラスターを更新します。
- 高速 - 最新の (N) Kubernetes の一般提供マイナー バージョンのパッチを使用してクラスターを更新します。
- ノード イメージ - ノード イメージのバージョンのみを更新します。
[安定] または [高速] のいずれかのチャネルを選択すると、ノード イメージの更新を適用する方法を選択できます。
- 最新のイメージ: 自動アップグレード プロファイル内のすべての AKS クラスターを、その Azure リージョンのそのクラスターで使用可能な最新のイメージに更新します。
- 一貫性のあるイメージ: 自動アップグレードで、複数の Azure リージョンに AKS クラスターを配置することができます。ここで利用可能な最新のノード イメージは異なる場合があります (詳細はリリース トラッカーをご確認ください)。 このオプションを選択すると、一貫性を実現するために、自動アップグレードによってすべての Azure リージョン内での最新の共通イメージが選択されます。
注釈
[ノード イメージ] チャネルでは常に一貫性のあるイメージが使用されます。
[ステージ] を使用して更新シーケンスを選択した場合は、[戦略] を選択または作成します。
[作成] を選択して、自動アップグレード プロファイルを作成します。
自動アップグレード プロファイルを表示する
自動アップグレード プロファイルを削除する
注釈
自動アップグレード プロファイルを削除しても、進行中の更新プログラムの実行には影響しません。
自動アップグレードを検証する
自動アップグレードが行われるのは、新しい Kubernetes またはノード イメージが使用可能になった場合のみです。 自動アップグレードがトリガーされると、リンクされた更新プログラムの実行が作成されるため、[更新プログラムの実行] を管理して、自動アップグレードの結果を確認できます。
次のように、既存のバージョンをベースラインとして確認することもできます。
# Get Kubernetes version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
--resource-group $GROUP \
--name $CLUSTER \
--query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"
更新の実行が完了したら、これらのコマンドを再実行し、デプロイされている更新バージョンを表示できます。
自動アップグレード プロファイルを使用して更新プログラムの実行を生成する
自動アップグレード プロファイルを作成する場合、クラスターはさまざまなバージョンの Kubernetes またはノード イメージ上に配置できます。 選択した自動アップグレード チャネルによっては、新しい Kubernetes またはノード イメージバージョンが自動アップグレードをトリガーして更新プログラムの実行を作成して実行するまでに時間がかかる場合があります。 自動アップグレードでは、現在の AKS で公開されている Kubernetes またはノード イメージ バージョンを使用して新しい更新プログラムの実行を生成する generate-update-run
コマンドが提供されます。
自動アップグレード プロファイルからオンデマンド更新プログラムの実行を作成する方法の詳細については、「自動アップグレード プロファイル から更新プログラムの実行を生成する」を参照してください。
次のステップ
Azure Kubernetes Service