Azure 로컬 에서 Azure Arc로 활성화된 Azure Kubernetes Service(AKS)를 사용하여 Kubernetes 클러스터를 배포하고 관리할 수 있습니다. 클러스터는 Azure 로컬 플랫폼에서 VM(가상 머신)으로 실행되며 Azure Arc 통해 Azure 연결됩니다. 이 연결을 통해 Azure 포털, Azure CLI 또는 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 일관된 관리 환경을 제공합니다. 목표는 통합 배포 및 수명 주기 관리 환경을 제공하는 것입니다.
이 문서에서는 다중 랙 배포를 위한 Azure 로컬 AKS의 주요 아키텍처 개념을 설명합니다. 컨트롤 플레인 노드 및 노드 풀과 같은 핵심 구성 요소를 소개합니다.
개요
Azure 로컬 AKS 클러스터를 배포하는 경우 플랫폼은 Kubernetes 컨트롤 플레인 노드 및 작업자 노드 역할을 하는 가상 머신을 배포합니다. Azure 로컬 플랫폼은 만들기, 크기 조정, 업그레이드 및 삭제를 포함하여 이러한 클러스터의 전체 수명 주기를 관리합니다.
AKS Arc는 확장성을 염두에 두고 Kubernetes 클러스터를 효과적으로 배포하기 위해 미리 정의된 구성을 사용합니다. 배포 작업은 여러 Linux 가상 머신을 만들고 함께 조인하여 하나 이상의 Kubernetes 클러스터를 만듭니다.
주요 개념
Azure 로컬 다중 랙 배포에서 AKS에 대한 몇 가지 주요 개념이 있습니다.
Azure 로컬 플랫폼
다중 랙 배포를 위한 Azure 로컬 AKS 클러스터를 실행하기 위한 온-프레미스 인프라를 제공합니다. AKS 클러스터는 이 인프라에 배포되고 Azure 통해 관리됩니다. 플랫폼은 Azure 완전히 관리되며 다음과 같은 핵심 AKS Arc 구성 요소가 있습니다.
- AKS Arc 클러스터 확장: 클러스터 확장은 Azure Resource Manager 리소스 공급자와 동일한 온-프레미스 확장입니다. Microsoft.ContainerService 리소스 공급자가 Azure에서 AKS 클러스터를 관리하는 것처럼, AKS Arc 클러스터 확장은 Azure를 통해 Kubernetes 클러스터를 관리하는 데 도움이 됩니다.
- 사용자 지정 위치: 사용자 지정 위치는 Azure 로컬 환경을 나타냅니다. AKS 클러스터를 만들 때 올바른 인프라에 배포를 대상으로 지정할 사용자 지정 위치를 지정합니다. Azure 로컬 배포되면 사용자 지정 위치가 자동으로 만들어지고 사용자에게 표시되어 AKS 클러스터 배포를 대상으로 합니다.
AKS 클러스터
AKS 클러스터는 Kubernetes 컨트롤 플레인 구성 요소 및 Linux 노드 풀을 실행하기 위해 Linux VM을 사용하는 Kubernetes의 고가용성 배포입니다. Azure 로컬 다중 랙 배포에는 하나 이상의 AKS 클러스터가 있을 수 있습니다.
Azure 로컬 AKS 클러스터(다중 랙)는 다음으로 구성됩니다.
컨트롤 플레인: Kubernetes는 컨트롤 플레인 노드를 사용하여 Kubernetes 클러스터의 모든 구성 요소가 원하는 상태로 유지되도록 합니다. 또한 컨트롤 플레인은 컨테이너화된 애플리케이션을 보유하는 작업자 노드 풀을 관리하고 유지 관리합니다. Arc에서 사용하도록 설정된 AKS는 KubeVIP 부하 분산 장치를 배포하여 Kubernetes 컨트롤 플레인의 API 서버 IP 주소를 항상 사용할 수 있도록 합니다.
컨트롤 플레인 노드는 다음 주요 구성 요소(전체 목록이 아님)를 실행합니다.
- API 서버: Kubernetes API와의 상호 작용을 사용하도록 설정합니다. 이 구성 요소는 Azure CLI, Azure Portal 또는 kubectl과 같은 관리 도구에 대한 상호 작용을 제공합니다.
- Etcd: 클러스터의 수명 주기 관리에 필요한 데이터를 저장하는 분산 키-값 저장소입니다. 컨트롤 플레인 상태를 저장합니다.
노드 풀: Kubernetes에서 노드 풀은 동일한 구성을 공유하는 클러스터 내의 노드 그룹입니다. 노드 풀을 사용하면 특정 역할, 기능 또는 하드웨어 구성이 있는 노드 집합을 만들고 관리할 수 있습니다. 노드 풀을 사용하면 AKS 클러스터의 인프라를 보다 세부적으로 제어할 수 있습니다. AKS 클러스터에 Linux 노드 풀을 배포할 수 있습니다. 각 노드 풀에는 구성 가능한 VM 크기 및 노드 수가 있습니다. Azure 연결을 유지하는 Arc 에이전트를 호스트하려면 하나 이상의 Linux 노드 풀이 있어야 합니다.
Kubernetes 버전
Azure 로컬 AKS는 특정 Kubernetes 버전을 지원합니다. 지원되는 Kubernetes 버전 및 업그레이드 프로세스에 대해 자세히 알아볼 수 있습니다. 다중 랙 배포를 위해 Azure 로컬 AKS 업그레이드.
VM 크기
클러스터를 만들 때 사용 가능한 SKU 카탈로그에서 컨트롤 플레인 및 작업자 노드에 대한 VM 크기를 선택합니다. 플랫폼은 사용 가능한 VM 크기를 정의합니다. 자세한 내용은 Azure 로컬 VM 크기를 참조하세요>.
클러스터 수명 주기
Azure 통해 AKS 클러스터의 전체 수명 주기를 관리합니다.
| 수술 | Description |
|---|---|
| 창조하다 | 사용자 지정 위치, 논리 네트워크, Kubernetes 버전, VM 크기 및 노드 수를 지정하여 새 클러스터를 배포합니다. |
| Scale | 노드 풀에서 컨트롤 플레인 노드(노드 수가 홀수인 경우) 또는 작업자 노드를 추가하거나 제거합니다. 또는 클러스터에 새 노드 풀을 추가합니다. |
| 업그레이드 | 클러스터를 최신 Kubernetes 버전으로 업데이트합니다. 업그레이드는 가동 중지 시간을 최소화하기 위해 롤링 업데이트로 수행됩니다. |
| 삭제 | 클러스터를 제거하고 연결된 인프라 리소스를 해제합니다. |
모든 작업은 Azure 포털, Azure CLI(az aksarc), ARM 템플릿 및 Bicep 통해 사용할 수 있습니다.
Azure Arc 연결
각 AKS 클러스터는 Arc 지원 Kubernetes 클러스터로 Azure 자동으로 연결됩니다. 이 연결은 다음을 제공합니다.
- Azure 포털 관리: Azure 포털에서 클러스터 상태, 노드 풀 및 워크로드를 봅니다.
- Azure Monitor: Container Insights를 사용하도록 설정하여 클러스터 상태, 성능 및 로그를 모니터링합니다.
- Azure Policy: 클러스터에 정책을 적용하고 적용합니다.
- GitOps: Flux v2를 사용하여 Git 리포지토리에서 클러스터 구성을 관리합니다.
-
클러스터 액세스: 직접 네트워크 액세스 없이 Kubernetes API 서버에
az connectedk8s proxy연결합니다.