AKS Edge Essentials에 대한 추가 구성 및 스크립트

이 문서에서는 프록시를 통해 연결된 클러스터에 적용할 수 있는 Azure Arc에 연결하는 다른 방법을 제공합니다.

프록시를 사용하여 AKS Edge Essentials 클러스터를 Arc에 연결

필수 구성 요소

  • 소유자 역할 또는 기여자사용자 액세스 관리자 역할의 조합이 있는 Azure 구독. 구독으로 이동하고, Azure Portal 왼쪽에서 액세스 제어(IAM)를 선택한 다음, 내 액세스 보기를 선택하여 액세스 수준을 검사 수 있습니다. 리소스 그룹 관리에 대한 자세한 내용은 Azure Resource Manager 설명서를 참조하세요.
  • Microsoft.HybridCompute, Microsoft.GuestConfiguration, Microsoft.HybridConnectivity, Microsoft.Kubernetes 및 Microsoft.KubernetesConfiguration과 같은 Azure 구독에서 필요한 모든 리소스 공급자를 사용하도록 설정합니다.
  • AKS Edge Essentials Azure 리소스에 대한 리소스 그룹을 만들고 확인합니다.

참고

리소스 그룹 내에서 리소스를 삭제하려면 기여자 역할이 있어야 합니다. Arc에서 연결을 끊는 명령은 이 역할 할당 없이 실패합니다.

1단계: Azure 연결을 위한 클러스터 구성

  1. 이전에 수행하지 않은 경우 Azure/AKS-Edge GitHub 리포지토리를 다운로드합니다. 코드 탭으로 이동하고 Zip 다운로드 단추를 클릭하여 리포지토리를 .zip 파일로 다운로드합니다. .zip 파일을 로컬 폴더로 추출합니다.

  2. 다음 표에 설명된 대로 섹션 아래 Azureaide-userconfig.json 파일에서 Azure 구독에 대한 세부 정보를 제공합니다. Azure Arc 지원 kubernetes를 사용하여 Azure에 성공적으로 연결하려면 Azure의 리소스에 대한 역할 기반 액세스를 제공하는 서비스 주체가 필요합니다. 서비스 주체 ID와 암호가 이미 있는 경우 aide-userconfig.json 파일의 모든 필드를 업데이트할 수 있습니다. 서비스 주체가 없는 경우 이름을 제공할 수 있으며 다음 단계의 스크립트는 하나를 만들고 섹션을 Auth 채웁니다.

    attribute 값 형식 Description
    Azure.ClusterName 문자열 클러스터의 이름을 제공합니다. 기본적으로 hostname_cluster 은 사용되는 이름입니다.
    Azure.Location 문자열 리소스 그룹의 위치입니다. 배포에 가장 가까운 위치를 선택합니다.
    Azure.SubscriptionName 문자열 구독 이름입니다.
    Azure.SubscriptionId GUID 구독 ID. Azure Portal 사용 중인 구독을 선택한 다음 구독 ID 문자열을 복사/JSON에 붙여넣습니다.
    Azure.TenantId GUID 테넌트 ID Azure Portal 기본 디렉터리 페이지로 이동해야 하는 "Azure Active Directory"를 검색합니다. 여기에서 테넌트 ID 문자열을 복사하여 JSON 파일에 붙여넣을 수 있습니다.
    Azure.ResourceGroupName string AKS Edge Essentials용 Azure 리소스를 호스트할 Azure 리소스 그룹의 이름입니다. 기존 리소스 그룹을 사용하거나 새 이름을 추가하면 시스템에서 사용자를 위해 리소스 그룹을 만들 수 있습니다.
    Azure.ServicePrincipalName 문자열 Azure 서비스 주체 이름입니다.
    Azure.Auth.ServicePrincipalId GUID 자격 증명으로 사용할 Azure 서비스 주체의 AppID입니다. AKS Edge Essentials는 이 서비스 주체를 사용하여 클러스터를 Arc에 연결합니다. 기존 서비스 주체를 사용하거나 새 이름을 추가하는 경우 시스템은 다음 단계에서 사용자를 위해 이름을 만듭니다.
    Azure.Auth.Password 문자열 Azure 서비스 주체가 자격 증명으로 사용할 암호(텍스트 지우기)입니다.
    AksEdgeConfigFile 문자열 AKS Edge Essentials 구성(aksedge-config.json)의 파일 이름입니다. 스크립트는 AksEdgeAzureSetup.ps1 이 JSON 파일의 섹션을 Arc 필요한 정보로 업데이트합니다.

    참고

    이 절차는 Azure 구독당 한 번만 수행해야 하며 각 Kubernetes 클러스터에 대해 반복할 필요가 없습니다.

  3. AksEdgePrompt.cmd 파일을 실행하거나 두 번 클릭하여 필요한 모듈이 로드된 관리자 권한 PowerShell 창을 엽니다. PC 정보 및 설치된 소프트웨어 버전에 대한 개요가 표시됩니다.

  4. tools\scripts\AksEdgeAzureSetup 폴더에서 AksEdgeAzureSetup.ps1 스크립트를 실행합니다. 이 스크립트는 Azure 구독을 설정하기 위해 자격 증명으로 로그인하라는 메시지를 표시합니다.

    # prompts for interactive login for service principal creation with Contributor role at resource group level
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole
    
    # (or) alternative option
    
    # Prompts for interactive login for service principal creation with minimal privileges
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
    
  5. AksEdgeAzureSetup-Test.ps1 스크립트를 사용하여 자격 증명이 유효한지 확인합니다. 이 스크립트는 새 서비스 주체 자격 증명을 사용하여 Azure에 로그인하고 Azure 리소스의 상태 확인합니다.

    # Test the credentials
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
    

2단계: 클러스터를 Azure에 연결

  1. 를 사용하여 Read-AideUserConfigJSON 구성을 AksEdgeShell에 로드하고 를 사용하여 Get-AideUserConfig값이 업데이트되었는지 확인합니다. 또는 업데이트된 JSON 구성 을 사용하도록 AksEdgePrompt.cmd 를 다시 열 수 있습니다.

    Read-AideUserConfig
    Get-AideUserConfig
    

    중요

    aide-userconfig.json을 수정하거나, 를 실행 Read-AideUserConfig 하여 다시 로드하거나, AksEdgePrompt.cmd를 닫고 다시 열 때마다.

  2. Initialize-AideArc을 실행합니다. 이렇게 하면 Azure CLI(아직 설치되지 않은 경우)가 설치되고, 지정된 자격 증명으로 Azure에 로그인하고, Azure 구성의 유효성을 검사합니다(리소스 공급자 및 리소스 그룹 상태).

    Initialize-AideArc
    
  3. 를 실행 Connect-AideArc 하여 호스트 머신을 Arc 지원 서버에 설치 및 연결하고 기존 클러스터를 Arc 지원 Kubernetes에 연결합니다.

    # Connect Arc-enabled server and Arc-enabled Kubernetes
    Connect-AideArc
    

    또는 Arc 지원 서버 및 Connect-AideArcKubernetes Arc 지원 Kubernetes를 사용하여 Connect-AideArcServer 개별적으로 연결할 수 있습니다.

    # Connect Arc-enabled server
    Connect-AideArcServer
    # Connect Arc-enabled Kubernetes
    Connect-AideArcKubernetes
    

    참고

    이 단계는 최대 10분이 걸릴 수 있으며 PowerShell은 "에 대한 your cluster nameAzure 연결된 Kubernetes 설정"에서 중단될 수 있습니다. PowerShell 명령은 출력하고 True 프로세스가 완료되면 프롬프트로 돌아갑니다. 전달자 토큰은 도구 폴더의 servicetoken.txt 저장됩니다.

3단계: Azure에서 클러스터 보기

  1. 왼쪽 패널의 Kubernetes 리소스(미리 보기)에서 네임스페이스 블레이드를 선택합니다.

    kubernetes 리소스 미리 보기를 보여 주는 스크린샷

  2. Kubernetes 리소스를 보려면 전달자 토큰이 필요합니다.

    전달자 토큰 필요를 보여 주는 스크린샷

  3. PowerShell 창에서 를 실행하고 Get-AksEdgeManagedServiceToken전체 문자열을 복사하여 Azure Portal 붙여넣습니다.

    포털에 붙여넣기 토큰을 보여 주는 스크린샷

  4. 이제 클러스터에서 리소스를 볼 수 있습니다. 다음 이미지는 과 동일한 kubectl get pods --all-namespaces를 보여 주는 워크로드 블레이드를 보여 줍니다.

    Arc에 표시된 모든 Pod의 결과를 보여 주는 스크린샷

프록시를 사용할 때 Arc에서 AKS Edge Essentials 클러스터 연결 끊기

를 실행 Disconnect-AideArc 하여 Arc 지원 서버 및 Arc 지원 Kubernetes에서 연결을 끊습니다.

# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc

또는 Arc 지원 서버 및 Connect-AideArcKubernetes Arc 지원 Kubernetes를 사용하여 Connect-AideArcServer 개별적으로 연결을 끊을 수 있습니다.

# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes

Arc에 호스트 머신 연결

  1. Arc 지원 서버에 를 사용하여 Connect-AideArcServer 호스트 머신을 연결할 수 있습니다.

    # Connect Arc-enabled server
    Connect-AideArcServer
    
  2. Arc에서 호스트 머신의 연결을 끊려면 Arc 지원 서버에 다음을 사용합니다 Disconnect-AideArcServer .

    # Disconnect Arc-enabled server
    Disconnect-AideArcServer
    

    여기 단계에 따라 서버용 Arc 에이전트를 제거할 수도 있습니다. Azure Portal 전체 클린 위해 이 예제에 대해 만든 서비스 주체 및 리소스 그룹을 삭제합니다.

다음 단계