Azure Arc 사용 Kubernetes 클러스터 준비

Important

Azure IoT 작업 미리 보기 - Azure Arc에서 지원되는 Azure IoT 작업은 현재 preview로 제공됩니다. 프로덕션 환경에서는 이 미리 보기 소프트웨어를 사용하면 안 됩니다.

일반적으로 릴리스되는 릴리스가 제공되면 새로운 Azure IoT 작업 설치를 배포해야 합니다. 미리 보기 설치는 업그레이드할 수 없습니다.

베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

Azure Arc 사용 Kubernetes 클러스터는 Azure IoT 작업 미리 보기를 배포하기 위한 필수 구성 요소입니다. 이 문서에서는 Arc 지원 Kubernetes 클러스터에 Azure IoT Operations 미리 보기를 배포하기 전에 클러스터를 준비하는 방법을 설명합니다. 이 문서에는 Ubuntu 및 Windows 모두에 대한 지침이 포함되어 있습니다.

이 문서의 단계에서는 더 길지만 프로덕션 준비 프로세스인 보안 설정 배포를 위해 클러스터를 준비합니다. Azure IoT Operations를 신속하게 배포하고 테스트 설정만 사용하여 샘플 워크로드를 실행하려면 빠른 시작을 참조 하세요. 대신 K3s를 사용하여 Github Codespaces에서 Azure IoT Operations Preview를 실행합니다 .

테스트 설정 및 보안 설정에 대한 자세한 내용은 배포 세부 정보 > 선택 기능을 참조하세요.

필수 조건

Azure IoT 작업은 Azure Arc 지원 Kubernetes 시스템 요구 사항을 충족 하는 Arc 지원 Kubernetes 클러스터에서 작동해야 합니다. 현재 Azure IoT 작업은 Arm64 아키텍처를 지원하지 않습니다.

Microsoft는 Ubuntu에서 배포할 수 있는 Windows 및 K3의 배포를 위해 AKS(Azure Kubernetes Service) Edge Essentials를 지원합니다. 테스트 및 유효성을 검사하는 특정 하드웨어 및 소프트웨어 조합 목록은 유효성 검사된 환경을 참조 하세요.

다중 노드 솔루션에 Azure IoT Operations를 배포하려면 Ubuntu에서 K3s를 사용합니다.

Azure Arc 사용 Kubernetes 클러스터를 준비하려면 다음 조건이 필요합니다.

클러스터 생성

이 섹션에서는 Linux 및 Windows의 유효성이 검사된 환경에서 클러스터를 만드는 단계를 제공합니다.

Azure Kubernetes Service 엣지에센셜은 컨테이너화된 애플리케이션 실행을 대규모로 자동화하는 Azure Kubernetes Service(AKS)의 온-프레미스 Kubernetes 구현입니다. AKS Edge Essentials에는 PC 클래스 또는 "밝은" 에지 하드웨어를 지원하는 작은 공간과 간단한 설치 환경을 갖춘 경량 Kubernetes 배포판이 포함된 Microsoft 지원 Kubernetes 플랫폼이 포함되어 있습니다.

AksEdgeQuickStartForAio.ps1 스크립트는 클러스터를 만들고 연결하는 프로세스를 자동화하며 AKS Edge Essentials에서 Azure IoT 작업을 배포하는 데 권장되는 경로입니다.

  1. 관리자 권한으로 PowerShell 창을 열고 디렉터리를 작업 폴더로 변경합니다.

  2. objectId Azure Arc 서비스가 테넌트에서 사용하는 Microsoft Entra ID 애플리케이션을 가져옵니다.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. 자리 표시자 값을 사용자의 정보로 바꾸어 다음 명령을 실행합니다.

    자리 표시자
    SUBSCRIPTION_ID Azure 구독의 ID입니다. 구독 ID를 모르는 경우 Azure 구독 찾기를 참조하세요.
    TENANT_ID Microsoft Entra 테넌트의 ID 테넌트 ID를 모르는 경우 Microsoft Entra 테넌트 찾기를 참조하세요.
    RESOURCE_GROUP_NAME 기존 리소스 그룹의 이름 또는 만들 새 리소스 그룹의 이름
    위치 가까운 Azure 지역입니다. 현재 지원되는 Azure 지역 목록은 지원되는 지역을 참조하세요.
    CLUSTER_NAME 새로 생성될 클러스터의 이름
    ARC_APP_OBJECT_ID 이전 단계에서 검색한 개체 ID 값입니다.
    $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
    Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1
    Unblock-File .\AksEdgeQuickStartForAio.ps1
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
    

    컴퓨터가 이 프로세스의 일부로 다시 부팅되는 경우를 포함하여 배포 중에 문제가 있으면 전체 명령 집합을 다시 실행합니다.

  4. 다음 명령을 실행하여 배포가 성공했는지 확인합니다.

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    Get-AksEdgeDeploymentInfo 명령의 출력에 클러스터의 Arc 상태가 Connected로 표시되어야 합니다.

Arc에서 클러스터를 사용하도록 설정

원격으로 관리할 수 있도록 클러스터를 Azure Arc에 연결합니다.

이전 섹션에서 실행한 AksEdgeQuickStartForAio.ps1 스크립트는 클러스터를 연결하는 단계를 처리했습니다. Arc에서 지원되도록 하기 위한 추가 단계는 필요하지 않습니다.

클러스터 확인

클러스터가 Azure IoT 작업을 배포할 준비가 되었음을 확인하려면 Azure CLI용 Azure IoT 작업 확장에서 verify-host 도우미 명령을 사용할 수 있습니다. 클러스터 호스트에서 실행할 때 이 도우미 명령은 Azure Resource Manager 및 Microsoft Container Registry 엔드포인트에 대한 연결을 확인합니다.

az iot ops verify-host

Kubernetes 클러스터가 Azure Arc 지원인지 확인하려면 다음 명령을 실행합니다.

kubectl get deployments,pods -n azure-arc

출력은 다음 예와 같습니다.

NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clusterconnect-agent         1/1     1            1           10m
deployment.apps/extension-manager            1/1     1            1           10m
deployment.apps/clusteridentityoperator      1/1     1            1           10m
deployment.apps/controller-manager           1/1     1            1           10m
deployment.apps/flux-logs-agent              1/1     1            1           10m
deployment.apps/cluster-metadata-operator    1/1     1            1           10m
deployment.apps/extension-events-collector   1/1     1            1           10m
deployment.apps/config-agent                 1/1     1            1           10m
deployment.apps/kube-aad-proxy               1/1     1            1           10m
deployment.apps/resource-sync-agent          1/1     1            1           10m
deployment.apps/metrics-agent                1/1     1            1           10m

NAME                                              READY   STATUS    RESTARTS        AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst         3/3     Running   0               10m
pod/extension-manager-65b8f7f4cb-tp7pp            3/3     Running   0               10m
pod/clusteridentityoperator-6d64fdb886-p5m25      2/2     Running   0               10m
pod/controller-manager-567c9647db-qkprs           2/2     Running   0               10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df              1/1     Running   0               10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z    2/2     Running   0               10m
pod/extension-events-collector-58dfb78cb5-vxbzq   2/2     Running   0               10m
pod/config-agent-7579f558d9-5jnwq                 2/2     Running   0               10m
pod/kube-aad-proxy-56d9f754d8-9gthm               2/2     Running   0               10m
pod/resource-sync-agent-769bb66b79-z9n46          2/2     Running   0               10m
pod/metrics-agent-6588f97dc-455j8                 2/2     Running   0               10m

다음 단계

이제 Azure Arc 사용 Kubernetes 클러스터가 준비되었으며, Azure IoT 작업을 배포할 수 있습니다.