이 문서에서는 Helm 차트 를 통해 Azure Arc 지원 Kubernetes 클러스터 확장을 사용하여 Kubernetes 애플리케이션을 관리하는 방법을 설명합니다. Azure Arc 지원 Kubernetes의 클러스터 확장 기능에는 가장 복잡한 Kubernetes 애플리케이션도 정의, 설치 및 업그레이드하는 데 필요한 모든 구성 요소가 있습니다.
클러스터 확장 기능은 Helm의 패키징 구성 요소를 기반으로 합니다. 확장 기능을 사용하면 Kubernetes 클러스터를 기반으로 다양한 기능을 설치하고 수명 주기를 관리할 수 있는 Azure Resource Manager 기반 환경을 사용할 수 있습니다.
클러스터 운영자 또는 관리자는 클러스터 확장 기능을 사용하여 다음을 수행할 수 있습니다.
- Kubernetes 클러스터에 키 관리, 데이터 및 애플리케이션 제품을 설치하고 관리합니다.
- Azure Policy를 사용하여 사용자 환경의 모든 클러스터에서 클러스터 확장의 대규모 배포를 자동화할 수 있습니다.
- 각 확장별로 릴리스 열차(예:
Preview
또는Stable
)를 구독합니다. - 확장에 대해 자동 업그레이드를 설정하거나 특정 버전을 고정하고 수동으로 버전을 업그레이드할 수 있습니다.
- 확장 속성을 업데이트하거나 확장 인스턴스를 삭제합니다.
다양한 Azure 서비스와 시나리오를 지원하는 확장 기능을 사용할 수 있습니다. 현재 지원되는 확장 목록은 Azure Arc 지원 Kubernetes 클러스터에 사용 가능한 확장을 참조하세요.
아키텍처
아키텍처 다이어그램을 고해상도로 다운로드하려면 Jumpstart Gems를 방문하세요.
클러스터 확장 인스턴스는 Azure Resource Manager의 Azure Arc 지원 Kubernetes 리소스(Microsoft.KubernetesConfiguration/extensions
로 표시)를 기반으로 확장 Azure Resource Manager 리소스(Microsoft.Kubernetes/connectedClusters
)로 만들어집니다.
Azure Resource Manager에서 이 표현을 사용하면 모든 Azure Arc 지원 Kubernetes 리소스에서 특정 클러스터 확장의 존재 여부 또는 부재를 확인하는 정책을 작성할 수 있습니다. 특정 속성 값이 있는 클러스터 확장이 누락된 클러스터를 확인한 후 Azure Policy를 사용하여 비준수 리소스를 수정할 수 있습니다.
config-agent
클러스터에서 실행되는 구성 요소는 Azure Arc 지원 Kubernetes 리소스에서 신규 및 업데이트된 확장 리소스를 추적합니다. 클러스터에서 실행되는 에이전트는 extensions-manager
설치해야 하는 확장 유형을 읽습니다. 그런 다음, Azure Container Registry 또는 Microsoft Container Registry에서 연결된 Helm 차트를 가져와 클러스터에 설치합니다.
클러스터에서 config-agent
실행되는 구성 요소와 extensions-manager
구성 요소는 모두 확장 인스턴스 업데이트, 버전 업데이트 및 확장 인스턴스 삭제를 처리합니다. 이러한 에이전트는 클러스터의 시스템 할당 관리 ID를 사용하여 Azure 서비스와 안전하게 통신합니다.
참고 항목
config-agent
는 Azure Arc 지원 Kubernetes 클러스터 위에 있는 새 확장 인스턴스 또는 업데이트된 확장 인스턴스를 확인합니다. 에이전트는 클러스터로 끌어올 확장의 원하는 상태에 대한 연결이 필요합니다. 에이전트가 Azure에 연결할 수 없는 경우 원하는 상태를 클러스터로 전파하는 것이 지연됩니다.
확장 인스턴스에 대한 보호된 구성 설정은 Azure Arc 지원 Kubernetes 서비스에서 최대 48시간 동안 저장됩니다. 따라서 Azure에서 확장 리소스를 만든 후 48시간 동안 클러스터의 연결이 끊긴 상태로 유지되면, 확장의 상태가 Pending
에서 Failed
로 변경됩니다. 이를 방지하려면 클러스터를 정기적으로 온라인 상태로 만드는 것이 좋습니다.
중요합니다
현재 Azure Arc 지원 Kubernetes 클러스터 확장은 Flux(GitOps) 및 컨테이너용 Microsoft Defender를 제외하고 ARM64 기반 클러스터에서 지원되지 않습니다. 다른 클러스터 확장을 설치하고 사용하려면 클러스터에 운영 체제 및 아키텍처 유형 Linux/amd64 노드가 하나 이상 있어야 합니다.
확장 범위
각 확장 형식은 클러스터에서 작동하는 범위를 정의합니다. Arc 지원 Kubernetes 클러스터의 확장 설치는 클러스터 범위 또는 네임스페이스 범위입니다.
확장 인스턴스를 만들 때 확장 인스턴스가 설치된 네임스페이스를 지정합니다 release-namespace
. 일반적으로 클러스터 범위 확장의 인스턴스 하나와 Pod, 연산자 및 CRD(사용자 지정 리소스 정의)를 포함한 해당 구성 요소는 클러스터의 릴리스 네임스페이스에 설치됩니다.
특정 네임스페이스에 네임스페이스 범위 확장을 설치하기 위해 –namespace
속성을 사용할 수 있습니다. 네임스페이스 범위에서 확장을 배포할 수 있으므로 네임스페이스 범위 확장의 여러 인스턴스와 해당 구성 요소가 클러스터에서 실행될 수 있습니다. 확장의 각 인스턴스에는 배포된 네임스페이스에 대한 권한이 있습니다. 이 문서에 설명된 모든 확장은 Kubernetes의 Event Grid 확장을 제외하고 클러스터 범위에 설정되어 있습니다.
현재 사용 가능한 모든 확장은 Azure Arc의 Azure API Management를 제외하고 클러스터 범위입니다.
관련 콘텐츠
- 빠른 시작을 사용하여 Kubernetes 클러스터를 Azure Arc에 연결합니다.
- Azure Arc 지원 Kubernetes 클러스터에 클러스터 확장을 배포합니다.