Azure CLI を使用して Fleet Manager を作成し、 サポートされている Kubernetes クラスター をメンバーとして参加させることで、Azure Kubernetes Fleet Manager の使用を開始します。
前提条件
Azure アカウントをお持ちでない場合は、開始する前に無料アカウントを作成してください。
Fleet Manager の概念の概要を読み、このドキュメントで参照されているフリートとメンバー クラスターに関する説明を確認してください。
さまざまなフリート構成オプションの比較を提供する、フリートの種類の概念の概要に関するページをお読みください。
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
Azure CLI へのログインに使用できる ID (ユーザーまたはサービス プリンシパル)。 この ID には、フリート リソースと、該当する場合はメンバー クラスター リソースに対する次のアクセス許可が必要です。
フリートのアクセス許可:
- 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
AKS メンバー クラスターに参加する場合:
- Microsoft.ContainerService/managedClusters/read
- Microsoft.ContainerService/managedClusters/write
- Microsoft.ContainerService/managedClusters/listClusterUserCredential/action
Arc 対応 Kubernetes メンバー クラスターに参加する場合には、
- Microsoft.Kubernetes/connectedClusters/read,
- Microsoft.KubernetesConfiguration/extensions/read,
- Microsoft.KubernetesConfiguration/extensions/write,
- Microsoft.KubernetesConfiguration/extensions/delete
Azure CLI バージョン 2.70.0 以降をインストールします。 インストールとアップグレードについては、「Azure CLI のインストール」を参照してください。
fleetAzure CLI 拡張機能バージョン 1.6.2 以降も必要です。これは、次のコマンドを実行してインストールできます。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-cliFleet Manager メンバー クラスターとして参加する Kubernetes クラスターでは、対応するプラットフォームのサポートされているバージョンを使用する必要があります。 AKS クラスターバージョンのサポート ポリシー と Azure Arc 対応 Kubernetes 検証を参照してください。
リソース グループを作成する
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 リソースを作成する
サポート されている Kubernetes クラスター をメンバーとして後で追加することを選択して、フリート マネージャーはいつでも作成できます。 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"
}
メンバー クラスターを参加させる
Fleet では現在、既存の AKS クラスターまたは Arc 対応 Kubernetes クラスター (プレビュー) をメンバー クラスターとして参加させることがサポートされています。
メンバー クラスターに次の環境変数を設定します。
export MEMBER_NAME_1=flt-member-cluster-1 # For an AKS cluster export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.ContainerService/managedClusters/${MEMBER_NAME_1} # For an Arc-enabled cluster export MEMBER_CLUSTER_ID_1=/subscriptions/${SUBSCRIPTION_ID}/resourceGroups/${GROUP}/providers/Microsoft.Kubernetes/connectedClusters/${MEMBER_NAME_1}az fleet member createコマンドを使用して、既存のクラスターを Fleet Manager に参加させる。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 Manager に正常に参加したことを確認します。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