Azure Kubernetes Service 클러스터를 Azure Arc에 연결
적용 대상: Azure Stack HCI 22H2의 AKS, Windows Server의 AKS
AKS(Azure Kubernetes Service) 클러스터가 Azure Arc에 연결되면 Azure Resource Manager 표현을 가져옵니다. 클러스터는 표준 Azure 구독에 연결되고, 리소스 그룹에 있으며, 다른 Azure 리소스와 마찬가지로 태그를 받을 수 있습니다. 또한 Kubernetes 표현을 사용하면 Kubernetes 클러스터로 다음 기능을 확장할 수 있습니다.
- 관리 서비스: 구성(GitOps), 컨테이너용 Azure Monitor, Azure Policy(Gatekeeper).
- 데이터 서비스: SQL Managed Instance, PostgreSQL 하이퍼스케일.
- 애플리케이션 서비스: App Service, Functions, Event Grid, Logic Apps, API Management.
Kubernetes 클러스터를 Azure에 연결하려면 클러스터 관리자가 에이전트를 배포해야 합니다. 이러한 에이전트는 azure-arc라는 Kubernetes 네임스페이스에서 실행되며 표준 Kubernetes 배포입니다. 에이전트는 Azure에 연결하고, Azure Arc 로그 및 메트릭을 수집하고, 이전에 언급한 클러스터 시나리오를 사용하도록 설정하는 작업을 담당합니다.
AKS는 전송 중인 데이터를 보호하기 위해 업계 표준 SSL을 지원합니다. 또한 데이터는 데이터 기밀성을 보장하기 위해 미사용 시 암호화된 상태로 Azure Cosmos DB 데이터베이스에 저장됩니다.
다음 단계에서는 AKS 클러스터를 Arc에서 사용하도록 설정된 AKS의 Azure Arc에 연결하는 방법을 설명합니다. Windows Admin Center를 사용하여 Kubernetes 클러스터를 Azure Arc에 이미 연결한 경우 이러한 단계를 건너뛸 수 있습니다.
시작하기 전에
다음 요구 사항이 있는지 확인합니다.
- 실행 중인 Linux 작업자 노드가 하나 이상 있는 AKS 클러스터입니다.
- AksHci PowerShell 모듈을 설치합니다.
- Azure 구독에서 다음 액세스 수준:
- 기본 제공 소유자 역할이 있는 사용자 계정입니다. 구독으로 이동하여 Azure Portal의 왼쪽에서 "액세스 제어(IAM)"를 선택한 다음 내 액세스 보기를 클릭하여 액세스 수준을 확인할 수 있습니다.
- 기본 제공 소유자 역할이 있는 서비스 주체입니다.
- PowerShell 관리 창에서 이 문서의 명령을 실행합니다.
- AKS의 네트워크 요구 사항을 충족하는지 확인합니다.
1단계: Azure에 로그인
Azure에 로그인하려면 Connect-AzAccount PowerShell 명령을 실행합니다.
Connect-AzAccount $tenantId
다른 구독으로 전환하려면 Set-AzContext PowerShell 명령을 실행합니다.
Set-AzContext -Subscription $subscriptionId
2단계: AKS에 대한 두 공급자 등록
구독에 AKS에 대한 두 공급자를 이미 등록한 경우 이 단계를 건너뛸 수 있습니다. 등록은 비동기 프로세스이며 구독당 한 번씩 수행해야 합니다. 등록에는 약 10분이 걸릴 수 있습니다.
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
다음 명령을 사용하여 등록했는지 확인할 수 있습니다.
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
3단계: Aks-Hci PowerShell 모듈을 사용하여 Azure Arc에 연결
Enable-AksHciArcConnection PowerShell 명령을 사용하여 AKS 클러스터를 Kubernetes에 연결합니다. 이 단계에서는 Kubernetes용 Azure Arc 에이전트를 네임스페이 azure-arc
스에 배포합니다.
Enable-AksHciArcConnection -name $clusterName
서비스 주체를 사용하여 AKS 클러스터를 Azure Arc에 연결
소유자인 구독에 액세스할 수 없는 경우 서비스 주체를 사용하여 AKS 클러스터를 Azure Arc에 연결할 수 있습니다.
첫 번째 명령은 서비스 주체 자격 증명을 묻는 메시지를 표시하고 변수에 $Credential
저장합니다. 메시지가 표시되면 사용자 이름에 대한 애플리케이션 ID를 입력한 다음, 서비스 주체 암호를 암호로 사용합니다. 구독 관리자로부터 이러한 값을 가져와야 합니다. 두 번째 명령은 변수에 저장된 서비스 주체 자격 증명을 사용하여 클러스터를 Azure Arc에 $Credential
연결합니다.
$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location
이 명령에 사용된 서비스 주체에 소유자 역할이 할당되어 있고 명령에 사용되는 구독 ID에 대한 범위가 있는지 확인합니다. 서비스 주체에 대한 자세한 내용은 Azure PowerShell을 사용하여 서비스 주체 만들기를 참조하세요.
AKS 클러스터를 Azure Arc에 연결하고 사용자 지정 위치를 사용하도록 설정
Azure Arc와 함께 클러스터에서 사용자 지정 위치를 사용하도록 설정하려면 다음 명령을 실행하여 사용자 지정 위치 애플리케이션의 개체 ID를 가져오고 서비스 주체를 사용하여 Azure Arc에 연결합니다.
$objectID = (Get-AzADServicePrincipal -ApplicationId "00001111-aaaa-2222-bbbb-3333cccc4444").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID
연결된 클러스터 확인
Azure Portal에서 Kubernetes 클러스터 리소스를 볼 수 있습니다. 브라우저에서 포털을 열면 enable-akshciarcconnection PowerShell 명령에 사용되는 리소스 이름 및 리소스 그룹 이름 입력을 기반으로 하는 리소스 그룹 및 AKS 리소스로 이동합니다.
참고 항목
클러스터를 연결한 후 클러스터 메타데이터(클러스터 버전, 에이전트 버전, 노드 수)가 Azure Portal의 AKS 리소스 개요 페이지에 표시되는 데 최대 5~10분 정도 걸릴 수 있습니다.
Kubernetes용 Azure Arc 에이전트
AKS는 네임스페이스에 몇 가지 연산자를 azure-arc
배포합니다. 다음 예제와 같이 이러한 배포 및 Pod를 kubectl
볼 수 있습니다.
kubectl -n azure-arc get deployments,pods
AKS는 네임스페이스에 배포된 azure-arc
클러스터에서 실행되는 몇 가지 에이전트(연산자)로 구성됩니다. 이러한 에이전트에 대한 자세한 내용은 이 개요를 참조하세요.
Azure Arc에서 AKS 클러스터 연결 끊기
AKS에서 클러스터 연결을 끊으려면 Disable-AksHciArcConnection PowerShell 명령을 실행합니다. 명령을 실행하기 전에 Azure에 로그인해야 합니다.
Disable-AksHciArcConnection -Name $clusterName