GitOps를 사용하여 Azure Arc 지원 Kubernetes 클러스터 구성

완료됨

Azure Arc의 주요 이점은 설정된 개발 사례를 작업에 적용하는 DevOps 원칙을 용이하게 구현할 수 있다는 점입니다. DevOps는 IT 환경의 안정성을 위태롭게 하지 않으면서 민첩성을 높입니다.

Azure Arc 지원 Kubernetes는 수동 배포 작업을 줄여 애플리케이션 릴리스를 간소화하는 DevOps 사례인 GitOps를 지원합니다.

이 단원에서는 GitOps 및 Azure Arc 지원 Kubernetes 클러스터에 대해 구성하는 방법에 대해 알아봅니다.

Arc 지원 Kubernetes용 GitOps

GitOps를 사용하면 Arc 지원 Kubernetes를 포함하여 조직 전체에서 Kubernetes 구성을 더 쉽게 표준화할 수 있습니다. 리포지토리 또는 다른 파일 원본은 리소스의 예상 상태를 나타내는 구성 파일을 호스트합니다. 예를 들어 기준 구성에는 위임 모델, 모니터링, 로깅 설정, 클러스터 전체 서비스의 특성 등이 포함될 수 있습니다.

Kubernetes 클러스터에서 실행되는 에이전트는 리포지토리의 상태를 모니터링합니다. 구성이 변경되면 에이전트는 업데이트된 파일을 클러스터로 끌어와 새 구성을 적용하여 클러스터가 원하는 상태로 유지되도록 합니다.

Azure Arc 지원 Kubernetes 클러스터는 클러스터에 대한 GitOps 구성 배포를 자동화하는 인기 있는 오픈 소스 GitOps 배포 운영자인 Flux를 사용합니다. Flux는 Git 리포지토리, Helm 리포지토리, 버킷과 같은 일반적인 파일 원본을 지원하고 YAML, Helm, Kustomize 구성 템플릿 형식을 지원합니다.

다음 다이어그램에서는 Flux를 사용하여 클러스터 구성 및 애플리케이션 업데이트를 배포하는 GitOps 흐름을 보여 줍니다.

Diagram of the GitOps flow showing an application update.

GitOps 구성

GitOps는 Arc 지원 Kubernetes 클러스터를 Git 리포지토리와 같은 하나 이상의 파일 원본과 연결합니다. 각 Git 리포지토리에는 매니페스트 파일 형식의 네임스페이스 또는 배포와 같은 유효한 Kubernetes 리소스 구성이 포함될 수 있습니다.

다음 다이어그램에서는 여러 Azure Arc 지원 클러스터에 GitOps 기반 구성을 적용하는 프로세스를 보여 줍니다.

Diagram showing the process of applying GitOps-based configuration to multiple Azure Arc-enabled clusters.

GitOps는 Kubernetes 클러스터에서 Microsoft.KubernetesConfiguration/extensions/microsoft.flux 클러스터 확장 리소스로 사용하도록 설정됩니다. fluxConfigurations를 만들려면 microsoft.flux 확장이 클러스터에 설치되어 있어야 합니다. 확장은 클러스터에서 첫 번째 Microsoft.KubernetesConfiguration/fluxConfigurations 인스턴스를 만들 때 자동으로 설치됩니다. 구성을 만들기 전에 수동으로 확장을 설치할 수도 있습니다.

Azure Arc 지원 Kubernetes 클러스터 구성과 해당 GitOps 리포지토리 간의 각 연결은 Azure Arc 지원 Kubernetes 클러스터 Azure 리소스의 일부로 Azure에 있습니다. Azure Portal 또는 Azure CLI와 같은 Azure 관리 인터페이스를 사용하여 연결을 구성할 수 있습니다.

다음 개략적인 단계를 사용하여 Azure Arc 지원 Kubernetes 클러스터로 GitOps를 구현합니다.

  1. k8s-configuration Azure CLI 확장을 사용하여 Flux 구성을 적용하고 Arc 지원 Kubernetes 클러스터에서 GitOps를 사용하도록 설정합니다.
  2. 구성의 유효성을 검사하여 성공적으로 만들어졌는지 확인합니다. 구성 리소스는 규정 준수 상태, 메시지, 디버깅 정보로 업데이트됩니다.

구성을 적용한 후에는 Azure Portal을 사용하여 규정 준수 세부 정보를 볼 수 있습니다. Azure Portal를 통해 GitOps 구성을 만들고, 업데이트하고, 삭제할 수도 있습니다.

Azure Policy을 사용하여 구성 자동화

Azure Policy를 사용하여 구성 프로세스를 자동화할 수도 있으므로 대규모로 일관되게 적용할 수 있습니다. 클러스터를 구성하는 정책을 할당하기 전에 클러스터에 Flux 확장이 만들어졌는지 확인해야 합니다. 먼저 확장이 설치되도록 Kubernetes 클러스터에 Flux 확장 설치 구성 정책 정의를 할당하여 이 작업을 수행할 수 있습니다.

Azure Portal Azure Policy 할당을 만드는 작업은 다음과 같은 개략적인 단계로 구성됩니다.

  1. Azure Portal에서 정책을 검색하여 선택한 다음, 정책 페이지의 왼쪽 메뉴에서 정의를 선택하여 모든 정책 정의를 확인합니다.
  2. 지정된 GitOps 구성으로 Kubernetes 클러스터 구성을 검색하고 기본 제공 정책 정의 중 하나를 선택합니다.
  3. 할당을 선택하고 범위, 매개 변수, 수정에 대한 설정을 지정하여 정책 할당을 만듭니다.
  4. 검토 및 생성를 선택한 후 생성를 선택합니다.

정책 할당은 할당 범위 내에 있는 각 Azure Arc 지원 Kubernetes 클러스터에서 GitOps를 사용하도록 자동으로 설정합니다. 기존 클러스터의 경우 수동으로 수정 작업을 실행해야 합니다.

Azure Policy에 대해서는 다음 단원에서 자세히 살펴볼 예정입니다.