클러스터 확장

Helm 차트는 가장 복잡한 Kubernetes 애플리케이션을 정의, 설치 및 업그레이드하는 데 필요한 빌딩 블록도 제공하여 Kubernetes 애플리케이션을 관리하는 데 도움이 됩니다. 클러스터 확장 기능은 Helm의 패키징 구성 요소 위에 빌드되어 Kubernetes 클러스터 위에 다양한 Azure 기능을 설치하고 수명 주기 관리를 위한 Azure Resource Manager 기반 환경을 제공합니다.

클러스터 운영자 또는 관리자는 클러스터 확장 기능을 사용하여 다음을 수행할 수 있습니다.

  • Kubernetes 클러스터에 키 관리, 데이터 및 애플리케이션 제품을 설치하고 관리합니다.
  • Azure Policy를 사용하여 사용자 환경의 모든 클러스터에서 클러스터 확장의 대규모 배포를 자동화할 수 있습니다.
  • 각 확장에 대한 릴리스 트레인(예: 미리 보기 또는 안정 버전)을 구독합니다.
  • 확장에 대한 자동 업그레이드를 설정하거나 특정 버전에 고정하고 버전을 수동으로 업그레이드합니다.
  • 확장 속성을 업데이트하거나 확장 인스턴스를 삭제합니다.

현재 지원되는 모든 확장 목록은 Azure Arc 지원 Kubernetes 클러스터에 사용 가능한 확장을 참조하세요.

아키텍처

Cluster extensions architecture

클러스터 확장 인스턴스는 Azure Resource Manager의 Azure Arc 지원 Kubernetes 리소스(Microsoft.Kubernetes/connectedClusters로 표시)를 기반으로 확장 Azure Resource Manager 리소스(Microsoft.KubernetesConfiguration/extensions)로 만들어집니다. 이 Azure Resource Manager 표현을 사용하면 특정 클러스터 확장 유무에 관계없이 모든 Azure Arc 지원 Kubernetes 리소스를 확인하는 정책을 작성할 수 있습니다. 원하는 속성 값을 가진 클러스터 확장이 누락된 클러스터를 결정한 후에는 Azure Policy를 사용하여 이러한 비규격 리소스를 수정할 수 있습니다.

클러스터에서 실행되는 config-agent는 Azure Arc 지원 Kubernetes 리소스에서 새로운 확장 리소스와 업데이트된 확장 리소스를 추적합니다. 클러스터에서 실행되는 extensions-manager 에이전트는 설치해야 하는 확장 유형을 읽고 Azure Container Registry 또는 Microsoft Container Registry에서 연결된 Helm 차트를 끌어와 클러스터에 설치합니다.

클러스터에서 실행되는 config-agentextensions-manager 구성 요소 모두 확장 인스턴스 업데이트, 버전 업데이트 및 확장 인스턴스 삭제를 처리합니다. 이러한 에이전트는 클러스터의 시스템 할당 관리 ID를 사용하여 Azure 서비스와 안전하게 통신합니다.

참고 항목

config-agent는 Azure Arc 지원 Kubernetes 클러스터 위에 있는 새 확장 인스턴스 또는 업데이트된 확장 인스턴스를 확인합니다. 에이전트는 클러스터로 끌어올 수 있도록 확장의 원하는 상태를 연결해야 합니다. 에이전트가 Azure에 연결할 수 없는 경우 원하는 상태를 클러스터로 전파하는 작업이 지연됩니다.

확장 인스턴스에 대한 보호된 구성 설정은 Azure Arc 지원 Kubernetes 서비스에서 최대 48시간 동안 저장됩니다. 결과적으로 Azure에서 확장 리소스를 만든 후 48시간 동안 클러스터가 분리된 상태를 유지하는 경우 확장은 Pending 상태에서 Failed 상태로 변경됩니다. 이를 방지하려면 클러스터를 정기적으로 온라인 상태로 만드는 것이 좋습니다.

Important

현재 Azure Arc 지원 Kubernetes 클러스터 확장은 Flux(GitOps)를 제외하고 ARM64 기반 클러스터에서 지원되지 않습니다. 다른 클러스터 확장을 설치 및 사용하려면 클러스터에 운영 체제 및 아키텍처 형식이 linux/amd64인 노드가 하나 이상 있어야 합니다.

확장 범위

각 확장 형식은 클러스터에서 작동하는 범위를 정의합니다. Arc 지원 Kubernetes 클러스터의 확장 설치는 클러스터 범위 또는 네임스페이스 범위입니다.

클러스터 범위 확장은 확장을 만드는 동안 지정된 release-namespace에 설치됩니다. 일반적으로 클러스터 범위 확장의 인스턴스 하나와 Pod, 연산자 및 CRD(사용자 지정 리소스 정의)와 같은 구성 요소는 클러스터의 릴리스 네임스페이스에 설치됩니다.

네임스페이스 범위 확장은 –namespace 속성을 사용하여 제공된 지정된 네임스페이스에 설치할 수 있습니다. 확장을 네임스페이스 범위에 배포할 수 있으므로 네임스페이스 범위 확장의 여러 인스턴스와 해당 구성 요소가 클러스터에서 실행될 수 있습니다. 각 확장 인스턴스에는 배포되는 네임스페이스에 대한 권한이 있습니다. 위의 모든 확장은 Kubernetes의 Event Grid를 제외한 클러스터 범위입니다.

Azure Arc의 Azure API Management를 제외하고 현재 사용 가능한 모든 확장은 클러스터 범위입니다.

다음 단계