버전 1.5. 이 버전은 완전하게 지원되며 GKE On-Prem에 영향을 미치는 보안 취약점, 노출, 문제에 대한 최신 패치와 업데이트를 제공합니다. 자세한 내용은 출시 노트를 참조하세요. 이는 최신 버전이 아닙니다.

이전 클러스터 구성 파일

이 페이지에서는 GKE On-Prem 버전 1.3 이하에서 사용된 클러스터 구성 파일의 필드를 설명합니다.

GKE On-Prem 버전 1.4에서는 구성 파일이 크게 변경되었습니다. 새 파일은 버전 1 구성 파일이라고 합니다. 1.4 이전의 GKE On-Prem 버전에서 사용된 구성 파일은 버전 0 구성 파일이라고 합니다.

GKE On-Prem 버전 1.4에 도입된 새 기능을 사용하려면 v1 구성 파일을 사용해야 합니다.

v0 구성 파일은 GKE On-Prem 1.4의 도구와 호환됩니다. 예를 들어 v0 구성 파일을 GKE On-Prem 1.4의 gkectl create cluster 명령어에 전달할 수 있습니다. 또한 v0 구성 파일을 v1 구성 파일로 변환하는 명령어를 실행할 수 있습니다.

구성 파일 변환

GKE On-Prem 1.4는 관리자 및 사용자 클러스터에 대해 별도의 구성 파일을 사용합니다. 즉 하나의 구성 파일을 사용하여 관리자 클러스터를 만들고 다른 구성 파일을 사용하여 사용자 클러스터를 만듭니다.

v0 구성 파일을 v1 관리자 클러스터 구성 파일로 변환하려면 다음을 실행하세요.

gkectl create-config admin --from [OLD_CONFIG_PATH] --config [OUTPUT_PATH]

각 항목의 의미는 다음과 같습니다.

  • [OLD_CONFIG_PATH]는 v0 구성 파일의 경로입니다.

  • [OUTPUT_PATH]는 생성된 v1 관리자 클러스터 구성 파일에 대해 선택한 경로입니다. 이 플래그를 생략하면 gkectl은 파일 이름을 admin-cluster.yaml로 지정하고 현재 디렉터리에 넣습니다.

v0 구성 파일을 v1 사용자 클러스터 구성 파일로 변환하려면 다음을 실행하세요.

gkectl create-config cluster --from [OLD_CONFIG_PATH] --config [OUTPUT_PATH]
  • [OLD_CONFIG_PATH]는 v0 구성 파일의 경로입니다.

  • [OUTPUT_PATH]는 생성된 v1 사용자 클러스터 구성 파일에 대해 선택한 경로입니다. 이 플래그를 생략하면 gkectl은 파일 이름을 user-cluster.yaml로 지정하고 현재 디렉터리에 넣습니다.

v0 구성 파일의 템플릿

v0 구성 파일 작성

v0 구성 파일을 사용하는 경우 이 섹션의 설명대로 필드 값을 입력합니다.

bundlepath

GKE On-Prem 번들 파일에는 GKE On-Prem의 특정 출시 버전에 있는 모든 구성요소가 포함되어 있습니다. 관리자 워크스테이션을 만들 때는 /var/lib/gke/bundles/gke-onprem-vsphere-[VERSION]-full.tgz에서 전체 번들과 함께 제공됩니다. 이 번들 버전은 관리 워크스테이션을 만들기 위해 가져온 OVA 버전과 일치합니다.

bundlepath의 값을 관리자 워크스테이션 번들 파일의 경로로 설정합니다. 즉 bundlepath를 다음과 같이 설정합니다.

/var/lib/gke/bundles/gke-onprem-vsphere-[VERSION]-full.tgz

여기서 [VERSION]은 설치 중인 GKE On-Prem의 버전입니다. 최신 버전은 1.5.2-gke.3입니다.

다른 위치에 번들 파일을 두거나 이름을 다르게 지정해도 됩니다. 구성 파일에서 bundlepath의 값이 무엇이든 번들 파일의 경로인지만 확인하면 됩니다.

vCenter 사양

vcenter 사양에는 vCenter Server 인스턴스에 대한 정보가 포함되어 있습니다. GKE On-Prem은 vCenter Server와 통신하기 위해 이 정보가 필요합니다.

vcenter.credentials.address

vcenter.credentials.address 필드에는 vCenter Server의 IP 주소 또는 호스트 이름이 포함됩니다.

vsphere.credentials.address field를 입력하기 전에 사용 중인 vCenter Server의 인증서를 다운로드하고 검사합니다. 다음 명령어를 입력하여 인증서를 다운로드하고 vcenter.pem이라는 파일로 저장합니다.

true | openssl s_client -connect [VCENTER_IP]:443 -showcerts 2>/dev/null | sed -ne '/-BEGIN/,/-END/p' > vcenter.pem

인증서 파일을 열어서 제목 일반 이름 및 제목 대체 이름을 확인합니다.

openssl x509 -in vcenter.pem -text -noout

결과에 Subject 일반 이름(CN)이 표시됩니다. 이 이름은 IP 주소이거나 호스트 이름일 수 있습니다. 예를 들면 다음과 같습니다.

Subject: ... CN = 203.0.113.100
Subject: ... CN = my-host.my-domain.example

결과의 Subject Alternative Name 아래에는 DNS 이름이 1개 이상 포함될 수도 있습니다.

X509v3 Subject Alternative Name:
    DNS:vcenter.my-domain.example

Subject 일반 이름을 선택하거나 Subject Alternative Name 아래에서 구성 파일의 vcenter.credentials.address 값으로 사용할 DNS 이름 중 하나를 선택합니다. 예를 들면 다음과 같습니다.

vcenter:
  credentials:
    address: "203.0.113.1"
    ...
vcenter:
  credentials:
    address: "my-host.my-domain.example"
    ...

인증서에 표시되는 값을 선택해야 합니다. 예를 들어 IP 주소가 인증서에 표시되지 않으면 이를 vcenter.credentials.address에 사용할 수 없습니다.

vcenter.credential.username, .password

GKE On-Prem에는 vCenter Server의 사용자 이름과 비밀번호가 필요합니다. 이 정보를 제공하려면 vcenter.credentials 아래에서 usernamepassword 값을 설정하세요. 예를 들면 다음과 같습니다.

vcenter:
  credentials:
    username: "my-name"
    password: "my-password"

vcenter.datacenter, .datastore, .cluster, .network

GKE On-Prem에는 vSphere 환경 구조에 대한 정보가 필요합니다. 이 정보를 제공하려면 vcenter 아래에서 값을 설정하세요. 예를 들면 다음과 같습니다.

vcenter:
  datacenter: "MY-DATACENTER"
  datastore: "MY-DATASTORE"
  cluster: "MY-VSPHERE-CLUSTER"
  network: "MY-VIRTUAL-NETWORK"

vcenter.resourcepool

vSphere 리소스 풀은 vSphere 클러스터에서 vSphere VM을 논리적으로 묶은 그룹입니다. 기본값이 아닌 리소스 풀을 사용하는 경우 vcenter.resourcepool에 리소스 풀 이름을 제공합니다. 예를 들면 다음과 같습니다.

vcenter:
  resourcepool: "my-pool"

GKE On-Prem이 해당 노드를 vSphere 클러스터의 기본 리소스 풀에 배포하도록 하려면 vcenter.resourcepool에 빈 문자열을 제공합니다. 예를 들면 다음과 같습니다.

vcenter:
  resourcepool: ""

vcenter.datadisk

GKE On-Prem은 관리자 클러스터의 Kubernetes 객체 데이터를 저장할 가상 머신 디스크(VMDK)를 만듭니다. 설치 프로그램에서 자동으로 VMDK를 만들지만 vcenter.datadisk 필드에 VMDK 이름을 제공해야 합니다. 예를 들면 다음과 같습니다.

vcenter:
  datadisk: "my-disk.vmdk"
vSAN Datastore: VMDK에 폴더 만들기

vSAN Datastore를 사용하는 경우 VMDK를 폴더에 두어야 합니다. 폴더는 수동으로 미리 만들어야 합니다. 이렇게 하려면 govc를 사용하여 폴더를 만들면 됩니다.

govc datastore.mkdir -namespace=true my-gke-on-prem-folder

그런 다음 vcenter.datadisk를 폴더가 포함된 VMDK 경로로 설정합니다. 예를 들면 다음과 같습니다.

vcenter:
datadisk: "my-gke-on-prem-folder/my-disk.vmdk"

버전 1.1.1 이하에서는 알려진 문제로 인해 파일 경로 대신 폴더의 범용 고유 식별자(UUID) 경로를 vcenter.datadisk에 제공해야 합니다. 위 govc 명령어의 결과에서 이를 복사합니다.

그런 다음 vcenter.datadisk 필드에 폴더의 UUID를 제공합니다. UUID 앞에 슬래시를 사용하지 마세요. 예를 들면 다음과 같습니다.

vcenter:
datadisk: "14159b5d-4265-a2ba-386b-246e9690c588/my-disk.vmdk"

이 문제는 버전 1.1.2 이상에서 해결되었습니다.

vcenter.cacertpath

GKE On-Prem과 같은 클라이언트가 vCenter Server로 요청을 전송할 때 서버는 인증서 또는 인증서 번들을 제공하여 클라이언트에 해당 ID를 입증해야 합니다. 인증서 또는 번들을 확인하려면 GKE On-Prem의 신뢰 체인에 루트 인증서가 있어야 합니다.

vcenter.cacertpath를 루트 인증서의 경로로 설정합니다. 예를 들면 다음과 같습니다.

vcenter:
  cacertpath: "/my-cert-folder/the-root.crt"

VMware 설치에는 vCenter Server에 인증서를 발급하는 인증 기관(CA)이 포함됩니다. 신뢰 체인의 루트 인증서는 VMware에서 생성된 자체 서명 인증서입니다.

기본값인 VMWare CA를 사용하지 않을 경우 다른 인증 기관을 사용하도록 VMware를 구성할 수 있습니다.

vCenter Server에 기본 VMware CA에서 발급된 인증서가 사용될 경우에는 루트 인증서를 가져올 수 있는 몇 가지 방법이 있습니다.

  • curl -k "https://[SERVER_ADDRESS]/certs/download.zip" > download.zip

    여기서 [SERVER_ADDRESS]는 vCenter Server의 주소입니다.

  • 브라우저에서 vCenter Server의 주소를 입력합니다. 오른쪽 회색 상자에서 신뢰할 수 있는 루트 CA 인증서 다운로드를 클릭합니다.

  • 다음 명령어를 입력하여 사용 중인 인증서를 가져옵니다.

    true | openssl s_client -connect [SERVER_ADDRESS]:443 -showcerts

    결과에서 https://[SERVER_ADDRESS]/afd/vecs/ca와 비슷한 URL을 찾습니다. 브라우저에 이 URL을 입력합니다. 루트 인증서를 다운로드합니다.

다운로드한 파일 이름은 downloads.zip입니다.

파일의 압축을 풉니다.

unzip downloads.zip

처음에 unzip 명령어가 작동하지 않으면 명령어를 다시 입력합니다.

certs/lin에서 인증서 파일을 찾습니다.

프록시 사양

네트워크가 프록시 서버 뒤에 있는 경우 프록시에서 제외해야 하는 주소와 HTTPS 프록시를 proxy 필드에 입력합니다. 예를 들면 다음과 같습니다.

proxy:
  url: "https://username:password@domain"
  noproxy: "10.0.1.0/24,private-registry.example,10.0.2.1"

관리자 클러스터 사양

admincluster 사양에는 GKE On-Prem이 관리자 클러스터를 만드는 데 필요한 정보가 포함되어 있습니다.

admincluster.vcenter.network

admincluster.vcenter.network에서는 관리자 클러스터 노드에 vCenter 네트워크를 지정할 수 있습니다. 이는 vcenter에서 제공한 전역 설정보다 우선 적용됩니다. 예를 들면 다음과 같습니다.

admincluster:
  vcenter:
    network: MY-ADMIN-CLUSTER-NETWORK

admincluster.ipblockfilepath

고정 IP 주소를 사용 중이므로 고정 IP 구성의 설명대로 호스트 구성 파일이 있어야 합니다. 호스트 구성 파일의 경로를 admincluster.ipblockfilepath 필드에 입력합니다. 예를 들면 다음과 같습니다.

admincluster:
  ipblockfilepath: "/my-config-folder/my-admin-hostconfig.yaml"

admincluster.manuallbspec.ingresshttpnoodeport, .ingresshttpsnodeport

이 필드를 삭제하세요. 관리자 클러스터에서는 사용되지 않습니다.

admincluster.manuallbspec.controlplanenodeport, .addonsnodeport(수동 부하 분산 모드)

관리자 클러스터의 Kubernetes API 서버는 NodePort 유형 서비스로 구현됩니다. 수동 부하 분산을 사용하는 경우 서비스에 nodePort 값을 선택해야 합니다. controlplanenodeportnodePort 값을 지정합니다. 예를 들면 다음과 같습니다.

admincluster:
  manuallbspec:
    controlplanenodeport: 30968

관리자 클러스터의 부가기능 서버는 NodePort 유형 서비스로 구현됩니다. 수동 부하 분산을 사용하는 경우 서비스에 nodePort 값을 선택해야 합니다. controlplanenodeportnodePort 값을 지정합니다. 예를 들면 다음과 같습니다.

admincluster:
  manuallbspec:
    addonsnodeport: 30562

admincluster.bigip.credentials(통합 부하 분산 모드)

통합 부하 분산 모드를 사용하지 않는 경우 admincluster.bigip를 주석 처리된 상태로 둡니다.

통합 부하 분산 모드를 사용하는 경우 GKE On-Prem에는 F5 BIG-IP 부하 분산기의 IP 주소 또는 호스트 이름, 사용자 이름, 비밀번호가 필요합니다. 이 정보를 제공하려면 admincluster.bigip 아래에서 값을 설정하세요. 예를 들면 다음과 같습니다.

admincluster:
  bigip:
    credentials:
      address: "203.0.113.2"
      username: "my-admin-f5-name"
      password: "rJDlm^%7aOzw"

admincluster.bigip.partition(통합 부하 분산 모드)

통합 부하 분산 모드를 사용하는 경우 관리자 클러스터의 BIG-IP 파티션을 만들어야 합니다. admincluster.bigip.partition을 파티션 이름으로 설정합니다. 예를 들면 다음과 같습니다.

admincluster:
  bigip:
    partition: "my-admin-f5-partition"

admincluster.vips

관리자 클러스터에 통합 부하 분산을 사용하는지 수동 부하 분산을 사용하는지에 관계없이 admincluster.vips 필드를 입력해야 합니다.

admincluster.vips.controlplanevip의 값을 관리자 클러스터의 Kubernetes API 서버에 부하 분산기에서 구성한 IP 주소로 설정합니다. addonsvip의 값을 부가기능의 부하 분산기에서 구성한 IP 주소로 설정합니다. 예를 들면 다음과 같습니다.

admincluster:
  vips:
    controlplanevip: 203.0.113.3
    addonsvip: 203.0.113.4

admincluster.serviceiprange 및 admincluster.podiprange

관리자 클러스터에는 서비스에 사용할 IP 주소 범위와 Pod에 사용할 IP 주소 범위가 있어야 합니다. 이러한 범위는 admincluster.serviceiprangeadmincluster.podiprange 필드로 지정됩니다. 이러한 필드는 gkectl create-config를 실행할 때 채워집니다. 필요에 따라 채워진 값을 원하는 값으로 변경할 수 있습니다.

서비스 및 pod 범위는 겹치지 않아야 합니다. 또한 서비스 및 pod 범위는 클러스터의 노드에 사용되는 IP 주소와 겹치지 않아야 합니다.

예:

admincluster:
  serviceiprange: 10.96.232.0/24
  podiprange: 192.168.0.0/16

admincluster.antiaffinitygrous.enabled

부울. DRS 규칙 생성을 사용 설정하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정합니다. 예를 들면 다음과 같습니다.

admincluster:
  antiAffinityGroups:
    enabled true

사용자 클러스터 사양

사용자 클러스터 사양 usercluster에는 GKE On-Prem이 초기 사용자 클러스터를 만드는 데 필요한 정보가 포함되어 있습니다.

usercluster.vcenter.network

usercluster.vcenter.network에서는 사용자 클러스터 노드에 vCenter 네트워크를 지정할 수 있습니다. 이는 vcenter에서 제공한 전역 설정보다 우선 적용됩니다. 예를 들면 다음과 같습니다.

usercluster:
  vcenter:
    network: MY-USER-CLUSTER-NETWORK

usercluster.ipblockfilepath

고정 IP 주소를 사용 중이므로 고정 IP 구성의 설명대로 호스트 구성 파일이 있어야 합니다. 호스트 구성 파일의 경로를 usercluster.ipblockfilepath 필드에 입력합니다. 예를 들면 다음과 같습니다.

usercluster:
  ipblockfilepath: "/my-config-folder/my-user-hostconfig.yaml"

usercluster.manuallbspec(수동 부하 분산 모드)

사용자 클러스터의 인그레스 컨트롤러는 NodePort 유형 서비스로 구현됩니다. 서비스에는 HTTP용 ServicePort 하나와 HTTPS용 다른 ServicePort가 있습니다. 수동 부하 분산 모드를 사용하는 경우 이러한 ServicePort에 nodePort 값을 선택해야 합니다. ingresshttpnodeportingresshttpsnodeportnodePort 값을 지정합니다. 예를 들면 다음과 같습니다.

usercluster:
  manuallbspec:
    ingresshttpnodeport: 30243
    ingresshttpsnodeport: 30879

사용자 클러스터의 Kubernetes API 서버는 NodePort 유형 서비스로 구현됩니다. 수동 부하 분산을 사용하는 경우 서비스에 nodePort 값을 선택해야 합니다. controlplanenodeport에서 nodePort 값을 지정합니다. 예를 들면 다음과 같습니다.

usercluster:
  manuallbspec:
    controlplanenodeport: 30562

usercluster.bigip.credentials(통합 부하 분산 모드)

통합 부하 분산 모드를 사용하는 경우 GKE On-Prem에는 사용자 클러스터에 사용할 F5 BIG-IP 부하 분산기의 IP 주소 또는 호스트 이름, 사용자 이름, 비밀번호가 필요합니다. 이 정보를 제공하려면 usercluster.bigip 아래에서 값을 설정하세요. 예를 들면 다음과 같습니다.

usercluster:
  bigip:
    credentials:
      address: "203.0.113.5"
      username: "my-user-f5-name"
      password: "8%jfQATKO$#z"

usercluster.bigip.partition(통합 부하 분산 모드)

통합 부하 분산 모드를 사용하는 경우 사용자 클러스터의 BIG-IP 파티션을 만들어야 합니다. usercluster.bigip.partition을 파티션 이름으로 설정합니다. 예를 들면 다음과 같습니다.

usercluster:
  bigip:
    partition: "my-user-f5-partition"

usercluster.vips

사용자 클러스터에 통합 부하 분산을 사용하는지 수동 부하 분산을 사용하는지에 관계없이 usercluster.vips 필드를 입력해야 합니다.

usercluster.vips.controlplanevip 값을 사용자 클러스터의 Kubernetes API 서버에 부하 분산기에서 구성한 IP 주소로 설정합니다. ingressvip의 값을 부하 분산기에서 사용자 클러스터의 인그레스 컨트롤러에 대해 구성한 IP 주소로 설정합니다. 예를 들면 다음과 같습니다.

usercluster:
  vips:
    controlplanevip: 203.0.113.6
    ingressvip: 203.0.113.7

usercluster.clustername

usercluster.clustername의 값을 원하는 이름으로 설정합니다. 40자(영문 기준)를 초과하지 않는 이름을 선택하세요. 예를 들면 다음과 같습니다.

usercluster:
  clustername: "my-user-cluster-1"

usercluster.masternode.cpus, usercluster.masternode.memorymb

usercluster.masternode.cpususercluster.masternode.memorymb 필드에는 사용자 클러스터의 각 제어 영역 노드에 할당되는 CPU 수 및 메모리 양(MB)이 지정됩니다. 예를 들면 다음과 같습니다.

usercluster:
  masternode:
    cpus: 4
    memorymb: 8192

usercluster.masternode.replicas

usercluster.masternode.replicas 필드는 사용자 클러스터에 포함할 제어 영역 노드 수를 지정합니다. 사용자 클러스터의 제어 영역 노드는 Kubernetes 제어 영역 구성요소인 사용자 제어 영역을 실행합니다. 이 값은 1 또는 3이어야 합니다.

  • 사용자 제어 영역 하나를 실행하려면 이 필드를 1로 설정합니다.
  • 각 항목이 사용자 제어 영역을 실행하는 제어 영역 노드 세 개로 구성된 고가용성(HA) 사용자 제어 영역을 사용하려면 이 필드를 3으로 설정합니다.

usercluster.workernode.cpus, usercluster.workernode.memorymb

usercluster.workernode.cpususercluster.workernode.memorymb 필드에는 사용자 클러스터의 각 워커 노드에 할당된 CPU 수와 메모리 양이 지정됩니다. 예를 들면 다음과 같습니다.

usercluster:
  workernode:
    cpus: 4
    memorymb: 8192
    replicas: 3

usercluster.workernode.replicas

usercluster.workernode.replicas 필드에는 사용자 클러스터에 포함할 워커 노드 수가 지정됩니다. 워커 노드는 클러스터 워크로드를 실행합니다.

usercluster.antiaffinitygrous.enabled

부울. DRS 규칙 생성을 사용 설정하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정합니다. 예를 들면 다음과 같습니다.

antiAffinityGroups:
  enabled true

usercluster.serviceiprange, usercluster.podiprange

사용자 클러스터에는 서비스에 사용할 IP 주소 범위와 pod에 사용할 IP 주소 범위가 있어야 합니다. 이러한 범위는 usercluster.serviceiprangeusercluster.podiprange 필드로 지정됩니다. 이러한 필드는 gkectl create-config를 실행할 때 채워집니다. 필요에 따라 채워진 값을 원하는 값으로 변경할 수 있습니다.

서비스 및 pod 범위는 겹치지 않아야 합니다. 또한 서비스 및 pod 범위는 클러스터의 노드에 사용되는 IP 주소와 겹치지 않아야 합니다.

예:

usercluster:
  serviceiprange: 10.96.233.0/24
  podiprange: 172.16.0.0/12

usercluster.oidc

사용자 클러스터의 클라이언트가 OIDC 인증을 사용하도록 하려면 usercluster.oidc 아래에서 필드의 값을 설정합니다. OIDC 구성은 선택사항입니다.

OIDC 구성 방법을 알아보려면 OIDC로 인증을 참조하세요.

1.0.2-gke.3 버전 설치 정보

버전 1.0.2-gke.3에는 다음 OIDC 필드(usercluster.oidc)가 도입되었습니다. 이러한 필드를 통해 Cloud Console에서 클러스터에 로그인할 수 있습니다.

  • usercluster.oidc.kubectlredirecturl
  • usercluster.oidc.clientsecret
  • usercluster.oidc.usehttpproxy

버전 1.0.2-gke.3에서 OIDC를 사용하려면 Cloud Console에서 클러스터에 로그인하지 않더라도 clientsecret 필드가 필요합니다. 이 경우 clientsecret에 자리표시자 값을 제공할 수 있습니다.

oidc:
clientsecret: "secret"

usercluster.sni

전송 계층 보안(TLS)의 확장 기능인 서버 이름 표시(SNI)를 통해 서버는 클라이언트에 표시된 호스트 이름에 따라 단일 IP 주소 및 TCP 포트에 여러 인증서를 제공할 수 있습니다.

CA가 이미 사용자 클러스터 외부의 클라이언트에 신뢰할 수 있는 CA로 배포되었고 이 체인을 사용해서 신뢰할 수 있는 클러스터를 식별하려면, 부하 분산기 IP 주소의 외부 클라이언트에 제공된 추가 인증서를 사용해서 Kubernetes API 서버를 구성할 수 있습니다.

사용자 클러스터에서 SNI를 사용하려면 고유 CA 및 공개 키 인프라(PKI)가 있어야 합니다. 각 사용자 클러스터에 대해 사용 중인 개별 인증서를 프로비저닝하고 GKE On-Prem은 사용 중인 각 인증서를 해당 사용자 클러스터에 추가합니다.

사용자 클러스터의 Kubernetes API 서버에 대해 SNI를 구성하려면 usercluster.sni.certpath의 값(외부 인증서 경로) 및 usercluster.sni.keypath의 값(외부 인증서의 비공개 키 파일 경로)을 제공합니다. 예를 들면 다음과 같습니다.

usercluster:
  sni:
    certpath: "/my-cert-folder/example.com.crt"
    keypath: "/my-cert-folder/example.com.key"

usagemetering

클러스터에서 사용량 측정을 사용 설정하려면 이 섹션을 작성합니다. 그렇지 않으면 이 섹션을 삭제하세요.

usagemetering.bigqueryprojectid

문자열. 사용량 측정 데이터를 저장할 Google Cloud 프로젝트의 ID입니다. 예를 들면 다음과 같습니다.

usagemetering:
  bigqueryprojectid: "my-bq-project"

usagemetering.bigquerydatasetid

문자열. 사용량 측정 데이터를 저장할 BigQuery 데이터 세트의 ID입니다. 예를 들면 다음과 같습니다.

usagemetering:
  bigquerydatasetid: "my-bq-dataset"

usagemetering.bigqueryserviceaccountkepPath

문자열. BigQuery 서비스 계정의 JSON 키 파일 경로입니다. 예를 들면 다음과 같습니다.

usagemetering:
  bigqueryserviceaccountkeypath: "my-key-folder/bq-key.json"

usagemetering.enableconsumptionmetering

부울. 소비 기반 측정을 사용 설정하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다. 예를 들면 다음과 같습니다.

usagemetering:
  enableconsumptionmetering: true

lbmode

통합 부하 분산이나 수동 부하 분산을 사용할 수 있습니다. 선택한 부하 분산 모드는 관리자 클러스터와 초기 사용자 클러스터에 적용되며, 이후에 만드는 모든 추가적인 사용자 클러스터에도 적용됩니다.

lbmode 값을 Integrated 또는 Manual로 설정하여 부하 분산 선택을 지정합니다. 예를 들면 다음과 같습니다.

lbmode: Integrated

gkeconnect

gkeconnect 사양에는 GKE On-Prem이 Google Cloud Console에서 온프렘 클러스터 관리를 설정하는 데 필요한 정보가 포함되어 있습니다.

gkeconnect.projectid를 온프렘 클러스터를 관리하려는 Google Cloud 프로젝트의 프로젝트 ID로 설정합니다.

gkeconnect.registerserviceaccountkeypath 값을 등록 서비스 계정의 JSON 키 파일 경로로 설정합니다. gkeconnect.agentserviceaccountkeypath의 값을 연결 서비스 계정에 대한 JSON 키 파일의 경로로 설정합니다.

예:

gkeconnect:
  projectid: "my-project"
  registerserviceaccountkeypath: "/my-key-folder/register-key.json"
  agentserviceaccountkeypath: "/my-key-folder/connect-key.json"

stackdriver

stackdriver 사양에는 GKE On-Prem이 온프렘 클러스터에서 생성된 로그 항목을 저장하기 위해 필요한 정보가 포함되어 있습니다.

stackdriver.projectid를 온프렘 클러스터와 관련된 Stackdriver 로그를 보려는 Google Cloud 프로젝트의 프로젝트 ID로 설정합니다.

stackdriver.clusterlocation을 Stackdriver 로그를 저장하려는 Google Cloud 리전으로 설정합니다. 온프렘 데이터 센터와 가까운 리전을 선택하는 것이 좋습니다.

클러스터의 네트워크가 VPC로 제어되는 경우 stackdriver.enablevpctrue로 설정합니다. 이렇게 하면 모든 원격 분석이 Google의 제한된 IP 주소를 통해 이동합니다.

stackdriver.serviceaccountkeypathStackdriver Logging 서비스 계정의 JSON 키 파일 경로로 설정합니다.

예:

stackdriver:
  projectid: "my-project"
  clusterlocation: "us-west1"
  enablevpc: false
  serviceaccountkeypath: "/my-key-folder/stackdriver-key.json"

cloudrun.enabled

부울. Cloud Run을 사용 설정하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다. 예를 들면 다음과 같습니다.

cloudrun:
  enabled: true

privateregistryconfig

비공개 Docker 레지스트리가 있는 경우 privateregistryconfig 필드에는 GKE On-Prem이 비공개 레지스트리에 이미지를 푸시하기 위해 사용하는 정보가 포함됩니다. 비공개 레지스트리를 지정하지 않으면 gkectl이 설치 중에 해당 Container Registry 저장소 gcr.io/gke-on-prem-release에서 GKE On-Prem의 컨테이너 이미지를 가져옵니다.

privatedockerregistry.credentials에서 address를 비공개 Docker 레지스트리를 실행하는 머신의 IP 주소로 설정합니다. usernamepassword를 비공개 Docker 레지스트리의 사용자 이름과 비밀번호로 설정합니다. address에 설정한 값이 자동으로 proxy.noproxy에 추가됩니다.

Docker가 비공개 레지스트리에서 이미지를 가져올 때 레지스트리는 인증서를 제공하여 해당 ID를 입증해야 합니다. 레지스트리 인증서는 인증 기관(CA)에서 서명됩니다. Docker는 CA 인증서를 사용하여 레지스트리 인증서를 검사합니다.

privateregistryconfig.cacertpath를 CA 인증서 경로로 설정합니다. 예를 들면 다음과 같습니다.

privateregistryconfig:
  cacertpath: /my-cert-folder/registry-ca.crt

gcrkeypath

gcrkeypath의 값을 구성요소 액세스 서비스 계정의 JSON 키 파일 경로로 설정합니다.

예를 들면 다음과 같습니다.

gcrkeypath: "/my-key-folder/component-access-key.json"

cloudauditlogging

Kubernetes 감사 로그를 Google Cloud 프로젝트로 보내려면 cloudauditlogging 사양을 채웁니다. 예를 들면 다음과 같습니다.

cloudauditlogging:
  projectid: "my-project"
  # A GCP region where you would like to store audit logs for this cluster.
  clusterlocation: "us-west1"
  # The absolute or relative path to the key file for a GCP service account used to
  # send audit logs from the cluster
  serviceaccountkeypath: "/my-key-folder/audit-logging-key.json"