Azure CLI を使用して Azure Kubernetes Fleet Manager の使用を開始し、Fleet Manager を作成し、Azure Kubernetes Service (AKS) クラスターをメンバー クラスターとして参加させます。
前提条件
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Fleet Manager の概念の概要を読み、このドキュメントで参照されているフリートとメンバー クラスターに関する説明を確認してください。
さまざまなフリート構成オプションの比較を提供する、フリートの種類の概念の概要に関するページをお読みください。
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure CLI へのログインに使用できる ID (ユーザーまたはサービス プリンシパル)。 このクイック スタートに記載されている手順を完了するには、この ID に、フリートと AKS リソースの種類に対する次のアクセス許可が必要です。
- Microsoft.ContainerService/fleets/read
- Microsoft.ContainerService/fleets/write
- Microsoft.ContainerService/fleets/members/read
- Microsoft.ContainerService/fleets/members/write
- Microsoft.ContainerService/fleetMemberships/read
- Microsoft.ContainerService/fleetMemberships/write
- Microsoft.ContainerService/managedClusters/read
- Microsoft.ContainerService/managedClusters/write
Azure CLI バージョン 2.70.0 以降をインストールします。 インストールとアップグレードについては、「Azure CLI のインストール」を参照してください。
Azure CLI 拡張機能バージョン 1.5.2 以降
fleet
も必要です。これは、次のコマンドを実行してインストールできます。az extension add --name fleet
次のコマンドを実行して、リリースされた最新バージョンの拡張機能に更新します:
az extension update --name fleet
以下の環境変数を設定します。
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name> export LOCATION=<azure-region-name>
kubectl
コマンドを使用してaz aks install-cli
をインストールします。az aks install-cli
メンバー クラスターとして参加させる AKS クラスターは、AKS でサポートされている Kubernetes バージョンを実行している必要があります。 AKS バージョンのサポート ポリシーの詳細については、こちらを参照してください。
リソース グループを作成する
Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成する際は、場所の指定を求めるプロンプトが表示されます。 この場所は、リソース グループのメタデータが格納される場所です。また、リソースの作成時に別の場所を指定しない場合は、Azure でリソースが実行される場所でもあります。
Azure サブスクリプションを設定し、az group create
コマンドを使用してリソース グループを作成します。
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location ${LOCATION}
リソース グループが正常に作成された場合の出力の例は、次のようになります。
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "<LOCATION>",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Fleet Manager リソースを作成する
あなたはいつでもフリート マネージャーを作成でき、後で AKS クラスターをメンバー クラスターとして追加することを選択できます。 Azure CLI を使用して作成した場合、Fleet Manager ではメンバー クラスターのグループ化とオーケストレーションの更新が既定で有効になります。 Fleet Manager がハブ クラスターで作成されている場合は、インテリジェントな Kubernetes オブジェクトの配置と、複数のメンバー クラスター間での負荷分散が可能です。 詳細については、さまざまなフリート構成の比較を提供するフリートの種類の概念の概要に関するページを参照してください。
重要
ハブ クラスターのない Fleet Manager から、ハブ クラスターを持つフリート マネージャーに変更できますが、その逆は変更できません。 ハブ クラスターを持つ Fleet Manager の場合、プライベート またはパブリック アクセスが選択されると、変更できません。
Kubernetes またはノード イメージの更新オーケストレーションにのみ Fleet Manager を使用する場合は、 az fleet create
コマンドを使用して、ハブ クラスターなしで Fleet リソースを作成できます。
az fleet create \
--resource-group ${GROUP} \
--name ${FLEET} \
--location ${LOCATION} \
--enable-managed-identity
出力は次の出力例のようになります。
{
"etag": "...",
"hubProfile": null,
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
"identity": {
"principalId": <system-identity-id>,
"tenantId": <entra-tenant-id>,
"type": "SystemAssigned",
"userAssignedIdentities": null
},
"location": "<LOCATION>",
"name": "fleet-demo",
"provisioningState": "Succeeded",
"resourceGroup": "fleet-demo",
"systemData": {
"createdAt": "2023-11-03T17:15:19.610149+00:00",
"createdBy": "<user>",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T17:15:19.610149+00:00",
"lastModifiedBy": "<user>",
"lastModifiedByType": "User"
},
"tags": null,
"type": "Microsoft.ContainerService/fleets"
}
メンバー クラスターを参加させる
フリートでは現在、既存の AKS クラスターをメンバー クラスターとして参加させることがサポートされています。
メンバー クラスターに次の環境変数を設定します。
export MEMBER_NAME_1=aks-member-1 export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1}
az fleet member create
コマンドを使用して、既存の AKS クラスターを Fleet リソースに参加させます。az fleet member create \ --resource-group ${GROUP} \ --fleet-name ${FLEET} \ --name ${MEMBER_NAME_1} \ --member-cluster-id ${MEMBER_CLUSTER_ID_1}
出力は次の出力例のようになります。
{ "clusterResourceId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-x", "etag": "...", "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/fleets/<FLEET>/members/aks-member-x", "name": "aks-member-1", "provisioningState": "Succeeded", "resourceGroup": "<GROUP>", "systemData": { "createdAt": "2022-10-04T19:04:56.455813+00:00", "createdBy": "<user>", "createdByType": "User", "lastModifiedAt": "2022-10-04T19:04:56.455813+00:00", "lastModifiedBy": "<user>", "lastModifiedByType": "User" }, "type": "Microsoft.ContainerService/fleets/members" }
az fleet member list
コマンドを使用して、メンバー クラスターが Fleet リソースに正常に参加したことを確認します。az fleet member list \ --resource-group ${GROUP} \ --fleet-name ${FLEET} \ -o table
成功すると、出力は次の出力例のようになります。
ClusterResourceId Name ProvisioningState ResourceGroup ----------------------------------------------------------------------------------------------------------------------------------------------- ------------ ------------------- --------------- /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-1 aks-member-1 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-2 aks-member-2 Succeeded <GROUP> /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<GROUP>/providers/Microsoft.ContainerService/managedClusters/aks-member-3 aks-member-3 Succeeded <GROUP>
次のステップ
Azure Kubernetes Service