구성 동기화는 Kubernetes 구성을 클러스터와 동기화합니다. 이 문서에서는 기본 설정을 사용하여 구성 동기화를 사용 설정하고 구성하는 방법을 설명합니다. 구조화되지 않은 Git 저장소에서 구성을 동기화하는 데 중점을 둡니다.
이 페이지는 GitOps 도구를 구현하여 팀의 구성 관리를 중앙 집중화하려는 운영자를 위해 작성되었습니다. Google Cloud 콘텐츠에서 참조하는 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 일반 GKE 사용자 역할 및 태스크를 참조하세요.
고급 설정으로 구성 동기화를 설치하는 방법은 구성 동기화 설치 맞춤설정을 참고하세요.
시작하기 전에
구성 동기화를 설치하기 전에 Git 저장소와 GKE 클러스터를 준비합니다.
Git 저장소 만들기 및 구성 동기화에 액세스 권한 부여
Git 저장소의 구성을 클러스터에 동기화하려면 구성 동기화에 저장소에 대한 읽기 전용 액세스 권한이 필요합니다. 구성 동기화가 구성을 읽도록 승인하려면 다음 단계를 완료하세요.
구성 동기화가 클러스터에 동기화할 구성 파일이 포함된 Git 저장소를 만들거나 이 저장소에 액세스합니다.
Git 저장소가 공개인 경우 추가 조치가 필요하지 않습니다. 구성 동기화에는 추가 권한이 필요하지 않습니다.
Git 저장소가 비공개인 경우 구성 동기화에 Git 액세스 권한 부여의 안내를 따르세요.
클러스터 만들기
이미 클러스터를 준비한 경우(예: 구성 동기화에 Git 액세스 권한 부여 단계에 따라) 구성 동기화 설치로 진행합니다.
구성 동기화를 사용하려면 클러스터가 Fleet에 등록되어 있어야 합니다. 클러스터를 등록하려면 다음 단계를 완료하세요.
콘솔
별도의 조치가 필요하지 않습니다. 구성 동기화를 설치하면 클러스터가 Fleet에 자동으로 등록됩니다.
gcloud
플릿에 등록된 Autopilot 클러스터를 만들려면 다음 명령어를 실행합니다.
gcloud container clusters create-auto CLUSTER_NAME --enable-fleet
Fleet에 등록된 표준 클러스터를 만들려면 다음 명령어를 실행합니다.
gcloud container clusters create CLUSTER_NAME --enable-fleet \ --workload-pool=PROJECT_ID.svc.id.goog
다음을 바꿉니다.
CLUSTER_NAME
: 클러스터 이름입니다.PROJECT_ID
: 프로젝트 ID입니다.
클러스터 등록에 대한 자세한 내용은 Fleet에 클러스터 등록을 참고하세요.
구성 동기화 설치
Git 저장소의 구성을 등록된 클러스터에 동기화하도록 구성 동기화를 사용 설정하고 구성하려면 다음 단계를 완료하세요.
콘솔
Google Cloud 콘솔을 사용하는 경우 먼저 클러스터에 구성 동기화를 설치한 다음 구성 동기화가 Git 저장소에서 동기화할 수 있도록 지원하는 패키지를 구성합니다.
구성 동기화 설치
Google Cloud 콘솔에서 구성 동기화 페이지로 이동합니다.
구성 동기화 설치를 클릭합니다.
Fleet의 모든 클러스터에 설치를 선택합니다.
다른 설정은 모두 기본값으로 둡니다.
구성 동기화 설치를 클릭합니다.
몇 분 후 설정 탭에서 Fleet에 있는 클러스터의 상태 열에 사용 설정됨이 표시됩니다.
패키지 배포
클러스터 패키지 배포를 클릭합니다.
클러스터 선택 탭에서 패키지를 배포할 클러스터를 선택한 다음 계속을 클릭합니다.
패키지 구성 탭을 클릭하고 패키지 이름을 입력합니다.
소스 섹션에서 다음을 완료합니다.
저장소 URL 필드에 Git 저장소의 URL을 입력합니다.
선택사항: 다른 필드 설정을 검토하고 업데이트합니다. 저장소 구조에 따라 이러한 설정을 업데이트하지 않아도 될 수 있습니다.
선택사항: 저장소가 비공개인 경우 고급 설정 섹션을 펼쳐 인증 방법을 구성합니다. Google Cloud 콘솔은 인증 설정을 구성하는 데 도움이 되는 삽입된 안내를 제공합니다.
다른 설정은 모두 기본값으로 둡니다.
패키지 배포를 클릭합니다.
구성 동기화 패키지 페이지로 리디렉션됩니다. 몇 분 후 구성한 클러스터의 동기화 상태 열에 Synced(동기화됨)가 표시됩니다.
gcloud
gcloud CLI를 사용하는 경우 구성 동기화 설정을 포함하는 매니페스트를 만든 다음 해당 설정을 클러스터에 적용하여 구성 동기화를 설치합니다.
ConfigManagement
Fleet 기능을 사용 설정합니다.gcloud beta container fleet config-management enable
apply-spec.yaml
라는 매니페스트를 만듭니다. 이 예시 매니페스트에는 권장되는 기본 설정이 포함되어 있습니다.applySpecVersion: 1 spec: configSync: enabled: true sourceFormat: unstructured syncRepo: REPO_URL # syncRev: REVISION secretType: none preventDrift: false
다음을 바꿉니다.
REPO_URL
: Git 저장소의 URL입니다(예:https://github.com/GoogleCloudPlatform/anthos-config-management-samples
).(선택사항)
REVISION
: 동기화할 Git 버전 (태그 또는 해시) 또는 브랜치입니다.HEAD
이외의 위치에서 동기화해야 하는 경우 이 필드의 주석 처리를 삭제하고 필드를 대체합니다.비공개 저장소의 경우
secretType
필드를 지원되는 인증 방법으로 변경할 수 있습니다. Secure Source Manager가 있는 Google 서비스 계정 (gcpserviceaccount
)이 일반적으로 권장됩니다. 또는 대부분의 Git 제공업체와 호환되는ssh
를 사용합니다. 지원되는 인증 방법에 관한 자세한 안내는 Git에 대한 액세스 권한 부여를 참고하세요.
매니페스트를 클러스터에 적용합니다.
gcloud beta container fleet config-management apply \ --membership=MEMBERSHIP_NAME \ --config=apply-spec.yaml \ --project=PROJECT_ID
다음을 바꿉니다.
MEMBERSHIP_NAME
: 클러스터를 등록할 때 선택한 Fleet 멤버십 이름입니다.gcloud container fleet memberships list
명령어를 사용하여 이름을 가져옵니다.PROJECT_ID
: 프로젝트 ID입니다.
설치 확인
구성 동기화를 설치하고 구성한 후 설치가 성공적으로 완료되었는지 확인합니다.
콘솔
Google Cloud 콘솔에서 구성 동기화 페이지로 이동합니다.
패키지 탭에서 클러스터 테이블의 동기화 상태 열을 확인합니다. 구성 동기화 설치에 성공한 경우 설치됨 상태가 표시됩니다. Git 저장소가 성공적으로 구성되면 동기화됨 상태가 표시됩니다.
gcloud
다음 명령어를 실행합니다.
nomos status
설치가 완료되면 SYNCED
또는 PENDING
상태가 표시됩니다.
보고된 오류를 비롯해 nomos status
명령어로 제공되는 정보에 대한 자세한 내용은 nomos
명령줄 도구 문서의 구성 동기화 상태 확인을 참고하세요.
다음 단계
- 구성 동기화 설치 맞춤설정
nomos
명령어 사용하기- 구성 동기화 문제 해결 소개 읽어보기