클러스터에서 구성 파일 생성

이 문서에서는 기존 클러스터에서 구성 파일 집합을 생성하는 방법을 보여줍니다.

클러스터를 만드는 한 가지 방법은 gkectl 명령줄 도구를 사용하는 것입니다. 먼저 클러스터의 구성 파일 집합을 만듭니다. 그리고 나서 다음 명령어 중 하나를 실행합니다.

  • gkectl create admin: 관리자 클러스터 만들기
  • gkectl create cluster: 사용자 클러스터 만들기

시간이 경과하면 원래 구성 파일이 클러스터의 실제 상태와 동기화되지 않을 수 있습니다. 예를 들어 커스텀 리소스를 수정하여 클러스터를 업데이트하는 경우 원래 구성 파일에서 클러스터를 정확하게 나타내지 못할 수 있습니다.

클러스터를 만드는 또 다른 방법은 Google Cloud 콘솔을 사용하는 것입니다. 이 경우 클러스터 구성 파일이 없습니다. 나중에 클러스터를 업데이트할 수 있도록 클러스터 구성 파일이 필요할 수 있습니다.

원래 구성 파일이 클러스터와 동기화되지 않은 것으로 의심되거나 구성 파일이 없으면 gkectl get-config 명령어를 사용하여 클러스터의 현재 상태를 정확하게 나타내는 새로운 구성 파일 집합을 만들 수 있습니다.

다음에서 gkectl get-config을 사용할 수 있습니다.

  • 사용자 클러스터
  • 관리자 클러스터

구성 파일 생성

사용자 클러스터의 새 구성 파일 집합을 생성하려면 다음 명령어를 실행합니다.

gkectl get-config cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --cluster-name USER_CLUSTER_NAME

다음을 바꿉니다.

  • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터의 kubeconfig 파일 경로

  • USER_CLUSTER_NAME: 사용자 클러스터의 이름

관리자 클러스터의 새 구성 파일 집합을 생성하려면 다음 명령어를 실행합니다.

gkectl get-config admin --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --bundle-path BUNDLE

다음을 바꿉니다.

  • ADMIN_CLUSTER_KUBECONFIG: 관리자 클러스터의 kubeconfig 파일

  • BUNDLE: Google Distributed Cloud 번들 파일의 경로입니다. 번들 파일은 일반적으로 /var/lib/gke/bundles/gke-onprem-vsphere-VERSION-full.tgz에 있는 관리 워크스테이션에 있습니다. 아직 번들 파일이 없으면 번들 파일을 다운로드할 수 있습니다.

기본적으로 생성된 구성 파일은 현재 디렉터리의 하위 디렉터리에 기록됩니다. 사용자 클러스터의 경우 출력 디렉터리 이름은 user-cluster-config-output입니다. 관리자 클러스터의 경우 출력 디렉터리 이름은 admin-cluster-config-output입니다.

생성된 파일을 다른 디렉터리에 저장하려는 경우 --output-dir 매개변수를 사용하여 출력 디렉터리의 경로를 지정하면 됩니다. 예를 들면 다음과 같습니다.

gkectl get-config cluster --kubeconfig my-kubeconfig \
    --cluster-name my-cluster \
    --output-dir /home/me/configuration/generated-files

기본 출력 디렉터리나 지정된 출력 디렉터리에 이미 파일이 있으면 새로 생성된 파일이 기존 파일을 대체하도록 --force 플래그를 포함해야 합니다. 그렇지 않으면 명령어가 실패합니다. 예를 들면 다음과 같습니다.

gkectl get-config cluster --kubeconfig my-kubeconfig \
    --cluster-name my-cluster \
    --output-dir /home/me/configuration/generated-files
    --force

관리자 클러스터용으로 생성된 파일

파일 이름설명
admin-cluster.yaml 관리자 클러스터 구성 파일
항상 생성됨
admin-cluster-creds.yaml 클러스터 사용자 인증 정보 파일
항상 생성됨
component-access-key.json 구성요소 액세스 서비스 계정의 JSON 키 파일
항상 생성됨
vcenter-ca-cert.pem vCenter Server의 루트 인증서
항상 생성됨
admin-cluster-ipblock.yaml 클러스터 노드의 IP 블록 파일
클러스터 노드에서 고정 IP 주소를 사용하는 경우에 생성됨
admin-seesaw-ipblock.yaml Seesaw VM의 IP 블록 파일
클러스터에서 Seesaw 부하 분산기를 사용하는 경우에 생성됨
connect-register-key.json 연결 등록 서비스 계정의 JSON 키 파일
항상 생성됨
private-registry-ca.crt 비공개 레지스트리 서버의 루트 인증서
클러스터에서 비공개 레지스트리를 사용하는 경우에 생성됨
stackdriver-key.json 로깅 모니터링 서비스 계정의 JSON 키 파일
클러스터가 로그 및 측정항목을 Cloud LoggingCloud Monitoring(클러스터 구성 파일의 stackdriver 섹션)으로 내보내도록 구성된 경우에 생성됨
audit-logging-key.json 감사 로깅 서비스 계정의 JSON 키 파일
클러스터에서 Cloud 감사 로그를 사용하는 경우에 생성됨

사용자 클러스터용으로 생성된 파일

파일 이름설명
user-cluster.yaml 사용자 클러스터 구성 파일
항상 생성됨
user-cluster-creds.yaml 클러스터 사용자 인증 정보 파일
클러스터에서 준비된 사용자 인증 정보를 사용하지 않는 경우에 생성됨
vcenter-ca-cert.pem vCenter Server의 루트 인증서
항상 생성됨
user-cluster-ipblock.yaml 클러스터 노드의 IP 블록 파일
클러스터 노드에서 고정 IP 주소를 사용하는 경우에 생성됨
user-seesaw-ipblock.yaml Seesaw VM의 IP 블록 파일
클러스터에서 Seesaw 부하 분산기를 사용하는 경우에 생성됨
private-registry-ca.crt 비공개 레지스트리 서버의 루트 인증서
클러스터에서 비공개 레지스트리를 사용하는 경우에 생성됨
component-access-key.json 구성요소 액세스 서비스 계정의 JSON 키 파일
클러스터에서 비공개 레지스트리를 사용하지 않는 경우에 생성됨
connect-register-key.json 연결 등록 서비스 계정의 JSON 키 파일
항상 생성됨
stackdriver-key.json 로깅 모니터링 서비스 계정의 JSON 키 파일
클러스터가 로그 및 측정항목을 Cloud LoggingCloud Monitoring(클러스터 구성 파일의 stackdriver 섹션)으로 내보내도록 구성된 경우에 생성됨
audit-logging-key.json 감사 로깅 서비스 계정의 JSON 키 파일
클러스터에서 Cloud 감사 로그를 사용하는 경우에 생성됨
usage-metering-key.json 사용량 측정 서비스 계정의 JSON 키 파일
클러스터에서 사용 데이터를 BigQuery 데이터 세트에 저장하는 경우에 생성됨
secrets.yaml 보안 비밀 구성 파일
클러스터에서 준비된 사용자 인증 정보를 사용하는 경우에 생성됨
이 파일을 생성하려면 gkectl get-config cluster 명령어에 --export-secrets-config 플래그를 포함해야 합니다.
sni-cert.pem Kubernetes API 서버의 추가 제공 인증서
클러스터가 서버 이름 표시(SNI)를 사용하도록 구성된 경우에 생성됨
sni-key.json 추가 제공 인증서의 비공개 키 파일
클러스터가 SNI를 사용하도록 구성된 경우에 생성됨