Azure Kubernetes Fleet Manager リソースのハブ クラスターの種類をアップグレードする
この記事では、ハブ クラスターのない Azure Kubernetes Fleet Manager (Kubernetes Fleet) リソースを、ハブ クラスターを持つ Kubernetes Fleet リソースにアップグレードする方法について説明します。 Kubernetes Fleet リソースがハブ クラスターなしで作成されると、その Kubernetes Fleet リソース用に中央の Azure Kubernetes Service (AKS) クラスターは作成されません。 ハブ クラスターを含む Kubernetes Fleet リソースが作成されると、中央のマネージド AKS クラスターが作成され、ワークロード オーケストレーションやレイヤー 4 負荷分散などのシナリオが可能になります。
詳細については、「Azure Kubernetes Fleet Manager オプションの選択」を参照してください。
前提条件と制限事項
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
- Azure CLI をインストールするか、最新バージョンにアップグレードします。
- アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
- ハブ クラスターのない既存の Kubernetes Fleet リソースが必要です。 この記事の手順では、ハブ クラスターなしで Kubernetes Fleet リソースを作成する方法について説明します。 既にある場合は、初期セットアップをスキップし、「Kubernetes Fleet リソースのハブ クラスターの種類をアップグレードする」から開始できます。
- この記事には、メンバー クラスターを参加させる手順も含まれています。 行う予定がある場合は、少なくとも 1 つの AKS クラスターが必要です。
重要
ハブ クラスターのない Kubernetes Fleet リソースは、ハブ クラスターを持つ Kubernetes Fleet リソースにアップグレードできます。 ただし、既にハブ クラスターを持つ Kubernetes Fleet リソースをハブ クラスターなしの Kubernetes Fleet リソースにダウングレードすることはできません。 ハブ クラスターを持つ Kubernetes Fleet リソースに関連付けられているすべての構成オプションと設定は不変であり、作成またはアップグレード後に変更することはできません。 ハブ クラスターのない Kubernetes Fleet リソースからハブ クラスターのある Kubernetes Fleet リソースへのアップグレードは、Azure CLI でのみ実行できます。 現在、同等の Azure portal での操作はありません。
初期設定
まず、リソース グループとハブ クラスターなしの Kubernetes Fleet リソースを作成し、既存の AKS クラスターをメンバーとして参加させます。 フリート リソースに関連付ける個々のメンバー クラスターごとに、az fleet member create
コマンドを繰り返す必要があります。
RG=myResourceGroup
LOCATION=eastus
FLEET=myKubernetesFleet
FLEET_MEMBER=<name-identifying-member-cluster>
SUBSCRIPTION_ID=<your-subscription-id>
CLUSTER=<your-aks-cluster-name>
# Create resource group
az group create -n $RG -l $LOCATION
# Create a hubless fleet resource
az fleet create -g $RG -n $FLEET
# Join member cluster to hubless fleet resource
az fleet member create --name $FLEET_MEMBER --fleet-name $FLEET --resource-group $RG --member-cluster-id /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG/providers/Microsoft.ContainerService/managedClusters/$CLUSTER
Kubernetes Fleet リソースのハブ クラスターの種類をアップグレードする
Kubernetes Fleet リソースのハブ クラスターの種類をアップグレードするには、--enable-hub
フラグを設定して az fleet create
コマンドを使用します。 この操作が完了するとフリート リソースは不変になるため、他の関連する構成オプションもすべて必ず含めるようにしてください。
# Upgrade the Kubernetes fleet resource without a hub cluster to one with a hub cluster
az fleet create --name $FLEET --resource-group $RG --enable-hub
アップグレードを検証する
az fleet create
コマンドを実行してフリート リソースをアップグレードした後、出力を表示してアップグレードが成功したことを確認します。 provisioningState
が Succeeded
となっており、hubProfile
フィールドが存在する必要があります。 たとえば、次の出力のようになります。
{
...
"hubProfile": {
"agentProfile": {
"subnetId": null,
"vmSize": null
},
"apiServerAccessProfile": {
"enablePrivateCluster": false,
"enableVnetIntegration": false,
"subnetId": null
},
"dnsPrefix": "contoso-user-xxxx-xxxxxxx",
"fqdn": "contoso-user-flth-xxxxxx-xxxxxxxx.hcp.eastus.azmk8s.io",
"kubernetesVersion": "1.28.5",
"portalFqdn": "contoso-user-flth-xxxxxxx-xxxxxxxx.portal.hcp.eastus.azmk8s.io"
},
"provisioningState": "Succeeded"
...
}
メンバー クラスターを再参加させる
新しくアップグレードしたフリート リソースにメンバー クラスターを再参加させるには、個々のメンバー クラスターごとに az fleet member reconcile
コマンドを使用します。
az fleet member reconcile -g $RG -f $FLEET -n $FLEET_MEMBER
Note
アップグレードが既に行われた後に初めてフリート リソースに参加する AKS クラスターは、az fleet member reconcile
を使用して調整する必要はありません。
メンバー クラスターが正常に参加したことを確認する
新しくアップグレードされたフリートに再参加させるメンバー クラスターごとに、出力を表示し、provisioningState
が Succeeded
になっていることを確認します。 次に例を示します。
{
...
"provisioningState": "Succeeded"
...
}
機能を検証する
ハブ クラスターの Kubernetes API へのアクセス権が必要です。 アクセス権がない場合は、「Azure Kubernetes Fleet Manager を使用したフリート リソースの Kubernetes API へのアクセス」を参照してください。
新しくアップグレードした Kubernetes Fleet リソースが正常に機能していること、およびメンバー クラスターが正常に参加したことを確認するには、kubectl get memberclusters
コマンドを使用してハブ クラスターの API サーバーにアクセスできることを確認します。
成功すると、出力は次の出力例のようになります。
NAME JOINED AGE
aks-member-1 True 2m
aks-member-2 True 2m
aks-member-3 True 2m
リソースをクリーンアップする
完了したら、リソース グループを削除することで、フリート リソースと関連リソースを削除できます。 AKS クラスターが別のリソース グループに存在する場合、この操作では削除されないことに注意してください。
az group delete -n $RG
次のステップ
Kubernetes Fleet リソースがアップグレードされてハブ クラスターを使用するようになったので、以前は利用できなかった機能を利用できます。 たとえば、次を参照してください。
Azure Kubernetes Service