gcloud 적용 사양 필드

이 페이지에서는 구성 동기화에 대해 구성 파일에서 설정할 수 있는 여러 다른 필드를 설명합니다. Google Cloud CLI로 구성 동기화 구성요소를 구성할 때 이 파일을 사용합니다. 구성 파일을 적용하기 위해 사용하는 gcloud CLI 명령어에는 참조 문서도 포함되어 있습니다.

또한 이러한 명령어로 정책 컨트롤러를 구성할 수 있지만 대신 Policy Controller gcloud 명령어를 사용하는 것이 좋습니다.

gcloud CLI에 사용되는 파일 형식은 ConfigManagement 객체의 형식과 비슷합니다. 하지만 형식이 다르고 서로 혼용될 수 없습니다.

구성 동기화 구성

설명
spec.cluster 클러스터의 하위 집합에만 구성을 적용하기 위해 구성 동기화 cluster-name-selector 주석 또는 ClusterSelector에 사용되는 클러스터 이름입니다. 클러스터의 Fleet 멤버십 이름과 다른 이름이 구성 동기화 cluster-name-selector 주석 또는 ClusterSelector에서 사용되는 경우 이 필드를 설정합니다.
spec.upgrades (미리보기) 구성 동기화의 업그레이드 설정입니다. auto로 설정하면 구성 동기화 버전이 자동 업그레이드됩니다. 자동 업그레이드 작동 방식에 대한 자세한 내용은 구성 동기화 업그레이드를 참조하세요. 구성 동기화 버전을 수동으로 업그레이드하려면 manual로 설정합니다. 기본값은 manual입니다. 이 플래그는 Google Cloud의 GKE 클러스터에서만 지원됩니다.
spec.configSync.enabled true이면 구성 동기화를 사용 설정합니다. false이면 구성 동기화를 사용 중지합니다. gcloud CLI 버전 429.0.0 이하에 필요합니다. gcloud CLI 버전 430.0.0 이상에서는 선택사항입니다. 기본값: true
spec.configSync.sourceType 구성 동기화가 동기화할 소스 유형입니다. git 또는 oci를 허용합니다. 기본값: git
spec.configSync.syncRepo 정보 소스로 사용할 Git 저장소, OCI 이미지, Helm 차트의 URL입니다. 준비된 저장소가 없으면 이 필드를 생략할 수 있습니다.
spec.configSync.syncBranch 동기화할 Git 저장소의 브랜치입니다. .spec.configSync.sourceTypeoci로 설정되었으면 이 필드가 무시됩니다. 이 필드는 선택사항이며 기본값은 master입니다. 구성 동기화 버전 1.17.0부터는 간단히 spec.configSync.syncRev 필드를 사용하여 브랜치 이름을 지정하는 것이 좋습니다. spec.configSync.syncRev 필드와 spec.configSync.syncBranch 필드 모두 지정되면 spec.configSync.syncRevspec.configSync.syncBranch보다 우선 적용됩니다.
spec.configSync.policyDir 동기화하려는 구성이 포함된 루트 디렉터리에 대한 Git 저장소 또는 OCI 이미지의 경로입니다. 기본값: 저장소의 루트 디렉터리
spec.configSync.syncWait 연속 동기화 간격(초)입니다. 기본값: 15
spec.configSync.syncRev 동기화할 Git 버전(태그 또는 해시)입니다. .spec.configSync.sourceTypeoci로 설정되었으면 이 필드가 무시됩니다. 이 필드는 선택사항이며 기본값은 HEAD입니다. 구성 동기화 버전 1.17.0부터는 spec.configSync.syncRev 필드에 브랜치 이름을 지정할 수도 있습니다. 버전 1.17.0 이상에서 해시를 사용하는 경우 축약된 양식이 아닌 전체 해시 양식을 사용해야 합니다.
spec.configSync.preventDrift true이면 충돌하는 변경사항이 라이브 클러스터로 푸시되지 않도록 거부하여 Config Sync 허용 웹훅에서 드리프트를 방지하도록 사용 설정합니다. 기본값: false 구성 동기화는 이 필드 값에 관계없이 항상 드리프트를 조정합니다.
spec.configSync.secretType .spec.configSync.syncRepo에 액세스하도록 구성된 보안 비밀 유형입니다. git를 소스 유형으로 선택한 경우 값이 ssh, cookiefile, gcenode, gcpserviceaccount, token, none이어야 합니다. oci를 소스 유형으로 선택한 경우 값이 gcenode, gcpserviceaccount, none이어야 합니다. 이 필드 검증은 대소문자를 구분합니다. 필수.
spec.configSync.gcpServiceAccountEmail RootSync 또는 RepoSync 컨트롤러의 Kubernetes 서비스 계정에 주석을 달기 위해 사용되는 Google Cloud 서비스 계정입니다. 이 필드는 spec.configSync.secretTypegcpserviceaccount일 때만 사용됩니다.
spec.configSync.metricsGcpServiceAccountEmail 구성 동기화 측정항목을 Cloud Monitoring으로 내보내기 위해 사용되는 Google Cloud 서비스 계정(GSA)의 이메일입니다. GSA에는 모니터링 측정항목 작성자(roles/monitoring.metricWriter) IAM 역할이 있어야 합니다. config-management-monitoring 네임스페이스의 Kubernetes 서비스 계정 defaultGSA에 바인딩되어야 합니다.
spec.configSync.sourceFormat unstructured로 설정하면 비계층적 저장소를 구성합니다. 기본값: hierarchy.

Git 저장소의 프록시 구성

조직의 보안 정책에 따라 HTTPS 프록시를 통해 트래픽을 라우팅해야 하는 경우 프록시의 URI를 사용하여 Git 호스트와 통신하도록 구성 동기화를 구성할 수 있습니다. 프록시는 cookiefile, none 또는 token 승인 유형을 사용하는 경우에만 지원됩니다.

설명
spec.configSync.httpsProxy Git 저장소에 액세스하는 데 사용되는 HTTPS_PROXY 환경 변수를 정의합니다. 예를 들면 https://proxy.internal.business.co:443입니다.
HTTPS 프록시는 https 또는 인증되지 않은 URL만 허용합니다. http://가 포함된 URL은 거부됩니다.
인증되지 않은 URL을 사용하는 경우 프록시 서버와 Git 호스트 간의 통신이 안전한지 확인하세요.

정책 컨트롤러 구성

설명
spec.policyController.enabled true이면 정책 컨트롤러를 활성화합니다. 기본값은 false입니다.
spec.policyController.templateLibraryInstalled true이면 일반적인 정책 유형에 대한 제약조건 템플릿의 라이브러리를 설치합니다. 기본값은 true입니다.
spec.policyController.referentialRulesEnabled true이면 참조 제약조건에 대한 지원을 사용 설정합니다. eventual consistency에 대한 주의사항을 확인해야 합니다. 기본값은 false입니다.
spec.policyController.auditIntervalSeconds 제약조건 위반을 연속으로 감사할 때 작업 간 간격(초)입니다. 감사를 사용 중지하려면 0으로 설정합니다. 기본값: 60.
spec.policyController.logDeniesEnabled true이면 모든 거부를 로깅하고 오류를 테스트 실행합니다. 기본값은 false입니다.
spec.policyController.mutationEnabled true인 경우 변형에 대한 지원을 사용 설정합니다. 기본값은 false입니다.
spec.policyController.exemptableNamespaces 정책 컨트롤러 허용 웹훅 시행에서 삭제할 네임스페이스 목록입니다. 위반사항은 감사에 계속 보고됩니다. 기본값은 빈 목록입니다.
spec.policyController.monitoring.backends 측정항목을 내보낼 정책 컨트롤러의 모니터링 백엔드 목록입니다. 기본값: [cloudmonitoring, prometheus]

계층 구조 컨트롤러 구성

설명
spec.hierarchyController.enabled true이면 계층 구조 컨트롤러를 사용 설정합니다. 기본값은 false입니다.
spec.hierarchyController.enableHierarchicalResourceQuota true이면 계층적 리소스 할당량을 사용 설정합니다. 기본값은 false입니다.
spec.hierarchyController.enablePodTreeLabels true이면 워크로드의 계층적 관찰을 사용 설정합니다. 기본값은 false입니다.

gcloud apply 사양 예시

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  hierarchyController:
    enabled: false