다음을 통해 공유


확장 영역용 Azure Kubernetes Service(미리 보기)

확장 영역용 AKS(Azure Kubernetes Service)는 확장 영역 시나리오에서 완전 관리형 Kubernetes 클러스터를 더욱 쉽게 ​​배포하고 운영할 수 있도록 하는 광범위하고 정교한 기능 집합을 제공합니다.

Important

AKS 미리 보기 기능은 셀프 서비스에서 사용할 수 있습니다(옵트인 방식). 미리 보기는 "있는 그대로" 및 "사용 가능한 상태로" 제공되며 서비스 수준 계약 및 제한적 보증에서 제외됩니다. AKS 미리 보기의 일부는 고객 지원팀에서 최선을 다해 지원합니다. 따라서 이러한 기능은 프로덕션 용도로 사용할 수 없습니다. 자세한 내용은 다음 지원 문서를 참조하세요.

Azure 확장 영역이란?

Azure 확장 영역은 짧은 대기 시간 및 데이터 보존 워크로드를 제공하기 위해 지하철, 산업 센터 또는 특정 관할지에 배치된 Azure의 작은 공간 확장입니다. Azure 확장 영역은 VM(가상 머신), 컨테이너, 스토리지 및 선택한 Azure 서비스 집합을 지원합니다. 최종 사용자에 가깝고 승인된 데이터 상주 경계 내에서 대기 시간이 중요하고 처리량이 많은 애플리케이션을 실행할 수 있습니다.

Azure 확장 영역은 사용자와 가까운 Azure 확장 영역에서 실행되는 애플리케이션 간에 안전하고 안정적이며 높은 대역폭 연결을 제공하는 Microsoft 글로벌 네트워크의 일부입니다. 확장 영역은 Azure 에코시스템의 모든 이점(액세스, 사용자 환경, 자동화, 보안 등)을 사용자 또는 사용자의 관할권에 더 가깝게 제공하여 짧은 대기 시간과 데이터 보존 문제를 해결합니다. Azure 확장 영역 사이트는 확장 영역에서 실행되는 서비스와 관련된 모든 컨트롤 플레인 함수를 호스팅하는 부모 Azure 지역과 연결됩니다.

확장 영역 사용 사례

Azure 확장 영역을 사용하면 대기 시간이 짧고 데이터 상주 시나리오가 가능합니다. 예를 들어 대기 시간이 짧은 원격으로 미디어 편집 소프트웨어를 실행하거나 개인 정보 보호, 규정 및 규정 준수를 위해 애플리케이션의 데이터를 특정 지역 내에 유지할 수 있습니다.

다음 표에서는 Azure 확장 영역이 이점을 제공할 수 있는 일부 산업 및 사용 사례를 중점 설명합니다.

산업 사용 사례
의료 • 원격 환자 치료
• 원격 임상 교육
• 팝업 관리 및 서비스
공용 인프라 • 시각적 검색
• 중요 인프라
• 응급 서비스
• 감시 및 보안
제조업 • 로봇 공학의 실시간 명령 및 제어
• Machine Vision
미디어 및 게임 • 게임 및 게임 스트리밍
• 미디어 편집, 스트리밍 및 콘텐츠 배달
• 혼합 현실 및 Virtual Desktop 인프라 시나리오에 대한 원격 렌더링
석유 및 가스 • 석유 및 가스 탐사
• 인공 지능 및 기계 학습을 통한 실시간 분석 및 유추
소매 • 디지털 매장 내 환경
• 연결된 작업자

자세한 내용은 Azure 확장 영역 개요를 참조하세요.

확장 영역용 AKS란?

확장 영역용 AKS를 사용하면 조직은 확장 영역의 고유한 요구를 충족하면서 AKS의 컨테이너 오케스트레이션 및 관리 기능을 활용할 수 있어 확장 영역에 호스트된 애플리케이션의 배포 및 관리가 훨씬 간소화됩니다. 일반적인 AKS 배포와 마찬가지로 Azure 플랫폼은 AKS 컨트롤 플레인을 유지 관리하고 인프라를 제공하는 반면, 조직 애플리케이션을 실행하는 작업자 노드에 대한 제어를 유지합니다.

Azure 확장 영역용 AKS 배포 아키텍처 다이어그램으로, 컨트롤 플레인이 Azure 지역에 배포되고 에이전트 노드는 Azure 확장 영역에 배포되는 것을 보여 줍니다.

확장 영역용 AKS 클러스터를 만들면 확장 영역 애플리케이션과 워크로드의 고유한 요구와 요구 사항을 충족하도록 특별히 조정되어 최적화된 아키텍처가 사용됩니다. 클러스터의 컨트롤 플레인은 가장 가까운 Azure 지역에서 만들고 배포되고 구성되며, 클러스터에 연결된 에이전트 노드 및 노드 풀은 Azure 확장 영역에 있습니다. 확장 영역용 AKS 클러스터의 구성 요소는 Azure 지역에 배포된 일반적인 클러스터의 구성 요소와 동일하므로 동일한 수준의 기능과 성능이 유지됩니다. 자세한 내용은 AKS에 대한 Kubernetes 핵심 개념을 참조하세요.

Azure 확장 영역 위치에 클러스터 배포

Azure 확장 영역에 AKS 클러스터를 배포하는 것은 다른 지역에 AKS 클러스터를 배포하는 것과 비슷합니다. 모든 리소스 공급자는 Azure 확장 영역에 리소스를 배포하는 데 사용할 수 있는 extendedLocation 필드를 제공합니다. 이렇게 하면 AKS 클러스터를 정확하고 대상으로 지정할 수 있습니다.

필수 조건

  • 확장 영역용 AKS 클러스터를 배포하려면 먼저 구독에서 대상 Azure 확장 영역 위치에 액세스할 수 있어야 합니다. 이 액세스 권한은 Azure 확장 영역 개요에 설명된 단계에 따라 수행되는 온보딩 프로세스를 통해 제공됩니다.
  • 클러스터에서 Kubernetes 버전 1.24 이상을 실행해야 합니다.
  • 클러스터를 만드는 데 사용하는 ID에는 적절한 최소 권한이 있습니다. AKS의 액세스 및 ID에 대한 자세한 내용은 AKS(Azure Kubernetes Service)에 대한 액세스 및 ID 옵션을 참조하세요.

제한 사항 및 제약 조건

Azure 확장 영역에 AKS 클러스터를 배포하는 경우 다음과 같은 제한 사항과 제약 조건이 적용됩니다.

  • 확장 영역용 AKS를 사용하면 노드 풀에서 최대 100개의 노드만 자동 크기 조정할 수 있습니다.
  • 모든 Azure 확장 영역에서 최대 노드 수는 100개입니다.
  • Azure 확장 영역에서는 선택한 VM SKU만 제공됩니다.

매개 변수를 extendedLocation 사용하여 ARM 템플릿에서 원하는 Azure 확장 영역을 지정합니다.

"extendedLocation": {
    "name": "<extended-zone-id>",
    "type": "EdgeZone",
},

다음 ARM 템플릿은 Azure 확장 영역에 새 클러스터를 배포합니다.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.9.1.41621",
      "templateHash": "2637152180661081755"
    }
  },
  "parameters": {
    "clusterName": {
      "type": "string",
      "defaultValue": "myAKSCluster",
      "metadata": {
        "description": "The name of the Managed Cluster resource."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "The location of the Managed Cluster resource."
      }
    },
    "edgeZoneName": {
      "type": "String",
      "metadata": {
        "description": "The name of the Azure Extended Zone"
      }
    },
    "dnsPrefix": {
      "type": "string",
      "metadata": {
        "description": "Optional DNS prefix to use with hosted Kubernetes API server FQDN."
      }
    },
    "osDiskSizeGB": {
      "type": "int",
      "defaultValue": 0,
      "maxValue": 1023,
      "minValue": 0,
      "metadata": {
        "description": "Disk size (in GB) to provision for each of the agent pool nodes. This value ranges from 0 to 1023. Specifying 0 will apply the default disk size for that agentVMSize."
      }
    },
    "agentCount": {
      "type": "int",
      "defaultValue": 3,
      "maxValue": 50,
      "minValue": 1,
      "metadata": {
        "description": "The number of nodes for the cluster."
      }
    },
    "agentVMSize": {
      "type": "string",
      "defaultValue": "standard_d2s_v3",
      "metadata": {
        "description": "The size of the Virtual Machine."
      }
    },
    "linuxAdminUsername": {
      "type": "string",
      "metadata": {
        "description": "User name for the Linux Virtual Machines."
      }
    },
    "sshRSAPublicKey": {
      "type": "string",
      "metadata": {
        "description": "Configure all linux machines with the SSH RSA public key string. Your key should include three parts, for example 'ssh-rsa AAAAB...snip...UcyupgH azureuser@linuxvm'"
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.ContainerService/managedClusters",
      "apiVersion": "2022-05-02-preview",
      "name": "[parameters('clusterName')]",
      "location": "[parameters('location')]",
      "extendedLocation": {
        "name": "[parameters('edgeZoneName')]",
        "type": "EdgeZone"
      }
      "identity": {
        "type": "SystemAssigned"
      },
      "properties": {
        "dnsPrefix": "[parameters('dnsPrefix')]",
        "agentPoolProfiles": [
          {
            "name": "agentpool",
            "osDiskSizeGB": "[parameters('osDiskSizeGB')]",
            "count": "[parameters('agentCount')]",
            "vmSize": "[parameters('agentVMSize')]",
            "osType": "Linux",
            "mode": "System"
          }
        ],
        "linuxProfile": {
          "adminUsername": "[parameters('linuxAdminUsername')]",
          "ssh": {
            "publicKeys": [
              {
                "keyData": "[parameters('sshRSAPublicKey')]"
              }
            ]
          }
        }
      }
    }
  ],
  "outputs": {
    "controlPlaneFQDN": {
      "type": "string",
      "value": "[reference(resourceId('Microsoft.ContainerService/managedClusters', parameters('clusterName'))).fqdn]"
    }
  }
}

ARM 템플릿에 익숙하지 않은 경우 로컬 ARM 템플릿 배포에 대한 자습서를 참조하세요.

다음 단계

Azure 확장 영역에 AKS 클러스터를 배포한 후 AKS 클러스터 구성 옵션에 대해 알아봅니다.