クイック スタート: Azure CLI を使用して Azure Kubernetes Fleet Manager リソースを作成し、メンバー クラスターを参加させる
Azure CLI を使用してフリート リソースを作成し、後でメンバー クラスターとして Azure Kubernetes Service (AKS) クラスターに接続することで、Azure Kubernetes Fleet Manager (フリート) の使用を開始します。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
このドキュメントで参照されているフリートとメンバー クラスターに関する説明を、この機能の概念的概要に関する記事でお読みください。
さまざまなフリート構成オプションの比較を提供する、フリートの種類の概念の概要に関するページをお読みください。
アクティブなサブスクリプションが含まれる 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
バージョン
2.53.1
以降の Azure CLI をインストールするかアップグレードします。az extension add
コマンドを使用して fleet Azure CLI 拡張機能をインストールし、バージョンが1.0.0
以上であることを確認します。az extension add --name fleet
以下の環境変数を設定します。
export SUBSCRIPTION_ID=<subscription_id> export GROUP=<your_resource_group_name> export FLEET=<your_fleet_name>
az aks install-cli
コマンドを使用してkubectl
とkubelogin
をインストールします。az aks install-cli
Fleet リソースにメンバー クラスターとして参加させる AKS クラスターは、サポートされているバージョンの AKS 内にある必要があります。 AKS バージョンのサポート ポリシーの詳細については、こちらを参照してください。
リソース グループを作成する
Azure リソース グループは、Azure リソースが展開され管理される論理グループです。 リソース グループを作成する際は、場所の指定を求めるプロンプトが表示されます。 この場所は、リソース グループのメタデータが格納される場所です。また、リソースの作成時に別の場所を指定しない場合は、Azure でリソースが実行される場所でもあります。
Azure サブスクリプションを設定し、az group create
コマンドを使用してリソース グループを作成します。
az account set -s ${SUBSCRIPTION_ID}
az group create --name ${GROUP} --location eastus
リソース グループが正常に作成された場合の出力の例は、次のようになります。
{
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo",
"location": "eastus",
"managedBy": null,
"name": "fleet-demo",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
フリート リソースを作成する
Fleet リソースを作成すると、後で AKS クラスターをメンバー クラスターとしてグループ化できます。 Azure CLI を使用して作成された場合、既定では、このリソースにより、メンバー クラスターのグループ化と更新のオーケストレーションが有効になります。 Fleet ハブが有効な場合、メンバー クラスターへの Kubernetes オブジェクトの伝達や、複数のメンバー クラスター間での L4 サービスの負荷分散など、他のプレビュー機能が有効になります。 詳細については、さまざまなフリート構成の比較を提供するフリートの種類の概念の概要に関するページを参照してください。
重要
Kubernetes Fleet リソースが作成されたら、ハブ クラスターがない Kubernetes Fleet リソースを、ハブ クラスターがあるものにアップグレードできます。 ハブ クラスターがある Kubernetes Fleet リソースの場合、プライベートまたはパブリックを選択すると後から変更できません。
更新のオーケストレーションのみに Fleet を使用する場合 (Azure CLI を使用して新しい Fleet リソースを作成するときの既定のエクスペリエンス)、az fleet create
コマンドを使用して、ハブ クラスターなしで Fleet リソースを作成できます。
az fleet create --resource-group ${GROUP} --name ${FLEET} --location eastus
出力は次の出力例のようになります。
{
"etag": "...",
"hubProfile": null,
"id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/fleet-demo/providers/Microsoft.ContainerService/fleets/fleet-demo",
"identity": {
"principalId": null,
"tenantId": null,
"type": "None",
"userAssignedIdentities": null
},
"location": "eastus",
"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 リソースに参加させます。# Join the first member cluster 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