다음을 통해 공유


Flux v2 구성 및 Azure Policy를 사용하여 대규모로 일관되게 애플리케이션 배포

Azure Policy를 사용하여 Azure Arc 지원 Kubernetes() 또는 AKS(Microsoft.KubernetesConfiguration/fluxConfigurations) 클러스터에서 대규모로 Flux v2 구성(Microsoft.Kubernetes/connectedClustersMicrosoft.ContainerService/managedClusters리소스 종류)을 적용할 수 있습니다. Azure Policy를 사용하려면 기본 제공 정책 정의를 선택하고 정책 할당을 만듭니다.

Flux 구성을 만드는 정책을 할당하기 전에 Flux 확장이 클러스터에 배포되었는지 확인해야 합니다. 이 작업은 선택한 범위의 모든 클러스터(구독 또는 관리 그룹의 모든 리소스 그룹 또는 특정 리소스 그룹)에 확장을 배포하는 정책을 할당하여 수행할 수 있습니다. 그런 다음 구성을 배포하는 정책 할당을 만들 때 Flux 구성에 대한 매개 변수를 해당 범위의 클러스터에 적용하도록 설정합니다.

문제를 분할하기 위해 각각 다른 원본을 가리키는 다른 Flux v2 구성이 있는 여러 정책 할당을 만들 수 있습니다. 예를 들어 하나의 Git 리포지토리는 클러스터 관리자가 사용할 수 있고 다른 리포지토리는 애플리케이션 팀에서 사용할 수 있습니다.

기본 제공 정책 정의

다음 기본 제공 정책 정의는 이러한 시나리오에 대한 지원을 제공합니다.

설명 정책
Flux 확장 설치(모든 시나리오에 필요) Configure installation of Flux extension on Kubernetes cluster
퍼블릭 Git 리포지토리를 사용하는 Flux 구성(일반적으로 테스트 시나리오) Configure Kubernetes clusters with Flux v2 configuration using public Git repository
SSH 인증과 함께 프라이빗 Git 리포지토리를 사용하는 Flux 구성 Configure Kubernetes clusters with Flux v2 configuration using Git repository and SSH secrets
HTTPS 인증과 함께 프라이빗 Git 리포지토리를 사용하는 Flux 구성 Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS secrets
HTTPS CA 인증서 인증과 함께 프라이빗 Git 리포지토리를 사용하는 Flux 구성 Configure Kubernetes clusters with Flux v2 configuration using Git repository and HTTPS CA Certificate
로컬 K8s 비밀과 함께 프라이빗 Git 리포지토리를 사용하는 Flux 구성 Configure Kubernetes clusters with Flux v2 configuration using Git repository and local secrets
프라이빗 버킷 원본 및 KeyVault 비밀을 사용하는 Flux 구성 Configure Kubernetes clusters with Flux v2 configuration using Bucket source and secrets in KeyVault
프라이빗 버킷 원본 및 로컬 K8s 비밀을 사용하는 Flux 구성 Configure Kubernetes clusters with specified Flux v2 Bucket source using local secrets

Flux v2 정책 정의를 모두 찾으려면 flux를 검색합니다. 자세한 내용은 Azure Arc 지원 Kubernetes에 대한 Azure Policy 기본 제공 정의를 참조하세요.

필수 조건

  • 하나 이상의 Arc 지원 Kubernetes 클러스터 및/또는 AKS 클러스터.
  • Microsoft.Authorization/policyAssignments/write 범위(구독 또는 리소스 그룹)에 대한 사용 권한으로 정책 할당을 만듭니다.

Flux 확장을 설치하는 정책 할당 만들기

정책이 Flux v2 구성을 클러스터에 적용하려면 먼저 Flux 확장을 클러스터에 설치해야 합니다. 확장이 각 클러스터에 설치되도록 하려면 Kubernetes 클러스터 정책 정의에 Flux 확장 구성 설치를 원하는 범위에 할당합니다.

  1. Azure Portal에서 정책으로 이동합니다.
  2. 사이드바의 작성 섹션에서 정의를 선택합니다.
  3. Kubernetes 클러스터 기본 제공 정책 정의에 Flux 확장 설치 구성을 찾아 선택합니다.
  4. 정책 할당을 선택합니다.
  5. 정책 할당이 적용되는 관리 그룹, 구독 또는 리소스 그룹으로 범위를 설정합니다.
    • 정책 할당 범위에서 리소스를 제외하려면 제외를 설정합니다.
  6. 정책 할당에 쉽게 식별할 수 있는 할당 이름설명을 제공합니다.
  7. 정책 적용사용됨으로 설정되어 있는지 확인합니다.
  8. 검토 + 생성를 선택한 다음, 생성를 선택합니다.

Flux 구성을 적용하는 정책 할당 만들기

다음으로, 정책작성 섹션에 있는 정의 목록으로 돌아가서 구성 정책 정의를 동일한 범위에 적용합니다.

  1. 공용 Git 리포지토리 기본 제공 정책 정의를 사용하여 Flux v2 구성으로 Kubernetes 클러스터 구성 또는 Flux 구성을 적용할 다른 정책 정의 중 하나를 찾아 선택합니다.

  2. 정책 할당을 선택합니다.

  3. 범위는 제외를 포함하여 첫 번째 정책을 할당할 때 선택한 것과 동일한 범위로 설정합니다.

  4. 정책 할당에 쉽게 식별할 수 있는 할당 이름설명을 제공합니다.

  5. 정책 적용사용됨으로 설정되어 있는지 확인합니다.

  6. [다음]을 선택하여 [매개 변수] 탭을 엽니다.

  7. 정책 정의의 매개 변수 이름을 사용하여 사용할 매개 변수 값을 설정합니다.

    • 매개 변수에 대한 자세한 내용은 GitOps(Flux v2) 지원되는 매개 변수를 참조하세요.
    • 정책을 통해 Flux 구성을 만들 때 다음 매개 변수 repositoryRefBranchrepositoryRefTagrepositoryRefSemverrepositoryRefCommit중 하나(및 하나만)에 대한 값을 제공해야 합니다.
  8. 다음을 선택하여 수정 작업을 엽니다.

  9. 수정 작업 만들기를 사용합니다.

  10. 관리 ID 만들기가 선택되어 있고 기여자가 사용 권한 섹션에 나열되어 있는지 확인합니다. 자세한 내용은 빠른 시작: 비준수 리소스를 식별하기 위한 정책 할당 만들기Azure Policy를 사용하여 비준수 리소스 수정을 참조하세요.

  11. 검토 + 생성를 선택한 다음, 생성를 선택합니다.

그런 다음, 구성이 정책 할당 범위 내에서 만든 새 클러스터에 적용됩니다.

기존 클러스터의 경우 수정 작업을 수동으로 실행해야 할 수 있습니다. 이 작업에서 정책 할당의 효력이 발생하는 데 일반적으로 10~20분이 소요됩니다.

정책 할당 확인

  1. Azure Portal에서 정책 할당 범위 내에 있는 Azure Arc 지원 Kubernetes 또는 AKS 클러스터로 이동합니다.
  2. 서비스 메뉴의 설정에서 GitOps를 선택합니다. 구성 목록에서 정책 할당으로 만든 구성이 표시됩니다.
  3. 서비스 메뉴의 Kubernetes 리소스에서 네임스페이스를 선택합니다. Flux 구성에서 만든 네임스페이스가 표시됩니다.

정책 사용자 지정

기본 제공 정책은 Kubernetes 클러스터에서 Flux v2와 함께 GitOps를 사용하기 위한 주요 시나리오를 다룹니다. 그러나 Azure Policy 할당에서 허용되는 매개 변수 20개 제한으로 인해 모든 매개 변수가 기본 제공 정책에 포함되지는 않습니다. 또한 이 20 매개 변수 제한에 맞게 기본 제공 정책을 사용하여 단일 kustomization만 만들 수 있습니다.

기본 제공 정책과 다른 시나리오가 있는 경우 기본 제공 정책을 템플릿으로 사용하여 사용자 지정 정책을 만들어 이러한 제한을 극복할 수 있습니다. 20 매개 변수 제한을 해결하려면 필요한 매개 변수만 포함하는 사용자 지정 정책을 만들고 나머지는 하드 코딩합니다.

다음 단계