빠른 시작: Azure Kubernetes Fleet Manager 리소스를 만들고 Azure CLI를 사용하여 멤버 클러스터에 조인
Azure CLI를 사용하여 Fleet 리소스를 만들고 나중에 AKS(Azure Kubernetes Service) 클러스터를 멤버 클러스터로 연결하여 Azure Kubernetes Fleet Manager(Fleet)를 시작합니다.
필수 조건
Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.
이 문서에서 참조된 Fleet 및 멤버 클러스터에 대한 설명을 제공하는 이 기능의 개념 개요를 참조하세요.
다양한 집합 구성 옵션을 비교한 집합 형식의 개념 개요를 참조하세요.
활성 구독이 있는 Azure 계정. 체험 계정을 만듭니다.
Azure CLI에 로그인하는 데 사용할 수 있는 ID(사용자 또는 서비스 주체)입니다. 이 ID에는 이 빠른 시작에 나열된 단계를 완료하기 위해 Fleet 및 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
az extension add
명령을 사용하여 집합 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 클러스터를 멤버 클러스터로 그룹화하기 위해 Fleet 리소스를 만들 수 있습니다. Azure CLI를 통해 만들어진 경우 기본적으로 이 리소스는 멤버 클러스터 그룹화 및 업데이트 오케스트레이션을 사용하도록 설정합니다. Fleet 허브를 사용하도록 설정하면 Kubernetes 개체를 멤버 클러스터로 전파, 여러 멤버 클러스터에서 L4 서비스 부하 분산 등의 다른 미리 보기 기능이 사용하도록 설정됩니다. 자세한 내용은 다양한 집합 구성을 비교한 집합 형식의 개념 개요를 참조하세요.
Important
Kubernetes Fleet 리소스가 만들어지면 허브 클러스터가 없는 Kubernetes Fleet 리소스를 허브 클러스터가 있는 리소스로 업그레이드할 수 있습니다. 허브 클러스터가 있는 Kubernetes Fleet 리소스의 경우 프라이빗 또는 공용을 선택한 후에는 변경할 수 없습니다.
새 Fleet 리소스를 만들 때의 기본 환경인 업데이트 오케스트레이션에만 Fleet를 사용하려는 경우 az fleet create
명령을 사용하여 허브 클러스터 없이 Azure CLI를 통해 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"
}
멤버 클러스터 조인
Fleet은 현재 기존 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>
다음 단계
- Fleet Hub 클러스터 Kubernetes API에 액세스합니다.
Azure Kubernetes Service