RootSync 및 RepoSync 필드

이 페이지에서는 RootSync, RepoSync, ResourceGroup 객체의 필드에 대한 참조를 제공합니다. 이러한 객체의 작동 방식에 대한 자세한 내용은 구성 동기화 아키텍처를 참조하세요.

RootSync 및 RepoSync 필드

RootSync 및 RepoSync 리소스 객체는 동일한 필드를 가지지만 다음 RootSync 전용 필드는 예외입니다.

  • spec.sourceFormat
  • spec.helm.namespace
  • spec.helm.deployNamespace
  • spec.override.roleRefs

소스 형식 구성

설명
spec.sourceFormat sourceFormat은 저장소 형식을 지정하는 방법을 지정합니다. (선택사항)
이 필드 검증은 대소문자를 구분합니다.
  • RootSync 객체의 경우 값은 hierarchyunstructured 중 하나여야 합니다. 기본값은 지정되지 않은 경우 hierarchy이지만 unstructured를 사용하는 것이 좋습니다.
자세한 내용은 비구조적계층적 형식 가이드를 참조하세요.

소스 유형 구성

설명
spec.sourceType sourceType은 정보 소스의 유형을 지정합니다. git, oci, helm 중 하나여야 합니다. (선택사항)
지정되지 않은 경우 git로 설정합니다. 이 필드 검증은 대소문자를 구분합니다.

Git 저장소 구성

설명
spec.git.auth Git 저장소에 액세스하도록 구성된 보안 비밀 유형입니다. ssh, cookiefile, gcenode, gcpserviceaccount, token, none여야 합니다. 이 필드 검증은 대소문자를 구분합니다. 필수 항목입니다.
spec.git.gcpServiceAccountEmail RootSync 또는 RepoSync 컨트롤러의 Kubernetes 서비스 계정에 주석을 달기 위해 사용되는 Google Cloud 서비스 계정입니다. 이 필드는 spec.git.authgcpserviceaccount일 때만 사용됩니다.
spec.git.branch 동기화할 저장소의 Git 브랜치입니다. 이 필드는 선택사항이며 기본값은 master입니다. 구성 동기화 버전 1.17.0부터는 간단히 spec.git.revision 필드를 사용하여 브랜치 이름을 지정하는 것이 좋습니다. spec.git.revision 필드와 spec.git.branch 필드가 모두 지정된 경우 spec.git.revisionspec.git.branch보다 우선 적용됩니다.
spec.git.dir 동기화하려는 구성이 포함된 루트 디렉터리에 대한 Git 저장소의 절대 경로입니다. 기본값: 저장소의 루트 디렉터리(/)입니다.
spec.git.period 연속 동기화 사이의 지속 시간입니다. 기본값: 15s.
spec.git.repo 동기화할 Git 저장소 URL입니다. 필수 항목입니다.
spec.git.revision 동기화할 Git 버전(브랜치, 태그, 커밋)입니다. 이 필드는 선택사항이며 기본값은 HEAD입니다. 구성 동기화 버전 1.17.0부터는 spec.git.revision 필드에 브랜치 이름을 지정할 수도 있습니다. 버전 1.17.0 이상에서 해시를 사용하는 경우 축약된 양식이 아닌 전체 해시 양식을 사용해야 합니다.
spec.git.secretRef.name 신뢰할 수 있는 Git 소스에 연결하기 위해 사용되는 보안 비밀의 이름입니다.
spec.git.noSSLVerify1 noSSLVerify는 SSL 인증서 확인을 사용 설정 또는 사용 중지할지 여부를 지정합니다. 기본값: false.
noSSLVerify가 true로 설정된 경우 Git에 SSL 인증서 확인을 건너뛰도록 지정합니다.
spec.git.caCertSecretRef.name1 인증 기관(CA) 인증서가 포함된 보안 비밀의 이름입니다. 이 필드가 제공되면 git 서버는 이 CA에서 발급한 인증서를 사용해야 합니다. CA 인증서는 'cert'라는 키 아래 보안 비밀에 저장되어야 합니다.

Git 저장소의 프록시 구성

조직의 보안 정책에 따라 HTTP(S) 프록시를 통해 트래픽을 라우팅해야 하는 경우 프록시의 URI를 사용하여 Git 호스트와 통신하도록 구성 동기화를 구성할 수 있습니다.

설명
spec.git.proxy 프록시를 사용하여 Git 저장소 액세스를 구성하기 위한 스킴을 포함하는 프록시 URL입니다. 예를 들면 https://proxy.internal.business.co:443입니다.
Git 프록시는 https, http, 인증되지 않은 URL을 허용하지만 http는 보안 문제로 권장되지 않습니다.
http 또는 인증되지 않은 URL을 사용하는 경우 프록시 서버와 Git 호스트 간의 통신이 안전한지 확인하세요.
이 필드는 spec.git.authcookiefile, none, 또는 token일 때만 효과가 있습니다.

OCI 이미지 구성

구성 동기화를 사용하려면 OCI 레이어가 tar 또는 tar+gzip 형식으로 압축되어야 합니다.

다른 형식(예: tar+bz2)은 구성 동기화에서 인식되지 않습니다. 유효한 REPO에서 지원되지 않는 형식의 OCI 이미지로 전환하면 관리형 리소스가 오류 없이 잘립니다.

설명
spec.oci.auth OCI 이미지에 액세스하도록 구성된 인증 유형입니다. gcenode, k8sserviceaccount, gcpserviceaccount, none이어야 합니다. 이 필드 검증은 대소문자를 구분합니다. 필수 항목입니다.
spec.oci.gcpServiceAccountEmail RootSync 또는 RepoSync 컨트롤러의 Kubernetes 서비스 계정에 주석을 달기 위해 사용되는 Google Cloud 서비스 계정입니다. 이 필드는 spec.oci.authgcpserviceaccount일 때만 사용됩니다.
spec.oci.dir 동기화하려는 구성이 포함된 루트 디렉터리에 대한 OCI 이미지의 절대 경로입니다. 기본값: 이미지의 루트 디렉터리(/)입니다.
spec.oci.period 연속 동기화 사이의 지속 시간입니다. 기본값: 15s.
spec.oci.image 동기화할 OCI 이미지 URL입니다. 필수 항목입니다.

Helm 저장소 구성

설명
spec.helm.auth Helm 저장소에 액세스하도록 구성된 인증 유형입니다. token, gcenode, k8sserviceaccount, gcpserviceaccount, none이어야 합니다. 이 필드 검증은 대소문자를 구분합니다. 필수 항목입니다.
spec.helm.gcpServiceAccountEmail RootSync 또는 RepoSync 컨트롤러의 Kubernetes 서비스 계정에 주석을 달기 위해 사용되는 Google Cloud 서비스 계정입니다. 이 필드는 spec.helm.authgcpserviceaccount일 때만 사용됩니다.
spec.helm.secretRef.name Helm 저장소에 액세스하는 데 사용되는 보안 비밀의 이름입니다. 이 필드는 spec.helm.authtoken인 경우에만 사용됩니다.
spec.helm.repo 동기화할 Helm 저장소 URL입니다. 필수 항목입니다.
spec.helm.chart Helm 차트 이름입니다. 필수 항목입니다.
spec.helm.version

Helm 차트 버전 번호입니다. 기본값: 최신 버전입니다.

1.16.0 이전의 구성 동기화 버전에서는 버전 필드를 사용할 수 있지만 정적 버전만 지원되며 차트는 다시 가져오지 않습니다. 구성 동기화 버전 1.16.0 이상에서 버전 필드를 구성 동기화가 최신 항목을 가져오는 버전 범위인 정적 값으로 지정하거나 구성 동기화가 semver에 따라 최신 차트를 사용해야 함을 나타내기 위해 비워둘 수 있습니다. 범위로 지정하거나 비워 두면 구성 동기화가 기본적으로 1시간마다 차트를 다시 가져옵니다. 구성 동기화 버전 1.16.1 이상에서는 spec.helm.period 필드로 다시 가져오기 기간을 구성할 수 있습니다. 버전이 리터럴 문자열 'latest'로 지정되면 차트가 버전 범위 또는 빈 버전과 마찬가지로 spec.helm.period에 따라 다시 가져옵니다.

버전 범위 구문은 Helm CLI에서 지원하는 버전 범위 구문과 동일합니다.

버전을 범위로 지정하거나 값을 비워 두면 버전이 많은 대규모 차트에 높은 CPU 사용률이 발생할 수 있습니다. 다음 예시와 같이 spec.override를 사용하여 helm-sync 컨테이너의 CPU 요청을 늘릴 수 있습니다.


    spec:
      override:
        resources:
        - containerName: helm-sync
          cpuRequest: "200m"
    
spec.helm.period

구성 동기화 버전 1.16.1 이상에서 spec.helm.period는 구성 동기화가 차트를 다시 가져오기 전에 대기하는 시간입니다.

기본값은 1시간입니다. 이 필드는 문자열 값을 허용합니다(예: '30s' 또는 '5m'). 자세한 내용은 유효한 입력에 대한 Go 문서를 참조하세요.

차트 버전이 범위인 경우 리터럴 태그 'latest'를 사용하거나 비워 두면 구성 동기화가 최신 버전을 가져와야 함을 나타냅니다. 차트는 spec.helm.period에 따라 다시 가져옵니다. 차트 버전이 단일 정적 버전으로 지정되면 차트는 다시 가져오지 않습니다.

spec.helm.releaseName Helm 출시 버전의 이름입니다.
spec.helm.namespace spec.helm.deployNamespace와 상호 배타적입니다.
namespace는 출시 버전의 대상 네임스페이스를 설정합니다. 이 필드는 RootSync 객체에만 사용됩니다. 템플릿에 namespace: {{ .Release.Namespace }}이 포함된 리소스의 네임스페이스만 설정합니다. spec.helm.namespace에 지정된 값은 Helm 템플릿에 선언된 Release.Namespace 값으로만 사용됩니다. 템플릿에 namespace: {{ .Release.Namespace }}이 없는 리소스의 경우 네임스페이스 default가 사용됩니다. 기본값: default
spec.helm.deployNamespace spec.helm.namespace와 상호 배타적입니다.
deployNamespace는 차트를 배포할 네임스페이스를 지정합니다. 이 필드를 설정하면 구성 동기화가 차트에 있는 리소스의 namespace 필드(네임스페이스 범위 리소스의 metadata.namespace, 네임스페이스 개체의 metadata.name, 일부 특수 리소스 유형의 네임스페이스 참조 포함)를 대체하도록 하는 kpt set-namespace 함수를 활용합니다.
deployNamespace가 설정되지 않으면 metadata.namespace가 설정되지 않은 리소스가 기본 네임스페이스에 배포됩니다.
spec.helm.values

차트에 포함되는 기본값 대신 사용할 값입니다. 기본 values.yaml과 동일한 방식으로 값 형식을 지정합니다. 예를 들면 다음과 같습니다.


values:
  foo:
    bar: val1
  quz:
  - val2
  - val3

valuesFileRefs도 지정할 경우 values의 필드가 valuesFileRefs의 필드를 재정의합니다.

자세한 내용은 Helm 예시 매니페스트를 참조하세요.

spec.helm.includeCRDs Helm 템플릿이 CustomResourceDefinitions를 생성해야 하는지 여부를 지정합니다. 기본값: false
spec.helm.valuesFileRefs

차트와 함께 제공되는 기본값 대신 사용할 값을 나타내는 클러스터의 객체에 대한 참조 목록입니다. ConfigMap만 지원됩니다. ConfigMap은 변경할 수 없으며 RootSync 또는 RepoSync와 동일한 네임스페이스에 있어야 합니다.

ConfigMap은 변경할 수 없습니다. 동기화 후 valuesFile을 변경하려면 다른 이름으로 ConfigMap을 만들고 RootSync 또는 RepoSync spec.valuesFileRefs.name을 업데이트해야 합니다.

여러 값 파일을 지정하면 이후 파일의 중복된 키가 이전 파일의 값을 재정의합니다. 이는 Helm CLI에 여러 값 파일을 전달하는 것과 같습니다. spec.helm.values도 지정할 경우 values의 필드가 valuesFileRefs의 필드를 재정의합니다.

목록의 각 항목은 다음을 포함해야 합니다.

  • name(필수): ConfigMap 객체 이름
  • dataKey(선택사항): 값을 읽을 객체의 데이터 키 기본값: values.yaml

이 필드는 버전 1.16.0 이상에서 지원됩니다.

값을 변경하는 방법의 예시는 Helm 차트 동기화를 참조하세요.

루트 또는 네임스페이스 조정자의 리소스 요청 및 한도를 재정의하기 위한 구성

git-sync, oci-sync, helm-sync, hydration-controller, reconciler 컨테이너를 재정의할 수 있습니다. 부분 재정의가 허용되며, 리소스 요청 또는 한도에 대한 재정의 값이 제공되지 않았으면 요청 또는 한도의 기본 리소스 값이 사용됩니다.

Autopilot 클러스터의 경우 구성 동기화는 리소스 한도 재정의를 무시합니다. 리소스 요청 재정의는 주석에 선언된 해당 조정 출력보다 높은 리소스 요청이 하나 이상 있거나 주석에 선언된 해당 입력보다 낮은 리소스 요청이 하나 이상 있는 경우에만 적용됩니다. 자세한 내용은 구성 동기화의 클러스터 요구사항을 참조하세요.

설명
spec.override.resources1 컨테이너 리소스 요청 및 한도 재정의 목록입니다. (선택사항)
목록의 각 항목에 3개 필드가 포함됩니다.
  • containerName: 이 필드는 git-sync, oci-sync, helm-sync, hydration-controller, reconciler 중 하나일 수 있습니다.
  • cpuRequest(선택사항)
  • cpuLimit(선택사항)
  • memoryRequest(선택사항)
  • memoryLimit(선택사항)

리소스 요청 또는 한도의 재정의 값이 제공되지 않았으면 요청 또는 한도에 대해 기본 리소스 값이 사용됩니다.

루트 또는 네임스페이스 조정자에서 컨테이너의 로그 수준을 재정의하기 위한 구성

로그 수준 재정의 값이 설정되지 않으면 로그 수준이 기본값으로 구성됩니다. RootSync 또는 RepoSync 조정자에 있는 모든 컨테이너의 기본 로그 수준은 0입니다(기본값이 5인 git-sync 컨테이너 제외). 허용되는 로그 수준 재정의 값은 0~10까지입니다.

설명
spec.override.logLevels 컨테이너 로그 수준 재정의 값 목록입니다. (선택사항)
목록의 각 항목에 2개 필드가 포함됩니다.
  • containerName: 이 필드는 git-sync, oci-sync, helm-sync, hydration-controller, reconciler 중 하나일 수 있습니다.
  • logLevel

컨테이너의 로그 수준에 대한 재정의 값이 제공되지 않았으면 기본 로그 수준 값이 사용됩니다.

가져올 Git 커밋 수 구성

설명
spec.override.gitSyncDepth1 gitSyncDepth를 사용하여 가져올 Git 커밋 수를 재정의할 수 있습니다.
0보다 작지 않아야 합니다.
이 필드가 0이면 구성 동기화가 전체 클론을 수행하고 이 필드가 0보다 크면 부분 클론을 수행합니다.
이 필드를 제공하지 않으면 구성 동기화가 이를 자동으로 구성합니다.

리소스 수준 상태를 캡처하기 위한 구성

설명
spec.override.statusMode1 statusMode를 사용하면 리소스 수준 상태 캡처를 사용 설정하거나 사용 중지할 수 있습니다.
기본값은 enabled입니다.
리소스 수준 상태 캡처를 사용 중지하려면 이 필드를 disabled로 설정합니다.

조정 제한 시간을 재정의하기 위한 구성

설명
spec.override.reconcileTimeout1 reconcileTimeout을 사용하면 포기하기 전에 적용 그룹의 리소스가 조정될 때까지 기다리는 시간에 대한 기준점을 재정의할 수 있습니다. 커밋의 모든 리소스는 종속 항목을 기반으로 여러 적용 그룹에 있을 수 있습니다.
기본 제한 시간은 5m입니다.
문자열을 사용하여 이 필드 값을 지정합니다(예: 30s, 5m).

API 서버 요청에 대한 제한 시간을 재정의하기 위한 구성

설명
spec.override.apiServerTimeout1 apiServerTimeout을 사용하면 API 서버 요청에 대한 제한 시간을 재정의할 수 있습니다. 기본 제한 시간은 1.16.0 이전 버전에서는 5s이고 1.16.0 이상 버전에서는 15s입니다.
문자열을 사용하여 이 필드 값을 지정합니다(예: 30s, 5m).

렌더링 프로세스에서 셸 액세스 구성

설명
spec.override.enableShellInRendering1 enableShellInRendering은 렌더링 프로세스에서 셸 액세스를 사용 설정 또는 사용 중지할지 여부를 지정합니다. Kustomize 원격 베이스에는 셸 액세스가 필요합니다. 이 필드를 true로 설정하면 렌더링 프로세스에서 셸 액세스를 사용 설정하고 공개 저장소에서 원격 베이스를 가져올 수 있습니다.
기본값은 false입니다.

네임스페이스 전략 구성(RootSync 전용)

설명
spec.override.namespaceStrategy1 namespaceStrategy는 조정자가 소스에 선언된 네임스페이스 범위의 객체의 누락된 네임스페이스 구성을 처리하는 방법을 제어합니다. unstructured sourceFormat을 사용할 때만 적용됩니다.
  • implicit: 조정자는 소스에 선언되지 않았더라도 네임스페이스가 존재하지 않을 경우 이를 암시적으로 만듭니다. 암시적 네임스페이스는 삭제 방지 주석으로 생성되며 구성 동기화에서 관리됩니다.
  • explicit: 조정자는 소스에 명시적으로 선언된 네임스페이스만 만듭니다.

기본값은 implicit입니다.

RBAC 바인딩 구성(RootSync 전용)

설명
spec.override.roleRefs1 roleRefs는 바인딩을 만들 역할 또는 ClusterRoles 목록입니다. 목록의 각 항목에는 다음 필드가 포함됩니다.
  • kind(필수): RBAC 리소스 종류를 나타냅니다. 허용되는 값은 RoleClusterRole.입니다.
  • name(필수): 역할 또는 ClusterRole 리소스의 이름입니다.
  • namespace(선택사항): RoleBinding을 만들어야 하는 네임스페이스를 나타냅니다. ClusterRole 객체의 경우 RoleBinding 또는 ClusterRoleBinding을 만들지 여부를 결정합니다. 역할 객체의 경우 역할과 동일한 네임스페이스로 설정해야 합니다.

설정되지 않은 경우 cluster-admin에 대한 ClusterRoleBinding이 생성됩니다.

객체 상태

설명
status.observedGeneration 구성 동기화에서 마지막으로 관측하고 작업을 수행한 RootSync 또는 RepoSync 리소스 사양에 대한 세대(metadata.generation)입니다. 이 값은 정수이고 API 서버에서 사양 변형 시 업데이트되는 metadata.generation과 비교될 수 있습니다.
status.reconciler 동기화 리소스에 해당하는 조정자 프로세스의 이름입니다.
status.source.gitStatus.repo 가져올 Git 저장소 URL입니다.
status.source.gitStatus.revision 가져올 Git 버전(태그, 커밋, 해시)입니다.
status.source.gitStatus.branch 가져올 저장소의 Git 브랜치입니다.
status.source.gitStatus.dir 동기화할 구성이 포함된 루트 디렉터리에 대한 Git 저장소의 절대 경로입니다.
status.source.ociStatus.image 가져올 OCI 이미지 URL입니다.
status.source.ociStatus.dir 동기화할 구성이 포함된 루트 디렉터리에 대한 OCI 이미지의 절대 경로입니다.
status.source.helmStatus.repo 가져올 Helm 저장소 URL입니다.
status.source.helmStatus.version 가져올 Helm 차트 버전입니다.
status.source.helmStatus.chart 가져올 Helm 차트 이름입니다.
status.source.commit 소스 URL에서 가져온 가장 최근의 커밋 또는 다이제스트의 해시입니다.
status.source.errors 정보 소스에서 구성을 읽고 파싱하는 동안 오류가 발생했습니다. 오류가 너무 많으면 구성 동기화가 오류를 자르므로 여기에 발생한 모든 오류가 포함되지 않을 수 있습니다.
status.source.errorSummary.totalCount 정보 소스에서 구성을 읽고 파싱하는 동안 발생한 총 오류 수를 추적하는 정수입니다.
status.source.errorSummary.truncated 정보 소스에서 구성을 읽고 파싱하는 동안 발생한 모든 오류가 status.source.errors 필드에 포함되어 있는지 여부를 나타내는 불리언입니다.
status.source.errorSummary.errorCountAfterTruncation status.source.errors 필드에서 오류 수를 추적하는 정수입니다.
status.rendering.gitStatus.repo 렌더링할 Git 저장소 URL입니다.
status.rendering.gitStatus.revision 렌더링할 Git 버전(태그, 커밋, 해시)입니다.
status.rendering.gitStatus.branch 렌더링할 저장소의 Git 브랜치입니다.
status.rendering.gitStatus.dir 렌더링할 구성이 포함된 루트 디렉터리에 대한 Git 저장소의 절대 경로입니다.
status.rendering.ociStatus.image 렌더링할 OCI 이미지 URL입니다.
status.rendering.ociStatus.dir 렌더링할 구성이 포함된 루트 디렉터리의 OCI 이미지 절대 경로입니다.
status.rendering.helmStatus.repo 렌더링할 Helm 저장소 URL입니다.
status.rendering.helmStatus.version 렌더링할 Helm 차트 버전입니다.
status.rendering.helmStatus.chart 렌더링할 Helm 차트 이름입니다.
status.rendering.commit 렌더링된 가장 최근의 커밋 또는 다이제스트의 해시입니다. 오류로 인해 커밋 또는 다이제스트가 일부만 동기화된 경우에도 이 값이 업데이트됩니다.
status.rendering.errors status.rendering.commit으로 표시된 변경사항으로부터 리소스를 렌더링하는 프로세스 중에 발생한 오류 목록입니다. 오류가 너무 많으면 구성 동기화가 오류를 자르므로 여기에 발생한 모든 오류가 포함되지 않을 수 있습니다.
status.rendering.errorSummary.totalCount 정보 소스에서 구성을 렌더링하는 프로세스 중에 발생한 총 오류 수를 추적하는 정수입니다.
status.rendering.errorSummary.truncated 정보 소스에서 구성을 렌더링하는 동안 발생한 모든 오류가 status.rendering.errors 필드에 포함되는지 여부를 나타내는 불리언입니다.
status.rendering.errorSummary.errorCountAfterTruncation status.rendering.errors 필드에서 오류 수를 추적하는 정수입니다.
status.sync.gitStatus.repo 동기화되는 Git 저장소 URL입니다.
status.sync.gitStatus.revision 동기화할 Git 버전(태그, 커밋, 해시)입니다.
status.sync.gitStatus.branch 동기화할 저장소의 Git 브랜치입니다.
status.sync.gitStatus.dir 동기화할 구성이 포함된 루트 디렉터리에 대한 Git 저장소의 절대 경로입니다.
status.sync.ociStatus.image 동기화할 OCI 이미지 URL입니다.
status.sync.ociStatus.dir 동기화할 구성이 포함된 루트 디렉터리에 대한 OCI 이미지의 절대 경로입니다.
status.sync.helmStatus.repo 동기화할 Helm 저장소 URL입니다.
status.sync.helmStatus.version 동기화할 Helm 차트 버전입니다.
status.sync.helmStatus.chart 동기화할 Helm 차트 이름입니다.
status.sync.commit 클러스터에 동기화된 가장 최근의 커밋 또는 다이제스트의 해시입니다. 오류로 인해 커밋 또는 다이제스트가 일부만 동기화된 경우에도 이 값이 업데이트됩니다.
status.sync.errors status.sync.commit으로 표시된 변경사항으로부터 리소스를 적용하는 동안 발생한 오류 목록입니다. 오류가 너무 많으면 구성 동기화가 오류를 자르므로 여기에 발생한 모든 오류가 포함되지 않을 수 있습니다.
status.sync.errorSummary.totalCount 정보 소스의 구성을 적용하는 동안 발생한 총 오류 수를 추적하는 정수입니다.
status.sync.errorSummary.truncated 정보 소스의 구성을 적용하는 동안 status.sync.errors 필드에 포함된 모든 오류가 포함되어 있는지 여부를 나타내는 불리언입니다.
status.sync.errorSummary.errorCountAfterTruncation status.sync.errors 필드에서 오류 수를 추적하는 정수입니다.
status.conditions RootSync 또는 RepoSync 객체의 현재 상태를 추적하는 조건 목록입니다.
조건의 type 필드가 Reconciling 또는 Stalled인 경우:
  • 조건의 errors 필드는 RootSync 또는 RepoSync 객체를 조정하는 동안 발생한 오류를 추적합니다.
  • 조건의 errorSummary 필드에는 조건의 errors 필드에 있는 오류가 요약되어 있습니다.
  • 조건의 errorsSourceRefs 필드가 비어 있습니다.
조건 유형이 Syncing인 경우:
  • 조건의 errors 필드가 비어 있습니다.
  • 조건의 errorsSourceRefs 필드는 오류의 출처를 추적합니다. 오류의 원인은 status.rendering.errors, status.source.errors, status.sync.errors일 수 있습니다.
  • 조건의 errorSummary 필드에는 errorsSourceRefs 필드에서 참조되는 오류가 요약되어 있습니다.

1 Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 설치한 후 RootSync 구성 파일을 만든 경우 이 필드를 덮어쓸 수 있습니다.

ResourceGroup 필드

사양 및 상태 필드

설명
spec.resources RepoSync CR 또는 RootSync CR에 지정된 Git 저장소에서 클러스터에 적용되는 리소스에 대한 식별자(그룹, 종류, 네임스페이스, 이름) 목록입니다. 선택사항입니다.
목록의 각 항목에는 group, kind, namespace, name의 4개 필드가 포함됩니다.

상태 필드

설명
status.observedGeneration ResourceGroup 컨트롤러에서 마지막으로 관측하고 작업을 수행한 RootSync 또는 RepoSync 리소스 사양에 대한 세대(metadata.generation)입니다. 이 값은 정수이고 API 서버에서 사양 변형 시 업데이트되는 metadata.generation과 비교될 수 있습니다.
status.conditions 현재 ResourceGroup에 대해 가장 최근에 관측된 조건입니다. 조건에는 ReconcilingStalled의 두 가지 유형이 있습니다. Reconciling 유형 조건이 true이면 현재 ResourceGroup이 조정 중입니다. Stalled 유형 조건이 true이면 조정이 중단되었습니다. 둘 다 false이면 현재 ResourceGroup이 조정되었고 상태가 최신입니다.
status.resourceStatuses .spec.resources에 포함된 리소스의 상태 목록입니다. 각 항목에는 식별자(그룹, 종류, 네임스페이스, 이름) 및 리소스 상태가 포함됩니다. 상태는 InProgress, Current, Failed, Terminating, NotFound, Unknown 중 하나입니다.

비관리형 root-sync 필드

root-sync라는 RootSync의 다음 필드는 Fleet(허브) 서비스에서 관리되지 않으며 모든 Kubernetes 클라이언트로 수정할 수 있습니다.

설명
spec.git.noSSLVerify noSSLVerify는 SSL 인증서 확인을 사용 설정 또는 사용 중지할지 여부를 지정합니다. 기본값: false
noSSLVerifytrue로 설정된 경우 Git에 SSL 인증서 확인을 건너뛰도록 지정합니다.
spec.git.caCertSecretRef.name 인증 기관(CA) 인증서가 포함된 보안 비밀의 이름입니다. 이 필드가 제공되면 Git 서버는 이 CA에서 발급한 인증서를 사용해야 합니다. CA 인증서는 `cert`라는 키 아래 보안 비밀에 저장되어야 합니다.
spec.override.resources 컨테이너 리소스 요청 및 한도 재정의 목록입니다. (선택사항)
목록의 각 항목에 3개 필드가 포함됩니다.
  • containerName: 이 필드는 git-sync, oci-sync, hydration-controller, 또는 reconciler 중 하나일 수 있습니다.
  • cpuRequest(선택사항)
  • cpuLimit(선택사항)
  • memoryRequest(선택사항)
  • memoryLimit(선택사항)

리소스 요청 또는 한도의 재정의 값이 제공되지 않았으면 요청 또는 한도에 대해 기본 리소스 값이 사용됩니다.
spec.override.gitSyncDepth gitSyncDepth를 사용하면 가져올 Git 커밋 수를 재정의할 수 있습니다.
0보다 작지 않아야 합니다.
이 필드가 0이면 구성 동기화가 전체 클론을 수행하고 이 필드가 0보다 크면 부분 클론을 수행합니다.
이 필드를 제공하지 않으면 구성 동기화가 이를 자동으로 구성합니다.
spec.override.statusMode statusMode를 사용하면 리소스 수준 상태 캡처를 사용 설정하거나 사용 중지할 수 있습니다.
기본값은 enabled입니다.
리소스 수준 상태 캡처를 사용 중지하려면 이 필드를 disabled로 설정합니다.
spec.override.reconcileTimeout reconcileTimeout을 사용하면 포기하기 전에 적용 그룹의 리소스가 조정될 때까지 기다리는 시간에 대한 기준점을 재정의할 수 있습니다. 커밋의 모든 리소스는 종속 항목을 기반으로 여러 적용 그룹에 있을 수 있습니다.
기본 제한 시간은 5m입니다.
문자열을 사용하여 이 필드 값을 지정합니다(예: 30s, 5m).
spec.override.enableShellInRendering enableShellInRendering은 렌더링 프로세스에서 셸 액세스를 사용 설정 또는 사용 중지할지 여부를 지정합니다. Kustomize 원격 베이스에는 셸 액세스가 필요합니다. 이 필드를 true로 설정하면 렌더링 프로세스에서 셸 액세스를 사용 설정하고 공개 저장소에서 원격 베이스를 가져올 수 있습니다.
기본값은 false입니다.

RootSync 객체의 관리형 및 비관리형 필드에 대한 자세한 내용은 Fleet 서비스가 RootSync 객체를 관리하는 방법을 참조하세요.

CR 예시

다음 섹션에서는 RootSyncRepoSync CR의 예시를 보여줍니다.

RootSync CR

다음 예시에서는 RootSync 객체를 보여줍니다.

# root-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RootSync
metadata:
  name: root-sync
  namespace: config-management-system
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

RepoSync CR

다음 예시에서는 RepoSync 객체를 보여줍니다.

# repo-sync.yaml
apiVersion: configsync.gke.io/v1beta1
kind: RepoSync
metadata:
  name: repo-sync
  namespace: gamestore
spec:
  sourceType: git
  sourceFormat: unstructured
  git:
    repo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    branch: init
    dir: config-sync-quickstart/multirepo/root
    auth: none
    period: 30s

다음 단계