Azure Stack Edge에서 Azure Kubernetes Service 배포
적용 대상: Azure Stack Edge Pro - GPUAzure Stack Edge Pro 2Azure Stack Edge Pro R
참고 항목
SAP 또는 PMEC 고객인 경우에만 다음 절차를 사용합니다.
이 문서에서는 Azure Stack Edge 디바이스에서 AKS(Azure Kubernetes Service)를 배포하고 관리하는 방법을 설명합니다. 이 문서를 사용하여 영구 볼륨을 만들고, GitOps를 사용하여 Arc 지원 Kubernetes 클러스터를 관리하고, AKS 및 Azure Arc를 제거할 수도 있습니다.
이 문서의 대상 그룹은 Azure Stack Edge 디바이스에서 워크로드 설정 및 배포에 익숙한 IT 관리자입니다.
Azure Stack Edge의 Azure Kubernetes Service 정보
Azure Stack Edge는 고성능 네트워크 I/O 기능이 포함된 AI 지원 에지 컴퓨팅 디바이스입니다. Azure Stack Edge 디바이스에서 컴퓨팅을 구성한 후 Azure Portal을 사용하여 인프라 VM을 포함하여 Azure Kubernetes 서비스를 배포할 수 있습니다. 그러면 AKS 클러스터는 Azure Arc를 통한 워크로드 배포에 사용됩니다.
필수 조건
시작하기 전에 다음 사항을 확인합니다.
Azure Portal 액세스하고 Azure Stack Edge Pro GPU 디바이스에 액세스할 수 있는 자격 증명이 있는 Microsoft 계정이 있습니다. Azure Stack Edge 디바이스는 디바이스 설정 및 활성화의 지침을 사용하여 구성 및 활성화됩니다.
Azure Stack Edge 디바이스에서 컴퓨팅을 위해 하나 이상의 가상 스위치를 만들고 사용하도록 설정했습니다. 자세한 단계는 가상 스위치 만들기를 참조하세요.
지원되는 운영 체제를 실행하는 디바이스에 액세스할 클라이언트가 있습니다. Windows 클라이언트를 사용하는 경우 PowerShell 5.0 이상을 실행하고 있는지 확인합니다.
Kubernetes 클러스터에서 Azure Arc를 사용하도록 설정하기 전에 구독에 대해
Microsoft.Kubernetes
및Microsoft.KubernetesConfiguration
리소스 공급자를 사용하도록 설정하고 등록했는지 확인합니다. 자세한 단계는 Azure CLI를 통해 리소스 공급자 등록을 참조하세요.Azure Arc for Kubernetes 클러스터를 배포하려는 경우 리소스 그룹을 만들어야 합니다. 리소스 그룹에 대한 소유자 수준 액세스 권한이 있어야 합니다.
리소스 그룹에 대한 액세스 수준을 확인하려면 리소스 그룹>액세스 제어(IAM)>내 액세스 보기로 이동합니다. 역할 할당에서 소유자로 나열되어야 합니다.
배포하려는 워크로드에 따라 다음 선택적 단계도 완료되었는지 확인해야 할 수 있습니다.
Arc 지원 클러스터에 사용자 지정 위치를 배포하려는 경우 구독에 대해
Microsoft.ExtendedLocation
리소스 공급자를 등록해야 합니다.사용자 지정 위치 개체 ID를 가져와서 이를 사용하여 디바이스의 PowerShell 인터페이스를 통해 사용자 지정 위치를 사용하도록 설정해야 합니다.
az login az ad sp show --id bc313c14-387c-4e7d-a58e-70417303ee3b --query id -o tsv
Azure CLI를 사용하는 샘플 출력은 다음과 같습니다. Azure Portal에서 Cloud Shell을 통해 동일한 명령을 실행할 수 있습니다.
PS /home/user> az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv 51dfe1e8-70c6-4de5-a08e-e18aff23d815 PS /home/user>
자세한 내용은 Azure Arc 지원 Kubernetes의 사용자 지정 위치 만들기 및 관리를 참조하세요.
Kubernetes 또는 PMEC 워크로드를 배포하는 경우:
- 로컬 UI 또는 PowerShell을 사용하여 특정 워크로드 프로필을 선택했을 수 있습니다. 로컬 UI에 대한 자세한 단계는 컴퓨팅 IPS 구성에, PowerShell에 대한 자세한 단계는 Kubernetes 워크로드 프로필 변경에 문서화되어 있습니다.
- 가상 네트워크 만들기의 지침에 따라 추가한 가상 네트워크가 필요할 수 있습니다.
인프라 VM으로 HPN VM을 사용하는 경우 vCPU가 자동으로 예약되어야 합니다. 다음 명령을 실행하여 설치를 확인합니다.
Get-HcsNumaLpMapping
이 구성은 Azure Stack Edge 2307을 설치하거나 업데이트할 때 적용됩니다. 업데이트 중에 구성이 적용되지 않는 두 가지 시나리오가 있습니다.
Numa0의 4개 vCPU + Numa1의 모든 vCPU보다 더 많은 minroot vCPU가 구성된 경우. 이 시나리오는 주로 minroot에 대한 모든 vCPU를 구성하는 Azure Stack Edge 게이트웨이 고객에게 적용됩니다. Azure Stack Edge Pro 2의 경우 Numa가 하나만 있습니다. 40개 코어가 있는 Azure Stack Edge Pro 2의 경우 24개 vCPU보다 더 많은 최소 루트 vCPU가 구성되고, 48개 vCPU가 있는 Azure Stack Edge Pro 2의 경우 28개 이상의 vCPU가 구성됩니다.
HPN VM을 배포하고 40개 코어가 있는 컴퓨터에서 16개 이상의 vCPU를 사용하거나 HPN VM의 경우 48개 코어가 있는 컴퓨터에서 20개 이상의 vCPU를 사용하는 경우.
Azure Stack Edge Pro GPU에 대한 샘플 출력은 다음과 같습니다.
Hardware: { Numa Node #0 : CPUs [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } HpnCapableLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39] } 7MT0SZ2: HpnLpMapping: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] } HpnLpAvailable: { Numa Node #0 : CPUs [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] } { Numa Node #1 : CPUs [] }
Azure Stack HCI에서 AKS 배포
Azure Stack Edge에 AKS를 배포하는 여러 단계가 있습니다. 아래와 같이 일부 단계는 선택 사항입니다.
AKS가 사용하도록 설정되어 있는지 확인
AKS가 사용하도록 설정되어 있는지 확인하려면 Azure Portal의 Azure Stack Edge 리소스로 이동합니다. 개요 창에서 Azure Kubernetes Service 타일을 선택합니다.
사용자 지정 위치 설정(선택 사항)
디바이스의 PowerShell 인터페이스에 연결합니다.
다음 명령을 옵션으로 실행하여 사용자 지정 위치를 설정합니다. 필수 구성 요소를 완료할 때 가져온 사용자 지정 위치 개체 ID를 입력합니다.
Set-HcsKubeClusterArcInfo –CustomLocationsObjectId <custom_location_object_id>
Azure CLI를 사용하는 샘플 출력은 다음과 같습니다. Azure Portal에서 Cloud Shell을 통해 동일한 명령을 실행할 수 있습니다.
[1d9nhq2.microsoftdatabox.com]: PS> Set-HcsKubeClusterArcInfo –CustomLocationsObjectId 51dfe1e8-70c6-4de5-a08e-e18aff23d815 [1d9nhq2.microsoftdatabox.com]: PS>
고정 IP 풀 지정(선택 사항)
Kubernetes Pod에서 사용하는 가상 네트워크에 IP 풀을 할당할 수 있는 선택적 단계입니다.
참고 항목
SAP 고객은 이 단계를 건너뛸 수 있습니다.
Kubernetes에 사용하도록 설정된 각 가상 네트워크에 대해 고정 IP 주소 풀을 지정할 수 있습니다. Kubernetes에 대해 사용하도록 설정된 가상 네트워크는 Kubernetes 클러스터용으로 만들어진 NetworkAttachmentDefinition
을 만듭니다.
애플리케이션 프로비저닝 중에 Kubernetes Pod는 컨테이너 SR-IOV(단일 루트 I/O 가상화) 인터페이스와 같은 컨테이너 네트워크 인터페이스에 IP 풀의 고정 IP 주소를 사용할 수 있습니다. 이 작업은 PodSpec의 NetworkAttachmentDefinition
을 가리켜서 수행할 수 있습니다.
다음 단계를 사용하여 디바이스의 로컬 UI에 고정 IP 풀을 할당합니다.
Azure Portal의 고급 네트워킹 페이지로 이동합니다.
이전에 가상 네트워크를 만들지 않은 경우 가상 네트워크 추가를 선택하여 가상 네트워크를 만듭니다. 가상 네트워크, VLAN ID, 서브넷 마스크 및 게이트웨이와 연결된 가상 스위치를 지정해야 합니다.
여기에 표시된 예제에서는 3개의 가상 네트워크를 구성했습니다. 이러한 각 가상 네트워크에서 VLAN은 0이고 서브넷 마스크와 게이트웨이는 외부 값과 일치합니다. 예를 들어 255.255.0.0 및 192.168.0.1입니다.
가상 네트워크에 IP 주소 풀을 할당합니다.
Kubernetes 페이지에서 만든 가상 네트워크를 선택하고 Kubernetes에 사용하도록 설정합니다.
가상 네트워크의 Kubernetes Pod에 대해 연속된 정적 IP 범위를 지정합니다. 이 예제에서는 만든 세 개의 가상 네트워크 각각에 대해 하나의 IP 주소 범위가 제공되었습니다.
적용을 선택하여 모든 가상 네트워크에 대한 변경 내용을 적용합니다.
참고 항목
AKS 클러스터가 배포된 후에는 IP 풀 설정을 수정할 수 없습니다.
컴퓨팅 가상 스위치 구성
이 단계를 사용하여 Kubernetes 컴퓨팅 트래픽에 대한 가상 스위치를 구성합니다.
디바이스의 로컬 UI에서 Kubernetes 페이지로 이동합니다.
수정 을 선택하여 Kubernetes 컴퓨팅 트래픽에 대한 가상 스위치를 구성합니다.
인터넷에 액세스할 수 있는 포트에서 컴퓨팅을 사용하도록 설정합니다. 예를 들어 이 경우 인터넷에 연결된 포트 2가 컴퓨팅에 사용하도록 설정됩니다. 인터넷 액세스를 사용하면 AKS에서 컨테이너 이미지를 검색할 수 있습니다.
Azure 일관된 서비스 가상 IP는 외부 라우팅을 통해 또는 동일한 네트워크에서 Azure 일관된 서비스 가상 IP를 만들어 이 컴퓨팅 가상 스위치 네트워크에 연결할 수 있어야 합니다.
Kubernetes 노드의 경우 이 포트의 네트워크와 동일한 서브넷에 6개의 정적 IP의 연속 범위를 지정합니다.
AKS 배포의 일부로 관리 클러스터와 대상 클러스터라는 두 개의 클러스터가 만들어집니다. 지정한 IP는 다음과 같이 사용됩니다.
관리 클러스터에는 관리 컨트롤 플레인 네트워크 인터페이스의 경우 IP 1개 + API 서버(VIP)용 IP 1개 등 두 개의 IP가 필요합니다.
대상 클러스터는 (2+n) IP = 대상 클러스터 컨트롤 플레인 네트워크 인터페이스의 경우 IP 1개 + API 서버(VIP)용 IP 1개 + 노드 수, n개가 필요합니다.
업데이트 롤링에 추가 IP가 사용됩니다.
단일 노드 디바이스의 경우 위의 결과 6개의 IP가 Kubernetes 클러스터를 배포합니다. 두 노드 클러스터의 경우 7개의 IP가 필요합니다.
Kubernetes 외부 서비스 IP는 Kubernetes 클러스터 외부에 노출되는 서비스에 고정 IP를 공급하는 데 사용됩니다. 이러한 각 서비스에는 하나의 IP가 필요합니다.
VM 클라우드 관리 사용
이 단계는 Azure Stack Edge 포털이 AKS용 Azure Stack Edge 디바이스에 인프라 VM을 배포하도록 허용하는 데 필요합니다. 예를 들어 대상 클러스터 작업자 노드의 경우 입니다.
Azure Portal에서 Azure Stack Edge 리소스로 이동합니다.
개요로 이동하여 가상 머신 타일을 선택합니다.
가상 머신>개요 페이지에서 가상 머신 클라우드 관리에 대해 사용을 선택합니다.
Kubernetes 클러스터 설정 및 Arc 사용
이 단계를 사용하여 Kubernetes 클러스터를 설정 및 배포하고 Arc를 통해 관리할 수 있도록 설정합니다.
Important
Kubernetes 클러스터를 만들기 전에 다음 사항에 유의하세요.
- AKS 클러스터가 배포된 후에는 IP 풀 설정을 수정할 수 없습니다.
- AKS 대상 클러스터를 Arc 지원의 일부로, 이 문서의 사용자 지정 위치 설정(선택 사항) 섹션에서 선택적 명령을 사용하여 개체 ID를 전달한 경우 사용자 지정 위치가 활성화됩니다. 사용자 지정 위치를 사용하도록 설정하지 않은 경우에도 Kubernetes 클러스터를 만들기 전에 이 작업을 선택할 수 있습니다. 클러스터 배포가 시작된 후에는 사용자 지정 위치를 설정할 수 없습니다.
다음 단계를 따라 템플릿을 배포합니다.
Azure Portal에서 Azure Stack Edge 리소스로 이동합니다.
Azure Kubernetes Service 타일을 선택합니다.
추가를 선택하여 AKS를 구성합니다.
Kubernetes 서비스 만들기 대화 상자에서 인프라 VM에 대한 Kubernetes 노드 크기를 선택합니다. 배포하는 워크로드 크기에 적합한 VM 노드 크기를 선택합니다. 이 예제에서는 VM 크기 Standard_F16s_HPN - 16개 vCPU, 32.77GB 메모리를 선택했습니다.
SAP 배포의 경우 VM 노드 크기 Standard_DS5_v2를 선택합니다.
참고 항목
노드 크기 드롭다운 메뉴가 채워지지 않으면 이전 단계에서 VM을 사용하도록 설정한 후 동기화되도록 몇 분 정도 기다립니다.
Arc 사용 Kubernetes를 통해 클라우드에서 컨테이너 관리를 참조하세요. 이 옵션을 선택하면 Kubernetes 클러스터가 만들어질 때 Arc가 사용하도록 설정됩니다.
변경을 선택하는 경우 구독 이름, 리소스 그룹, 클러스터 이름 및 지역을 제공해야 합니다.
구독 이름이 자동으로 채워져야 합니다.
고유한 리소스 그룹 이름을 지정합니다. Azure Stack Edge 리소스를 배포한 것과 동일한 리소스 그룹을 사용하도록 선택할 수도 있습니다. 리소스 그룹에 대한 소유자 수준 액세스 권한이 있어야 합니다. 리소스 그룹에 대한 액세스 수준을 확인하려면 리소스 그룹>액세스 제어(IAM)>내 액세스 보기로 이동합니다. 역할 할당에서 소유자로 나열되어야 합니다.
Arc 지원 Kubernetes 클러스터의 이름을 지정하거나 기본값을 적용합니다.
Arc 지원 Kubernetes 클러스터에 대한 리소스를 만들 지역을 선택합니다. 지원되는 지역의 필터링된 목록이 드롭다운 목록에 표시됩니다.
구성을 선택합니다. 기본값으로 다시 설정 옵션을 선택하여 Arc 설정을 다시 설정할 수도 있습니다.
만들기를 선택하여 Kubernetes 서비스를 만듭니다.
클러스터 만들기가 시작될 때 알림이 표시됩니다.
영구 볼륨 추가
PV(PersistentVolume): Kubernetes 클러스터의 스토리지 부분입니다. Kubernetes 스토리지는 PersistentVolume
으로 정적으로 프로비전될 수 있습니다. 또한 StorageClass
로 동적으로 프로비전할 수도 있습니다. 자세한 내용은 Kubernetes Pod에 대한 스토리지 요구 사항을 참조하세요.
공유를 만들 때 컴퓨팅이 인라인으로 사용되는지 여부에 따라 PV를 만들기 위한 두 가지 워크플로가 있습니다. 이러한 각 단계는 다음 섹션에서 설명합니다.
공유를 만드는 동안 인라인으로 컴퓨팅을 사용하도록 설정된 영구 볼륨 만들기
Azure Stack Edge Pro 디바이스에서는 디바이스의 스토리지 기능을 사용하여 정적으로 프로비전되는 PersistentVolumes
를 만듭니다. 공유를 프로비전하고 Edge 컴퓨팅과 공유 사용 옵션이 사용하도록 설정되는 경우 이 작업은 Kubernetes 클러스터에서 PV 리소스를 자동으로 만듭니다.
클라우드 계층화를 사용하기 위해 Edge 컴퓨팅과 공유 사용 옵션이 사용하도록 설정된 Edge 클라우드 공유를 만들 수 있습니다. 이 공유에 대한 PV가 자동으로 다시 만들어집니다. 이 옵션을 사용하도록 설정하면 Edge 공유에 쓰는 모든 애플리케이션 데이터가 클라우드에 계층화됩니다.
공유를 만드는 동안 인라인으로 컴퓨팅을 사용하도록 설정되지 않은 영구 볼륨 만들기
Edge 컴퓨팅에서 공유 사용 옵션을 선택 취소하여 만든 공유의 경우 다음 단계를 사용하여 영구 볼륨을 추가할 수 있습니다.
Azure Portal에서 디바이스의 Azure Stack Edge 리소스로 이동합니다. 클라우드 스토리지 게이트웨이>공유로 이동합니다. 현재 디바이스에 컴퓨팅에 사용됨 상태가 사용하도록 설정된 공유가 있음을 확인할 수 있습니다.
+ 공유 추가를 선택합니다. 이 공유의 경우 Edge 컴퓨팅에서 공유 사용 옵션이 선택 취소되어 있는지 확인합니다.
새로 만든 공유는 공유 목록에서 볼 수 있으며 컴퓨팅에 사용됨 상태는 사용 안 함입니다.
Azure Stack Edge 리소스>개요로 돌아갑니다. 오른쪽 창에서 Azure Kubernetes Service 타일을 선택합니다.
Azure Kubernetes Service>개요 페이지의 영구 볼륨 타일에는 존재하는 영구 볼륨이 표시됩니다. 이러한 볼륨은 Edge 컴퓨팅에서 공유 사용 옵션을 사용하도록 설정하여 공유를 만들 때 자동으로 생성됩니다. 새 영구 볼륨을 만들려면 + 영구 볼륨 추가를 선택합니다.
영구 볼륨 추가 대화 상자에서 영구 볼륨을 만들 공유를 선택합니다.
영구 볼륨이 생성되고 있다는 알림이 표시됩니다. 이 작업을 완료하는 데 몇 분이 걸립니다.
영구 볼륨이 만들어지면 새로 추가된 영구 볼륨을 포함하도록 개요 페이지가 업데이트됩니다.
모든 영구 볼륨 보기를 선택하여 새로 만든 영구 볼륨을 확인합니다.
Azure Kubernetes Service 서비스 제거
AKS를 제거하려면 Azure Portal 다음 단계를 사용합니다.
Azure Stack Edge 리소스에서 Azure Kubernetes Service>개요로 이동합니다.
상단 명령 모음에서 제거를 선택합니다.
AKS와 함께 제거하려는 구성된 추가 기능을 선택합니다. Azure Arc 지원 Kubernetes는 추가 기능입니다. 제거를 선택하면 모든 Kubernetes 구성과 선택한 추가 기능이 제거됩니다. 작업은 되돌릴 수 없으며 실행 취소할 수 없습니다.
OK를 선택하여 조작을 확정합니다.