gcloud 적용 사양 필드

이 페이지에서는 beta 출시 트랙에서 Google Cloud CLI apply 명령어의 --config 플래그와 enable 명령어의 --fleet-default-member-config 플래그를 사용하여 구성 동기화를 구성할 수 있는 여러 필드를 설명합니다. 이제 이 필드 스키마는 새 API 스키마 를 위해 enable 명령의 alpha 출시 트랙 에서 권장되지 않습니다.

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

Config Management의 일반적인 구성

설명
spec.version Config Management 버전입니다. 클러스터의 Config Management를 구성하는 경우 기본 버전은 해당 클러스터에 설치된 Config Management의 현재 버전입니다. 그렇지 않고 전체 fleet 구성이거나 대상 클러스터에 기존 설치가 없는 경우 기본값은 최신 버전입니다.

구성 동기화 구성

설명
spec.cluster 클러스터의 하위 집합에만 구성을 적용하기 위해 구성 동기화 cluster-name-selector 주석 또는 ClusterSelector에 사용되는 클러스터 이름입니다. 클러스터의 Fleet 멤버십 이름과 다른 이름이 구성 동기화 cluster-name-selector 주석 또는 ClusterSelector에서 사용되는 경우 이 필드를 설정합니다.
spec.upgrades (미리보기) 구성 동기화의 업그레이드 설정입니다. 기본값은 manual이며, 이는 유일하게 지원되는 값입니다.
spec.configSync.enabled true이면 구성 동기화를 설치하고 관리합니다. false인 경우 이전에 관리된 구성 동기화를 제거하고 나머지 .spec.configSync 구성을 무시합니다. 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입니다. spec.configSync.syncRev 필드를 사용하여 브랜치 이름을 지정하는 것이 좋습니다. 두 필드를 모두 사용하는 경우 spec.configSync.syncRev 필드가 spec.configSync.syncBranch보다 우선 적용됩니다.
spec.configSync.policyDir 동기화하려는 구성이 포함된 루트 디렉터리에 대한 Git 저장소 또는 OCI 이미지의 경로입니다. 기본값: 저장소의 루트 디렉터리
spec.configSync.syncWait 연속 동기화 간격(초)입니다. 기본값: 15
spec.configSync.syncRev 동기화할 Git 버전 (태그 또는 해시) 또는 브랜치입니다. .spec.configSync.sourceTypeoci로 설정되었으면 이 필드가 무시됩니다. 이 필드는 선택사항이며 기본값은 HEAD입니다. 해시를 사용할 때는 축약형이 아닌 전체 해시여야 합니다.
spec.configSync.preventDrift true이면 충돌하는 변경사항이 라이브 클러스터로 푸시되지 않도록 거부하여 Config Sync 허용 웹훅에서 드리프트를 방지하도록 사용 설정합니다. 기본값: false 구성 동기화는 이 필드 값에 관계없이 항상 드리프트를 조정합니다.
spec.configSync.stopSyncing true인 경우 단일 클러스터의 구성 동기화를 중지합니다. 기본값은 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 지원 중단됨: GKE용 워크로드 아이덴티티 제휴가 사용 설정된 경우 구성 동기화 측정항목을 내보내는 데 Google Cloud 서비스 계정이 필요하지 않습니다. 대신 Kubernetes 서비스 계정을 사용하세요.
spec.configSync.sourceFormat unstructured로 설정하면 비계층적 저장소를 구성합니다. 기본값: hierarchy
spec.configSync.deploymentOverrides 구성 동기화 배포의 리소스 재정의 구성 목록입니다. 이 필드는 루트 또는 네임스페이스 조정자가 아닌 컨테이너(예: reconciler-manager)가 있는 구성 동기화 배포에만 적용됩니다. 루트 또는 네임스페이스 조정자를 재정의해야 하는 경우 rootsync 또는 reposync 필드를 대신 사용하세요. 선택사항입니다.
spec.configSync.deploymentOverrides.name 재정의할 구성 동기화 배포의 이름입니다. 값은 비워 둘 수 없습니다.
spec.configSync.deploymentOverrides.namespace 재정의할 구성 동기화 배포의 네임스페이스입니다. 값은 비워 둘 수 없습니다.
spec.configSync.deploymentOverrides.containers 구성 동기화 컨테이너의 요청 및 한도에 대한 재정의 구성 목록입니다. 선택사항입니다.
spec.configSync.deploymentOverrides.containers.name 재정의할 구성 동기화 컨테이너의 이름입니다. 값은 비워 둘 수 없습니다.
spec.configSync.deploymentOverrides.containers.cpuRequest 컨테이너의 CPU 요청입니다. Kubernetes의 CPU 리소스 단위를 사용합니다. 선택사항입니다.
spec.configSync.deploymentOverrides.containers.cpuLimit 컨테이너의 CPU 한도입니다. Kubernetes의 CPU 리소스 단위를 사용합니다. 선택사항입니다.
spec.configSync.deploymentOverrides.containers.memoryRequest 컨테이너의 메모리 요청입니다. Kubernetes에서 메모리 리소스 단위를 사용합니다. 선택사항입니다.
spec.configSync.deploymentOverrides.containers.memoryLimit 컨테이너의 메모리 한도입니다. Kubernetes에서 메모리 리소스 단위를 사용합니다. 선택사항입니다.

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 호스트 간의 통신이 안전한지 확인하세요.

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

배포 리소스 재정의가 포함된 gcloud apply 사양 예시

구성 동기화 리소스 요청 및 제한을 맞춤설정하려면 적용 사양에 deploymentOverrides 필드를 추가합니다. 예를 들어 다음 YAML은 reconciler-manager 컨테이너의 CPU 및 메모리 제한을 재정의합니다.

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi