사용자 클러스터 구성 파일

이 페이지에서는 VMware용 GKE 사용자 클러스터 구성 파일의 필드를 설명합니다.

구성 파일 템플릿 생성

gkeadm을 사용하여 관리자 워크스테이션을 만든 경우 gkeadm은 사용자 클러스터 구성 파일의 템플릿을 생성하게 됩니다. gkeadm은 일부 필드를 사용자를 대신해서 채워넣습니다.

gkeadm을 사용하여 관리 워크스테이션을 만들지 않은 경우 사용자는 gkectl을 사용하여 사용자 클러스터 구성 파일의 템플릿을 생성할 수 있습니다.

사용자 클러스터 구성 파일의 템플릿을 생성하려면 다음 안내를 따르세요.

gkectl create-config cluster --config=OUTPUT_FILENAME --gke-on-prem-version=VERSION

다음을 바꿉니다.

OUTPUT_FILENAME: 생성된 템플릿에 대해 선택한 경로. 이 플래그를 생략하면 gkectl은 파일 이름을 user-cluster.yaml로 지정하고 현재 디렉터리에 넣습니다.

VERSION: 원하는 버전 번호. 예를 들면 gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8입니다.

템플릿

구성 파일 작성

구성 파일에 다음 섹션에 설명된 대로 필드 값을 입력합니다.

name

필수
문자열

사용자 클러스터의 이름입니다. 이름은 다음 조건을 충족해야 합니다.

  • 40자(영문 기준) 이하여야 합니다.
  • 소문자 영숫자 문자 또는 하이픈(-)만 포함해야 합니다.
  • 알파벳 문자로 시작해야 합니다.
  • 영숫자 문자로 끝나야 합니다.

예:

name: "my-user-cluster"

gkeOnPremVersion

필수
변경 가능
문자열

사용자 클러스터의 VMware용 GKE 버전입니다.

예:

gkeOnPremVersion: "1.14.0-gke.1"

preparedSecrets.namespace

준비된 사용자 인증 정보를 사용하려면 이 필드를 입력합니다. 그렇지 않으면 이 필드를 삭제하거나 주석 처리합니다.

선택사항
변경 불가
문자열
가능한 값: 'gke-onprem-secrets-'로 시작하는 문자열

준비된 보안 비밀이 이 사용자 클러스터에 보존되는 관리자 클러스터의 Kubernetes 네임스페이스 이름입니다.

예:

preparedSecrets:
  namespace: "gke-onprem-secrets-alice"

enableControlplaneV2

선택사항
변경 불가
불리언
자동 입력: true
기본값: true

제어 영역 V2가 사용 설정된 사용자 클러스터를 만들려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

enableControlplaneV2: true

vCenter

이 섹션에서는 사용자의 vSphere 환경과 vCenter Server 연결에 대한 정보를 제공합니다.

이 섹션의 필드를 관리자 클러스터에 지정한 필드와 동일하게 하려면 이 필드를 삭제하거나 주석 처리합니다.

필드를 관리자 클러스터에 지정한 것과 다르게 하려면 여기에 입력합니다. vCenter 섹션에 입력된 모든 필드는 관리자 클러스터 구성 파일의 해당 필드를 재정의합니다.

vCenter.address

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

이 사용자 클러스터에 사용하려는 vCenter 서버의 IP 주소 또는 호스트 이름입니다.

자세한 내용은 vCenter 서버 주소 찾기를 참조하세요.

관리자 클러스터에서 사용하는 vCenter Server 인스턴스와 다른 값을 지정하는 경우 Controlplane V2를 사용 설정해야 하며 network.vCenter.networkNamevCenter 섹션의 모든 필수 필드 값을 제공해야 합니다.

예:

vCenter:
  address: "203.0.113.101"
vCenter:
  address: "my-vcenter-server-2.my-domain.example"

vCenter.datacenter

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

vSphere 데이터 센터의 상대 경로입니다.

이 필드의 값을 지정하는 경우 다음도 지정해야 합니다.

  • vCenter.networkName
  • vCenter.datastore 또는 vCenter.storagePolicyName
  • vCenter.cluster 또는 vCenter.resourcePool

지정하는 값은 /라는 루트 폴더를 기준으로 지정됩니다.

데이터 센터가 루트 폴더에 있으면 값은 데이터 센터의 이름입니다.

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

vCenter:
  datacenter: "my-uc-data-center"

그렇지 않으면 값은 데이터 센터 이름과 함께 하나 이상의 폴더를 포함하는 상대 경로입니다.

예:

vCenter:
  datacenter: "data-centers/data-center-2"

vCenter.cluster

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

사용자 클러스터 VM이 실행될 ESXi 호스트를 나타내는 vSphere 클러스터의 상대 경로입니다. 이 vSphere 클러스터는 vCenter 데이터 센터에서 물리적 ESXi 호스트의 하위 집합을 나타냅니다.

지정하는 값은 /.../DATA_CENTER/vm/을 기준으로 합니다.

vSphere 클러스터가 /.../DATA_CENTER/vm/ 폴더에 있으면 값은 vSphere 클러스터 이름입니다.

예:

vCenter:
  cluster: "my-uc-vsphere-cluster"

그렇지 않으면 값은 vSphere 클러스터 이름과 함께 하나 이상의 폴더를 포함하는 상대 경로입니다.

예:

vCenter:
  cluster: "clusters/vsphere-cluster-2"

vCenter.resourcePool

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

사용자 클러스터 VM의 vCenter 리소스 풀입니다.

기본 리소스 풀을 사용하려면 VSPHERE_CLUSTER/Resources로 설정합니다.

예:

vCenter:
  resourcePool: "my-uc-vsphere-cluster/Resources"

지정하는 값은 /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/를 기준으로 합니다.

리소스 풀이 /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/의 직접 하위 요소인 경우 값은 리소스 풀의 이름입니다.

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

vCenter:
  resourcePool: "my-uc-resource-pool"

그렇지 않으면 값은 2개 이상의 리소스 풀이 있는 상대 경로입니다.

예:

vCenter:
  resourcePool: "uc-resource-pool-1/uc-resource-pool-2"

vCenter.datastore

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

사용자 클러스터의 vSphere 데이터 스토어 이름입니다.

지정하는 값은 경로가 아닌 이름이어야 합니다. 값에 폴더를 포함하지 마세요.

예:

vCenter:
  datastore: "my-uc-datastore"

이 필드의 값을 지정할 경우 vCenter.storagePolicyName 값을 지정하지 마세요.

vCenter.storagePolicyName

선택사항
문자열

클러스터 노드에 대한 VM 스토리지 정책의 이름입니다.

또한 특정 노드 풀의 노드에 대해 VM 스토리지 정책을 지정할 수 있습니다. 하지만 여기에 지정된 정책은 자체 정책이 없는 모든 노드 풀에 적용됩니다.

자세한 내용은 스토리지 정책 구성을 참조하세요.

이 필드의 값을 지정할 경우 vCenter.datastore 값을 지정하지 마세요.

vCenter.caCertPath

선택사항
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

vCenter Server의 CA 인증서 경로입니다. 자세한 내용은 vCenter CA 인증서 가져오기를 참조하세요.

예:

vCenter:
  caCertPath: "/usr/local/google/home/me/certs/vcenter-ca-cert-2.pem"

이 필드를 업데이트하는 방법에 대한 자세한 내용은 vCenter 인증서 참조 업데이트를 참조하세요.

vCenter.credentials.fileRef.path

선택사항
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

preparedSecrets.namespace 값을 제공하는 경우 이 필드의 값을 제공하지 마세요. 대신 vCenter.credentials.secretRef.version의 값을 제공하세요.

vCenter 사용자 계정의 사용자 이름과 비밀번호가 포함된 사용자 인증 정보 구성 파일의 경로입니다. 사용자 계정에 관리자 역할 또는 이에 상응하는 권한이 있어야 합니다. vSphere 요구사항을 참조하세요.

gkectl update credentials를 사용하여 기존 클러스터에서 이 필드를 업데이트할 수 있습니다. 자세한 내용은 서비스 계정 키 순환을 참조하세요.

vCenter 사용자 인증 정보 업데이트에 대한 자세한 내용은 클러스터 사용자 인증 정보 업데이트를 참조하세요.

예:

vCenter:
  credentials:
    fileRef:
      path: "my-config-directory/my-credentials-2.yaml"

vCenter.credentials.fileRef.entry

선택사항
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

vCenter 사용자 계정의 사용자 이름과 비밀번호가 포함된 사용자 인증 정보 구성 파일의 사용자 인증 정보 블록의 이름입니다.

예:

vCenter:
  credentials:
    fileRef:
      entry: "vcenter-credentials-2"

vCenter.credentials.secretRef.version

preparedSecrets.namespace 값을 제공한 경우 필수
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

preparedSecrets.namespace 값을 제공하는 경우 이 필드를 입력합니다. 그렇지 않으면 이 필드를 삭제하거나 주석 처리합니다.

이 사용자 클러스터에 사용할 vCenter Server 인스턴스의 사용자 이름과 비밀번호가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

vCenter:
  credentials:
    secretRef:
      version: "1"

vCenter.folder

선택사항
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

이미 만든 vSphere 폴더의 상대 경로입니다. 이 폴더에는 사용자 클러스터 VM이 저장됩니다.

값을 지정하지 않으면 사용자 클러스터 VM이 /.../DATA_CENTER/vm/에 배치됩니다.

값을 지정하면 /.../DATA_CENTER/vm/을 기준으로 합니다.

이 값은 폴더 이름일 수 있습니다.

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

vCenter:
  folder: "my-uc-folder"

또는 값은 2개 이상의 폴더를 포함하는 상대 경로일 수 있습니다.

예:

vCenter:
  folder: "folders/folder-2"

componentAccessServiceAccountKeyPath

선택사항
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

구성요소 액세스 서비스 계정의 JSON 키 파일 경로입니다.

예:

componentAccessServiceAccountKeyPath: "my-key-folder/uc-access-key.json"

componentAccessServiceAccountKey.secretRef.version

선택사항
변경 가능
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

구성 요소 액세스 서비스 계정의 JSON 키가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

componentAccessServiceAccountKey:
  secretRef:
    version: "1"

privateRegistry

관리자 클러스터가 비공개 레지스트리를 사용 중이고 사용자 클러스터에서 다른 비공개 레지스트리를 사용하도록 하려는 경우에만 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

관리자 클러스터 설정과 다른 설정을 사용하려면 다음 안내를 따르세요.

  • 다른 사용자 이름, 비밀번호, 인증서

  • (제어 영역 V2에서만 사용 가능) 다른 비공개 레지스트리 주소

여기에 privateRegistry 필드를 입력합니다. 새 설정은 클러스터를 만들고 업데이트하는 동안 선택됩니다.

privateRegistry.address

비공개 레지스트리에 필수
변경 불가
문자열
기본값: 관리자 클러스터에서 상속

비공개 Docker 레지스트리를 실행하는 머신의 IP 주소 또는 FQDN(정규화된 도메인 이름)입니다.

예:

privateRegistry:
  address: "203.0.113.10"
privateRegistry:
  address: "fqdn.example.com"

privateRegistry.credentials.fileRef.path

비공개 레지스트리에 필수
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

비공개 레지스트리에 준비된 보안 비밀을 사용하려는 경우 이 필드에 값을 제공하지 마세요. 대신 privateRegistry.credentials.secretRef.version의 값을 제공하세요.

VMware용 GKE에서 비공개 Docker 레지스트리에 액세스하는 데 사용할 수 있는 계정의 사용자 이름과 비밀번호가 포함된 사용자 인증 정보 구성 파일의 경로입니다.

예:

privateRegistry:
  credentials:
    fileRef:
      path: "my-config-folder/admin-creds.yaml"

privateRegistry.credentials.fileRef.entry

비공개 레지스트리에 필수
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

사용자 인증 정보 구성 파일의 사용자 인증 정보 블록 이름이며 비공개 Docker 레지스트리 계정의 사용자 이름과 비밀번호가 포함됩니다.

privateRegistry:
  credentials:
    fileRef:
      entry: "private-registry-creds"

privateRegistry.credentials.secretRef.version

비공개 레지스트리에 준비된 보안 비밀을 사용하려는 경우 필수
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

preparedSecrets.namespace 값을 제공하고 비공개 레지스트리에 준비된 보안 비밀을 사용하려면 이 필드를 입력합니다. 그렇지 않으면 이 필드를 삭제하거나 주석 처리합니다.

이 사용자 클러스터에 사용할 vCenter Server 인스턴스의 사용자 이름과 비밀번호가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

privateRegistry:
  credentials:
    secretRef:
      version: "1"

privateRegistry.caCertPath

비공개 레지스트리에 필수
변경 가능
문자열
기본값: 관리자 클러스터에서 상속

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

이 필드를 CA 인증서의 경로로 설정합니다.

예:

privateRegistry:
  caCertPath: "my-cert-folder/registry-ca.crt"

network

이 섹션에는 사용자 클러스터 네트워크에 대한 정보가 포함되어 있습니다.

network.hostConfig

이 섹션에는 클러스터 노드인 VM에서 사용하는 NTP 서버, DNS 서버, DNS 검색 도메인에 대한 정보가 포함되어 있습니다. Seesaw 부하 분산기를 사용하는 경우 이 정보는 Seesaw VM에도 적용됩니다.

이 섹션은 다음 중 하나 이상이 true인 경우에 필요합니다.

  • network.ipMode.typestatic로 설정됩니다.
  • enableControlplaneV2true로 설정되거나 true로 기본 설정됩니다.
  • loadBalancer.kind"Seesaw"로 설정됩니다.

network.hostConfig.dnsServers

필수
변경 불가
문자열 배열
배열의 최대 요소 수는 3개입니다.

VM의 DNS 서버 주소입니다.

예:

network:
  hostConfig:
    dnsServers:
    - "172.16.255.1"
    - "172.16.255.2"

network.hostConfig.ntpServers

필수
변경 불가
문자열 배열

VM에 대해 사용할 시간 서버의 주소입니다.

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

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

선택사항
변경 불가
문자열 배열

호스트에 대해 사용할 DNS 검색 도메인입니다. 이러한 도메인은 도메인 검색 목록의 일부로 사용됩니다.

예:

network:
  hostConfig:
    searchDomainsForDNS:
    - "my.local.com"

network.ipMode.type

필수
변경 불가
문자열
자동 입력: 'dhcp'
기본값: 'dhcp'

클러스터 노드가 DHCP 서버에서 IP 주소를 가져오도록 하려면 "dhcp"로 설정합니다. 사용자가 제공한 목록에서 클러스터 노드에 고정 IP 주소를 선택하려면 이를 "static"으로 설정합니다.

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

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

network.ipMode.type = static인 경우 필수
변경 불가
문자열

클러스터의 IP 블록 파일 경로입니다.

예:

network:
  ipMode:
    ipBlockFilePath: "/my-config-folder/user-cluster-ipblock.yaml"

network.serviceCIDR

필수
변경 불가
문자열
자동 입력: '10.96.0.0/20'

클러스터의 서비스에 사용할 CIDR 형식의 IP 주소 범위입니다. /24 범위 이상이어야 합니다.

예:

network:
  serviceCIDR: "10.96.0.0/20"

network.podCIDR

필수
변경 불가
문자열
자동 입력: '192.168.0.0/16'
기본값: '192.168.0.0/16'

클러스터의 포드에 사용할 CIDR 형식의 IP 주소 범위입니다. /18 범위 이상이어야 합니다.

예:

network:
  podCIDR: "192.168.0.0/16"

서비스 범위는 포드 범위와 겹치지 않아야 합니다.

서비스 범위와 포드 범위는 클러스터 내부에서 연결하려는 클러스터 외부의 주소와 겹치지 않아야 합니다.

예를 들어 서비스 범위가 10.96.232.0/24이고 포드 범위가 192.168.0.0/16이라고 가정해 보겠습니다. 포드에서 이러한 범위 중 하나의 주소로 전송되는 트래픽은 클러스터 내 트래픽으로 처리되며 클러스터 외부의 대상에 도달하지 않습니다.

특히 서비스 범위와 포드 범위는 다음과 겹치지 않아야 합니다.

  • 모든 클러스터에 있는 노드의 IP 주소

  • 부하 분산기 머신에서 사용하는 IP 주소

  • 제어 영역 노드 및 부하 분산기에서 사용하는 VIP

  • vCenter 서버, DNS 서버, NTP 서버의 IP 주소

서비스 및 포드 범위는 RFC 1918 주소 공간에 있는 것이 좋습니다.

다음은 RFC 1918 주소를 사용을 권장하는 이유입니다. 포드 또는 서비스 범위에 외부 IP 주소가 포함되어 있다고 가정해보세요. 포드에서 이러한 외부 주소 중 하나로 전송되는 모든 트래픽은 클러스터 내 트래픽으로 취급되며 외부 대상에 도달하지 않습니다.

network.vCenter.networkName

vCenter.address가 관리 클러스터에 대해 사용 중인 vCenter 주소와 다른 경우에 필요합니다.
변경 불가
문자열

사용자 클러스터 노드의 vSphere 네트워크 이름입니다.

예:

network:
  vCenter:
    networkName: "my-network"

이름에 특수문자가 포함되어 있으면 이스케이프 시퀀스를 사용해야 합니다.

특수문자 이스케이프 시퀀스
슬래시(/) %2f
백슬래시(\) %5c
퍼센트 기호(%) %25

데이터 센터에서 네트워크 이름이 고유하지 않은 경우 전체 경로를 지정할 수 있습니다.

예:

network:
  vCenter:
    networkName: "/my-uc-datacenter/network/my-network"

network.additionalNodeInterfaces

multipleNetworkInterfacestrue로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

변경 불가

객체의 배열이며, 각 배열은 클러스터 노드 전체 또는 일부에서 사용할 수 있는 네트워크 인터페이스를 설명합니다.

network.additionalNodeInterfaces[i].networkName

multipleNetworkInterfaces = true인 경우 필수
변경 불가
문자열

이 추가 노드 인터페이스가 연결되는 vSphere 네트워크의 이름입니다.

예:

network:
  additionalNodeInterfaces:
  - networkName: "my-node-interface-1"

network.additionalNodeInterfaces[i].type

multipleNetworkInterfaces = true인 경우 필수
변경 불가
문자열

예:

network:
  additionalNodeInterfaces:
  - name: "my-node-interface-1"
    type: "static"

network.additionalNodeInterfaces[i].ipBlockFilePath

network.additionalNodeInterfaces[i].type = static인 경우 필수
변경 불가
문자열

이 네트워크 인터페이스가 있는 노드에서 이 네트워크 인터페이스에 사용할 IP 주소를 포함하는 IP 블록 파일의 경로입니다.

예:

network:
  additionalNodeInterfaces:
  - name: "my-node-interface-1"
    type: "static"
    ipBlockFilePath: "my-ipblock-file-1"

network.controlPlaneIPBlock

enableControlplaneV2true로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

network.controlPlaneIPBlock.netmask

enableControlplaneV2 = true인 경우 필수
변경 불가
문자열

예:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

enableControlplaneV2 = true인 경우 필수
변경 불가
문자열

예:

network:
  controlPlaneIPBlock:
    gateway: "172.16.21.1"

network.controlPlaneIPBlock.ips

enableControlplaneV2 = true인 경우 필수
변경 불가
IP 주소와 선택적 호스트 이름을 각각 포함하는 객체 배열

고가용성(HA) 사용자 클러스터의 경우 배열의 요소가 세 개입니다. HA가 아닌 사용자 클러스터의 경우 배열의 요소가 하나입니다.

예:

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.21.6"
      hostname: "cp-vm-1"
    - ip: "172.16.21.7"
      hostname: "cp-vm-2"
    - ip: "172.16.21.8"
      hostname: "cp-vm-3"

loadBalancer

이 섹션에서는 사용자 클러스터의 부하 분산기에 대한 정보를 제공합니다.

loadBalancer.vips.controlPlaneVIP

필수
변경 불가
문자열

사용자 클러스터의 Kubernetes API 서버에 대해 부하 분산기에서 구성하도록 선택한 IP 주소입니다.

예:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

필수
변경 불가
문자열

인그레스 프록시의 부하 분산기에서 구성하도록 선택한 IP 주소입니다.

예:

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

필수
변경 불가
문자열
자동 입력: 'MetalLB'

"ManualLB", "F5BigIP", "Seesaw" 또는 "MetalLB"로 설정합니다.

예:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

loadbalancer.kind"manualLB"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

loadBalancer.manualLB.ingressHTTPNodePort

loadBalancer.kind = ManualLB인 경우 필수
변경 불가
정수
자동 입력: 30243

사용자 클러스터의 인그레스 프록시는 LoadBalancer 유형의 Kubernetes 서비스에서 노출됩니다. 서비스에는 HTTP용 ServicePort가 있습니다. HTTP ServicePort에 대해 nodePort 값을 선택해야 합니다.

이 필드를 nodePort 값으로 설정합니다.

예:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

loadBalancer.kind = ManualLB인 경우 필수
변경 불가
정수
자동 입력: 30879

사용자 클러스터의 인그레스 프록시는 LoadBalancer 유형의 서비스에서 노출됩니다. 서비스에 HTTPS용 ServicePort가 있습니다. HTTPS ServicePort에 대해 nodePort 값을 선택해야 합니다.

이 필드를 nodePort 값으로 설정합니다. 예:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

loadBalancer.kind = ManualLB이고 enableControlplaneV2 = false인 경우 필수
변경 불가
정수
자동 입력: 30562

사용자 클러스터의 Kubernetes API 서버는 관리자 클러스터에서 실행되며 LoadBalancer 유형의 서비스에서 노출됩니다. 서비스의 nodePort 값을 선택해야 합니다.

이 필드를 nodePort 값으로 설정합니다.

예:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

loadBalancer.kind = ManualLB이고 enableControlplaneV2 = false인 경우 필수
변경 불가
정수
자동 입력: 30563

kubeception을 사용하는 사용자 클러스터의 Kubernetes API 서버는 관리자 클러스터에서 실행되며 LoadBalancer 유형의 서비스에서 노출됩니다. Konnectivity 서버는 다른 nodePort 값으로 이 서비스를 재사용합니다. Konnectivity 서버에 nodePort 값을 선택해야 합니다.

이 필드를 Konnectivity 서버의 nodePort 값으로 설정합니다.

예:

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.f5BigIP

loadbalancer.kind"f5BigIP"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

loadBalancer.f5BigIP.address

loadBalancer.kind = "f5BigIP"인 경우 필수
문자열

F5 BIG-IP 부하 분산기의 주소입니다.

예:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

loadBalancer.kind = "f5BigIP"인 경우 필수
문자열

VMware용 GKE에서 F5 BIG-IP 부하 분산기에 연결하는 데 사용할 수 있는 계정의 사용자 이름과 비밀번호가 포함된 사용자 인증 정보 파일의 경로입니다.

사용자 계정에는 부하 분산기를 설정하고 관리할 수 있는 충분한 권한이 있는 사용자 역할이 있어야 합니다. 관리자 역할이나 리소스 관리자 역할이면 됩니다.

F5 BIG-IP 사용자 인증 정보를 업데이트하는 방법은 클러스터 사용자 인증 정보 업데이트를 참조하세요.

예:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        path: ""my-config-folder/user-creds.yaml"

loadBalancer.f5BigIP.credentials.fileRef.entry

loadBalancer.kind = "f5BigIP"인 경우 필수
문자열

F5 BIG-IP 계정의 사용자 이름 및 비밀번호가 포함된 사용자 인증 정보 구성 파일에 있는 사용자 인증 정보 블록의 이름입니다.

예:

loadBalancer:
  f5BigIP:
    credentials:
      fileRef:
        entry: "f5-creds"

loadBalancer.f5BigIP.partition

loadBalancer.kind = "f5BigIP"인 경우 필수
문자열

사용자 클러스터용으로 만든 BIG-IP 파티션의 이름입니다.

예:

loadBalancer:
  f5BigIP:
    partition: "my-f5-user-partition"

loadBalancer.f5BigIP.snatPoolName

loadBalancer.kind = "f5BigIP"이고 SNAT를 사용하는 경우 필수
문자열

SNAT 풀 이름입니다.

예:

loadBalancer:
  f5BigIP:
    snatPoolName: "my-snat-pool"

loadBalancer.seesaw

loadbalancer.kind"Seesaw"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

유의해야 할 제한사항은 다음과 같습니다.

Seesaw 부하 분산기 설정에 대한 자세한 내용은 Seesaw 부하 분산기 빠른 시작Seesaw를 사용한 번들 부하 분산을 참조하세요.

loadBalancer.seesaw.ipBlockFilePath

loadBalancer.kind = Seesaw인 경우 필수
변경 불가
문자열

Seesaw VM의 IP 블록 파일 경로입니다.

예:

loadBalancer:
  seesaw:
    ipBlockFilePath: "config-folder/user-seesaw-ipblock.yaml"

loadBalancer.seesaw.vrid

loadBalancer.kind = Seesaw인 경우 필수
변경 불가
정수
가능한 값: 1~255
자동 입력: 0

Seesaw VM의 가상 라우터 식별자입니다. 선택한 정수인 이 식별자는 VLAN 내에서 고유해야 합니다.

예:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

loadBalancer.kind = Seesaw인 경우 필수
변경 불가
문자열

마스터 Seesaw VM에 구성된 가상 IP 주소입니다.

예:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

loadBalancer.kind = Seesaw인 경우 필수
변경 가능
정수
자동 입력: 4

각 Seesaw VM의 CPU 수입니다.

예:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

loadBalancer.kind = Seesaw인 경우 필수
변경 가능
정수
자동 입력: 3072

각 Seesaw VM의 메모리 용량(MiB)입니다.

예:

loadBalancer:
  seesaw:
    memoryMB: 8192

참고: 이 필드에서는 메모리를 MB가 아닌 MiB로 지정합니다. 1MiB는 2^20 = 1,048,576바이트입니다. 1MB는 10^6 = 1,000,000바이트입니다.

loadBalancer.seesaw.vCenter.networkName

선택사항
변경 불가
문자열
기본값: 클러스터 노드와 동일

Seesaw VM이 포함된 vCenter 네트워크의 이름입니다.

예:

loadBalancer:
  seesaw:
    vCenter:
      networkName: "my-seesaw-network"

loadBalancer.seesaw.enableHA

선택사항
변경 불가
loadBalancer.kind = Seesaw인 경우 관련 있음
불리언
자동 입력: false
기본값: false

고가용성(HA) Seesaw 부하 분산기를 만들려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다. HA Seesaw 부하 분산기는 VM의 (마스터, 백업) 쌍을 사용합니다.

예:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

선택사항
변경 불가
loadBalancer.kind = Seesaw인 경우 관련 있음
불리언
자동 입력: true
기본값: true

이를 true로 설정하면 Seesaw 부하 분산기는 장애 조치용 MAC 학습을 사용하지 않습니다. 대신 Gratuitous ARP를 사용합니다. 이를 false로 설정하면 Seesaw 부하 분산기가 MAC 학습을 사용합니다. 이를 true로 설정하는 것이 좋습니다. vSphere 7 이상을 사용하고 고가용성 Seesaw 부하 분산기가 있는 경우 true로 설정해야 합니다.

예:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

loadbalancer.kind"MetalLB"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

자세한 내용은 MetalLB를 사용한 번들 부하 분산을 참조하세요.

loadBalancer.metalLB.addressPools

loadBalancer.kind = 'MetalLB`인 경우 필수
변경 가능

객체의 배열이며, 각 객체에는 MetalLB 부하 분산기에서 사용할 주소 풀에 대한 정보가 포함됩니다.

loadBalancer.metalLB.addressPools[i].name

loadBalancer.kind = MetalLB인 경우 필수
변경 가능
문자열

주소 풀에 대하여 사용자가 선택한 이름입니다.

예:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
loadBalancer.metalLB.addressPools[i].addresses

loadBalancer.kind = MetalLB인 경우 필수
변경 가능

각기 주소 범위에 해당하는 문자열 배열입니다. 각 범위는 CIDR 형식 또는 하이픈으로 묶인 범위 형식이어야 합니다.

예:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      addresses:
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
loadBalancer.metalLB.addressPools[i].avoidBuggyIPs

선택사항
loadBalancer.kind = MetalLB인 경우 관련 있음
변경 가능
불리언
자동 입력: false
기본값: false

이 값을 true로 설정하면 MetalLB 컨트롤러는 .0 또는 .255로 끝나는 IP 주소를 서비스에 할당되지 않습니다. 이렇게 하면 버그가 있는 소비자 기기가 특수한 IP 주소로 전송된 트래픽을 실수로 차단하는 문제를 방지할 수 있습니다.

예:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      - "192.0.2.0/26"
      - "192.0.2.64-192.0.2.72"
      avoidBuggyIPs: true
loadBalancer.metalLB.addressPools[i].manualAssign

선택사항
loadBalancer.kind = MetalLB인 경우 관련 있음
변경 가능
불리언
자동 입력: false
기본값: false

MetalLB 컨트롤러가 이 풀의 IP 주소를 서비스에 자동으로 할당하지 않도록 하려면 true로 설정합니다. 그러면 개발자는 LoadBalancer 유형의 서비스를 만들고 풀에서 주소 중 하나를 수동으로 지정할 수 있습니다.

그렇지 않으면 false로 설정합니다.

예:

loadBalancer:
  metalLB:
    addressPools:
    - name: "my-address-pool-1"
      manualAssign: true

enableDataplaneV2

선택사항
변경 불가
불리언
자동 입력: true
기본값: false

Dataplane V2를 사용 설정하거나 Controlplane V2를 사용하려면 이를 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

enableDataplaneV2: true

문제 해결 단계는 Dataplans V2 문제 해결을 참조하세요.

dataplaneV2.forwardMode

선택사항
변경 불가
문자열
가능한 값: 'snat', 'dsr'
자동 입력: 'snat'
기본값: 'snat'

Dataplane V2가 사용 설정된 클러스터의 전달 모드입니다.

소스 네트워크 주소 변환(SNAT) 모드를 사용하면 패킷이 부하 분산기 노드에서 백엔드 포드로 전달될 때 SNAT 변환됩니다. 포드는 원래 소스 IP 주소를 볼 수 없으며 반환 패킷은 부하 분산기 노드를 통과해야 합니다.

직접 서버 반환(DSR) 모드를 사용하면 패킷이 부하 분산기 노드에서 백엔드 포드로 전달될 때 원래 소스 IP 주소를 유지합니다. 포드는 원래 소스 IP 주소를 확인할 수 있으며, 반환 패킷은 부하 분산기 노드를 통과하지 않고 클라이언트로 직접 이동합니다.

예:

dataplaneV2:
  forwardMode: "dsr"

multipleNetworkInterfaces

선택사항
변경 불가
불리언
자동 입력: false
기본값: false

포드에 대한 다중 네트워크 인터페이스를 사용 설정하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

자세한 내용은 포드에 대한 다중 네트워크 인터페이스 구성을 참조하세요.

예:

multipleNetworkInterfaces: true

advancedNetworking

선택사항
변경 불가
불리언
자동 입력: false
기본값: false

이그레스 NAT 게이트웨이를 만들려면 true로 설정합니다. 그렇지 않으면 false로 설정하세요.

이 필드를 true로 설정하면 enableDataplaneV2true로 설정해야 합니다.

예:

advancedNetworking: true

disableBundledIngress

클러스터에 번들 인그레스를 사용 중지하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

선택사항
부울
변경 가능
자동 입력: false
기본값: false

예:

disableBundledIngress: true

storage.vSphereCSIDisabled

vSphere CSI 구성요소 배포를 중지하려면 true로 설정하세요. 그렇지 않으면 false로 설정합니다.

선택사항
변경 불가
불리언
자동 입력: false
기본값: false

예:

storage:
  vSphereCSIDisabled: false

masterNode

이 섹션에는 사용자 클러스터의 제어 영역 노드 역할을 하는 관리자 클러스터의 노드에 대한 정보가 포함되어 있습니다.

masterNode.cpus

선택사항
변경 가능
정수
자동 입력: 4
기본값: 4

이 사용자 클러스터의 제어 영역 역할을 하는 각 관리자 클러스터 노드의 CPU 수입니다.

예:

masterNode:
  cpus: 8

masterNode.memoryMB

선택사항
변경 가능
정수
자동 입력: 8192
기본값: 8192

이 사용자 클러스터의 제어 영역 역할을 하는 각 관리자 클러스터 노드의 메모리 크기(MiB)입니다. 4의 배수여야 합니다.

예:

masterNode:
  memoryMB: 8192

참고: 이 필드에서는 메모리를 MB가 아닌 MiB로 지정합니다. 1MiB는 2^20 = 1,048,576바이트입니다. 1MB는 10^6 = 1,000,000바이트입니다.

masterNode.replicas

선택사항
변경 불가
정수
가능한 값: 1 또는 3
자동 입력: 1
기본값: 1

이 사용자 클러스터의 제어 영역 노드 수입니다. 클러스터를 만든 후에는 이 수를 변경할 수 없습니다. 나중에 복제본 수를 업데이트하려면 사용자 클러스터를 다시 만들어야 합니다.

사용자 클러스터의 제어 영역 노드는 관리자 클러스터에 있습니다.

예:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

선택사항
변경 불가
불리언
자동 입력: false
기본값: false

사용자 클러스터에 대해 제어 영역 노드의 자동 크기 조절을 사용 설정하려면 이를 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

사용자 클러스터의 제어 영역 노드는 관리자 클러스터에 있습니다.

자세한 내용은 사용자 클러스터의 제어 영역 노드에 대해 노드 크기 조절 사용 설정을 참조하세요.

예:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere.datastore

선택사항
변경 불가
문자열
기본값: vCenter.datastore

이 사용자 클러스터의 제어 영역 노드가 생성될 Datastore입니다.

예:

masterNode:
  vSphere:
    datastore: "control-plane-datastore"

이 필드의 값을 지정할 경우 masterNode.vsphere.storagePolicyName 값을 지정하지 마세요.

masterNode.vsphere.storagePolicyName

선택사항
변경 불가
문자열
기본값: vCenter.storagePolicyName

제어 영역 노드에 대한 VM 스토리지 정책의 이름입니다.

자세한 내용은 스토리지 정책 구성을 참조하세요.

예:

masterNode:
  vSphere:
    storagePolicyName: "control-plane-storage-policy"

이 필드의 값을 지정할 경우 masterNode.vsphere.datastore 값을 지정하지 마세요.

nodePools

필수
변경 가능
노드 풀을 각각 설명하는 객체 배열

자세한 내용은 노드 풀 만들기 및 관리를 참조하세요.

nodePools[i].name

필수
변경 불가
문자열

노드 풀의 이름입니다. 이름은 다음 조건을 충족해야 합니다.

  • 40자(영문 기준) 이하여야 합니다.
  • 소문자 영숫자 문자 또는 하이픈(-)만 포함해야 합니다.
  • 알파벳 문자로 시작해야 합니다.
  • 영숫자 문자로 끝나야 합니다.

예:

nodePools:
- name: "my-node-pool-1"

nodePools[i].gkeOnPremVersion

사용자 클러스터를 업그레이드할 때 선택한 노드 풀이 이전 버전으로 유지되도록 지정할 수 있습니다.

이 노드 풀을 이전 버전으로 유지하려면 이전 버전으로 설정합니다. 그렇지 않으면 이 필드를 삭제하거나 빈 문자열로 설정합니다. 자세한 내용은 노드 풀 업그레이드를 참조하세요.

선택사항
변경 가능
문자열
기본값: 클러스터 gkeOnPremVersion

예:

nodePools:
- name: "my-node-pool"
  gkeOnPremVersion: "1.13.0-gke.16"

nodePools[i].cpus

필수
변경 가능
정수
자동 입력: 4

풀의 각 노드에 대한 vCPU 수입니다.

예:

nodePools"
- name: "my-node-pool"
  cpus: 8

nodePools[i].memoryMB

필수
변경 가능
정수
자동 입력: 8192

풀의 각 노드에 대한 메모리 용량(MiB)입니다. 4의 배수여야 합니다.

예:

nodePools"
- name: "my-node-pool"
  memoryMB: 8192

참고: 이 필드에서는 메모리를 MB가 아닌 MiB로 지정합니다. 1MiB는 2^20 = 1,048,576바이트입니다. 1MB는 10^6 = 1,000,000바이트입니다.

nodePools[i].replicas

필수
변경 가능
정수
자동 입력: 3
가능한 값: 클러스터의 모든 노드 풀에서 taint 해제된 총 노드 수가 3개 이상이어야 합니다.

풀의 노드 수입니다.

예:

nodePools:
- name: "my-node-pool"
  replicas: 5

nodePools[i].bootDiskSizeGB

선택사항
변경 가능
정수
자동 입력: 40
기본값: 40

풀에 있는 각 노드의 부팅 디스크 크기(GB)입니다.

예:

nodePools
- name: "my-node-pool"
  bootDiskSizeGB: 40

nodePools[i].osImageType

선택사항
변경 가능
문자열
가능한 값: 'ubuntu_containerd', 'cos', 'ubuntu_cgv2', 'cos_cgv2', 'windows'
자동 입력: 'ubuntu_containerd'
기본값: 'ubuntu_containerd'

노드 풀의 VM에서 실행할 OS 이미지 유형입니다.

ubuntu_cgv2 또는 cos_cgv2를 지정할 경우 클러스터를 만들거나 업데이트하기 전에 gkectl prepare --extra-os-image-types=cgroupv2를 실행해야 합니다.

예:

nodePools
- name: "my-node-pool"
  osImageType: "ubuntu_cgv2"

nodePools[i].osImage

nodePools[i].osImageType = windows인 경우 필수
변경 가능
문자열

Windows VM 템플릿의 이름입니다. 템플릿은 en-US 언어/리전 태그가 있는 Windows Server 2019 ISO를 기반으로 해야 합니다.

자세한 내용은 Windows Server OS 노드 풀 사용자 가이드를 참조하세요.

nodePools[i].labels

선택사항
변경 가능
매핑

풀의 각 Kubernetes 노드 객체에 적용할 라벨입니다.

예:

nodePools:
- name: "my-node-pool"
  labels:
    environment: "production"
    tier: "cache"

kubelet은 보안상의 이유로 특정 네임스페이스에서 자체적으로 라벨을 적용할 수 없습니다.

예약된 노드 라벨 네임스페이스는 kubernetes.io, k8s.io, googleapis.com입니다.

nodePools[i].taints

선택사항
변경 가능
객체의 배열로, 각각 풀의 각 노드에 적용되는 Kubernetes taint를 설명합니다. taint는 특정 effect와 연결된 키-값 쌍입니다. taint는 포드 예약에 대한 톨러레이션(toleration)과 함께 사용됩니다. effectNoSchedule, PreferNoSchedule, NoExecute 중 하나를 지정합니다.

예:

nodePools:
- name: "my-node-pool"
  taints:
  - key: "staging"
    value: "true"
    effect: "NoSchedule"

nodePools[i].vsphere.datastore

선택사항
변경 가능
문자열
기본값: vCenter.datastore

노드가 생성될 vCenter Datastore의 이름입니다.

예:

nodePools:
- name: "my-node-pool"
  vsphere:
    datastore: "my-datastore"

이 필드의 값을 지정할 경우 nodePools[i].vsphere.storagePolicyName 값을 지정하지 마세요.

nodePools[i].vsphere.storagePolicyName

선택사항
변경 가능
문자열
기본값: vCenter.storagePolicyName

풀에 있는 노드에 대한 VM 스토리지 정책의 이름입니다.

자세한 내용은 스토리지 정책 구성을 참조하세요.

예:

nodePools:
- name: "my-node-pool"
  vsphere:
    storagePolicyName: "my-storage-policy"

이 필드의 값을 지정할 경우 nodePools[i].vsphere.datastore 값을 지정하지 마세요.

nodePools[i].vsphere.hostgroups

VM-호스트 어피니티를 사용하도록 클러스터를 구성하려면 이 섹션을 작성합니다.

선택사항
변경 가능
문자열 배열(각 문자열이 호스트 DRS 그룹의 이름)

배열에는 요소가 하나만 포함될 수 있습니다.

예:

nodePools:
- name: "my-node-pool"
  vsphere:
    hostgroups:
    - "my-hostgroup"

nodePools[i].vsphere.tags

선택사항
변경 가능
객체의 배열로, 각 객체는 노드 풀의 VM에 배치되는 vSphere 태그를 설명합니다.

각 태그에는 카테고리와 이름이 있습니다.

예:

nodePools:
- name: "my-node-pool"
  vsphere:
    tags:
    - category: "purpose"
      name: "testing"

노드 풀의 모든 VM에 태그를 연결하려면 vCenter 사용자 계정에 다음과 같은 vSphere 태그 권한이 있어야 합니다.

  • vSphere Tagging.vSphere 태그 할당 또는 할당 해제
  • vSphere Tagging.객체에 vSphere 태그 할당 또는 할당 해제 (vSphere 7)

nodePools[i].autoscaling

선택사항
변경 가능

노드 풀에 대해 자동 확장을 사용 설정하려면 이 섹션을 작성합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

nodePools[i].autoscaling.minReplicas

선택사항
변경 가능
정수
가능한 값: 1 이상
자동 입력: 0

자동 확장 처리가 풀에 설정할 수 있는 최소 노드 수입니다.

예:

nodePools:
- name: "my-node-pool"
  autoscaling:
    minReplicas: 5

nodePools[i].autoscaling.maxReplicas

선택사항
변경 가능
정수
자동 입력: 0

자동 확장 처리가 풀에 설정할 수 있는 최대 노드 수입니다.

예:

nodePools:
- name: "my-node-pool"
  autoscaling:
    maxReplicas: 10

nodePools[i].enableLoadBalancer

선택사항
loadBalancer.kind = "MetalLB"인 경우 관련 있음
변경 가능
불리언
자동 입력: true
기본값: false

풀의 노드에서 MetalLB 스피커를 실행하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

자세한 내용은 MetalLB를 사용한 번들 부하 분산을 참조하세요.

예:

nodePools:
- name: "my-node-pool"
  enableLoadBalancer: true

nodePools[i].updateStrategy.rollingUpdate.maxSurge

미리보기
선택사항
변경 가능
정수
기본값: 1

업데이트 또는 업그레이드 중에 동시에 업데이트할 수 있는 노드 풀의 최대 머신 수입니다.

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

antiAffinityGroups.enabled

선택사항
변경 가능
불리언
자동 입력: true

DRS 규칙 생성을 사용 설정하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

antiAffinityGroups:
  enabled: true

이 필드가 true이면 VMware용 GKE에서 사용자 클러스터 노드의 VMware Distributed Resource Scheduler(DRS) 안티-어피니티 규칙을 만들어 데이터 센터에 있는 물리적 ESXi 호스트 최소 3개 이상에 분산됩니다.

이 기능을 사용하려면 vSphere 환경이 다음 조건을 충족해야 합니다.

  • VMware DRS가 사용 설정되어 있습니다. VMware DRS에는 vSphere Enterprise Plus 라이선스 버전이 필요합니다.

  • vSphere 사용자 계정에 Host.Inventory.Modify cluster 권한이 있습니다.

  • 사용 가능한 ESXi 호스트가 최소 4개 이상 있습니다.

규칙에 따르면 클러스터 노드가 ESXi 호스트 3개에 분산되어야 하지만 사용 가능한 ESXi 호스트가 최소 4개 이상 있는 것이 좋습니다.

vSphere Standard 라이선스가 있으면 VMware DRS를 사용 설정할 수 없습니다.

DRS를 사용 설정하지 않았거나 vSphere VM을 예약할 수 있는 호스트가 4개 이상이 아니라면 antiAffinityGroups.enabledfalse로 설정합니다.

enableVMTracking

미리보기
선택사항
변경 불가
자동 입력: false

vSphere 태그로 VM 추적을 사용 설정하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

자세한 내용은 VM 추적 사용 설정을 참조하세요.

예:

enableVMTracking: true

nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate

선택사항
정수
가능한 값: 0 또는 1 자동 입력: 0

한 번에 업데이트할 노드 풀 수입니다. 값이 1이면 노드 풀을 한 번에 하나씩 업데이트할 수 있습니다. 값이 0이면 한 번에 업데이트할 수 있는 노드 풀 수가 제한되지 않습니다.

예:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge

미리보기
선택사항
변경 가능
정수
기본값: 1

업데이트 또는 업그레이드 중에 동시에 업데이트할 수 있는 노드 풀의 최대 머신 수입니다. 자체 업데이트 전략을 지정하지 않는 모든 노드 풀에 적용됩니다.

nodePools:
- name: "my-node-pool"
  updateStrategy:
    rollingUpdate:
      maxSurge: 3

authentication

이 섹션에서는 클러스터 사용자가 인증 및 승인되는 방식에 대한 정보를 제공합니다.

authentication.oidc

이 섹션을 사용하지 마세요. 대신 클러스터를 만든 후 OIDC로 Anthos Identity Service용 클러스터 구성에 설명된 대로 ClientConfig 커스텀 리소스를 수정합니다.

authentication.sni

선택사항

클러스터의 Kubernetes API 서버에 추가 제공 인증서를 제공하려면 이 섹션을 작성합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

authentication.sni.certPath

선택사항
문자열

Kubernetes API 서버의 사용 중인 인증서 경로입니다.

예:

authentication:
  sni:
    certPath: "my-cert-folder/example.com.crt"

authentication.sni.keyPath

선택사항
문자열

인증서의 비공개 키 파일 경로입니다.

예:

authentication:
  sni:
    keyPath: "my-cert-folder/example.com.key"

gkeConnect

필수
변경 불가

이 섹션에서는 Google Cloud Fleet에 클러스터를 등록하는 데 사용할 Google Cloud 프로젝트 및 서비스 계정에 대한 정보가 포함되어 있습니다.

gkeConnect.projectID

필수
변경 불가
문자열

Fleet 호스트 프로젝트의 ID입니다. 새 클러스터의 경우 이 프로젝트 ID는 stackdriver.projectIDcloudAuditLogging.projectID에 설정된 ID와 동일해야 합니다. 프로젝트 ID가 동일하지 않으면 클러스터 생성에 실패합니다. 이 요구사항은 기존 클러스터에 적용되지 않습니다.

예:

gkeConnect:
  projectID: "my-fleet-host-project"

gkeConnect.location

선택사항
변경 불가
문자열
기본값: global

각 클러스터의 Fleet 멤버십은 Fleet 서비스(gkehub.googleapis.com) 및 Connect 서비스(gkeconnect.googleapis.com)에서 관리됩니다. 서비스 위치는 전역 또는 리전일 수 있습니다. 1.28 이상에서는 원하는 경우 Fleet 및 Connect 서비스가 실행되는 Google Cloud 리전을 지정할 수 있습니다. 지정하지 않으면 서비스의 전역 인스턴스가 사용됩니다. 다음에 유의하세요.

  • 1.28 이전에 생성된 사용자 클러스터는 전역 Fleet 및 Connect 서비스에서 관리됩니다.

  • GKE On-Prem API 클라이언트(Google Cloud 콘솔, Google Cloud CLI 또는 Terraform)를 사용하여 생성된 새 클러스터는 GKE On-Prem API에 지정된 리전과 동일한 리전을 사용합니다.

  • 새 클러스터에서 이 필드를 포함하는 경우 지정하는 리전이 cloudAuditLogging.clusterLocation, stackdriver.clusterLocation, gkeOnPremAPI.location에 구성된 리전과 동일해야 합니다. 리전이 동일하지 않으면 클러스터 생성에 실패합니다.

예:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

필수
변경 가능
문자열

연결-등록 서비스 계정의 JSON 키 파일 경로입니다.

이 필드의 값을 업데이트하려면 gkectl update cluster를 사용합니다.

연결-등록 서비스 계정 키 변경에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

예:

gkeConnect:
  registerServiceAccountKeyPath: "my-key-folder/connect-register-key.json"

gkeConnect.registerServiceAccountKey.secretRef.version

prepared credentials를 사용하는 경우 필수
변경 가능
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

connect-register 서비스 계정의 JSON 키가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

선택사항

1.16 이상에서 GKE On-Prem API가 Google Cloud 프로젝트에 사용 설정된 경우 프로젝트의 모든 클러스터가 stackdriver.clusterLocation에 구성된 리전의 GKE On-Prem API에 자동으로 등록됩니다.

  • GKE On-Prem API에서 프로젝트의 모든 클러스터를 등록하려면 프로젝트의 GKE On-Prem API를 활성화하고 사용하기 위해 시작하기 전에의 단계를 수행해야 합니다.

  • GKE On-Prem API에서 클러스터를 등록하지 않으려면 이 섹션을 포함하고 gkeOnPremAPI.enabledfalse로 설정합니다. 프로젝트에 클러스터를 등록하지 않으려면 프로젝트에서 gkeonprem.googleapis.com(GKE On-Prem API의 서비스 이름)을 중지합니다. 자세한 내용은 서비스 사용 중지를 참조하세요.

GKE On-Prem API에 사용자 클러스터를 등록하면 표준 도구(Google Cloud 콘솔, Google Cloud CLI, Terraform)를 사용하여 클러스터의 수명 주기를 관리할 수 있습니다. 또한 클러스터를 등록하면 콘솔이나 gcloud CLI를 사용하여 클러스터 세부정보를 볼 수 있습니다. 예를 들어 gcloud 명령어를 실행하여 사용자 클러스터에 대한 정보를 가져올 수 있습니다.

이 섹션을 추가하고 클러스터를 만들거나 업데이트한 후에 섹션을 삭제하고 클러스터를 업데이트하면 업데이트가 실패합니다.

gkeOnPremAPI.enabled

gkeOnPremAPI 섹션이 포함된 경우 필수입니다.
변경 가능
부울
기본값: true

프로젝트에 GKE On-Prem API가 사용 설정된 경우 기본적으로 클러스터가 GKE On-Prem API에 등록됩니다. 클러스터를 등록하지 않으려면 false로 설정합니다.

GKE On-Prem API에 클러스터를 등록한 후 등록을 취소해야 하는 경우 다음과 같이 변경하고 클러스터를 업데이트합니다.

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

gkeOnPremAPI 섹션이 포함된 경우 필수입니다.
변경 불가
문자열
기본값: stackdriver.clusterLocation

GKE On-Prem API가 실행되고 클러스터 메타데이터를 저장하는 Google Cloud 리전입니다. 지원되는 리전 중 하나를 선택합니다. gkeConnect.location, stackdriver.clusterLocation, cloudAuditLogging.clusterLocation에 구성된 것과 동일한 리전을 사용해야 합니다. gkeOnPremAPI.enabledfalse이면 이 필드를 포함하지 마세요.

stackdriver

기본적으로 필수
변경 가능

클러스터에 Cloud Logging 및 Cloud Monitoring을 사용 설정하려면 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

이 섹션은 기본적으로 필요합니다. 즉, 이 섹션을 포함하지 않으면 gkectl create cluster을 실행할 때 --skip-validation-stackdriver 플래그를 포함해야 합니다.

이 섹션은 Google Cloud 콘솔에서 사용자 클러스터의 수명 주기를 관리하려는 경우 사용자 클러스터에 필요합니다.

stackdriver.projectID

Logging 및 Monitoring에 필수입니다.
변경 불가
문자열

Fleet 호스트 프로젝트의 ID입니다. 새 클러스터의 경우 이 프로젝트 ID는 gkeConnect.projectIDcloudAuditLogging.projectID에 설정된 ID와 동일해야 합니다. 프로젝트 ID가 동일하지 않으면 클러스터 생성에 실패합니다. 이 요구사항은 기존 클러스터에 적용되지 않습니다.

필요한 경우 이 프로젝트의 로그 라우터를 구성하여 로그를 다른 프로젝트의 로그 버킷으로 라우팅할 수 있습니다. 로그 라우터 구성 방법에 대한 자세한 내용은 지원되는 대상을 참조하세요.

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

stackdriver:
  projectID: "my-fleet-host-project"

stackdriver.clusterLocation

Logging 및 Monitoring에 필수
변경 불가
문자열
자동 입력: 'us-central1'

로그를 저장할 Google Cloud 리전입니다. 온프레미스 데이터 센터와 가까운 리전을 선택하는 것이 좋습니다.

새 클러스터의 경우 구성 파일에 gkeOnPremAPIcloudAuditLogging 섹션을 포함하면 여기에서 설정한 리전은 gkeConnect.location, gkeOnPremAPI.location, cloudAuditLogging.clusterLocation에서 설정한 리전과 동일해야 합니다. 리전이 동일하지 않으면 클러스터 생성에 실패합니다.

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

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

선택사항
변경 불가
불리언
자동 입력: false

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

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

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Logging 및 Monitoring에 필수
변경 가능
문자열

로깅 모니터링 서비스 계정의 JSON 키 파일 경로입니다.

이 필드의 값을 업데이트하려면 gkectl update cluster를 사용합니다.

로깅-모니터링 서비스 계정 키 변경에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

예:

stackdriver:
  serviceAccountKeyPath: "my-key-folder/log-mon-key.json"

stackdriver.serviceAccountKey.secretRef.version

prepared credentials를 사용하는 경우 필수
변경 가능
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

로깅 모니터링 서비스 계정의 JSON 키가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

선택사항
변경 불가
불리언
자동 입력: false
기본값: false

vSphere에서 측정항목 수집을 사용 중지하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

미리보기
변경 불가
선택사항

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

usageMetering.bigQueryProjectID

미리보기
사용량 측정에 필수
변경 불가
문자열

사용량 측정 데이터를 저장할 Google Cloud 프로젝트의 ID입니다.

예:

usageMetering:
  bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

미리보기
사용량 측정에 필수
변경 불가
문자열

사용량 측정 데이터를 저장할 BigQuery 데이터 세트의 ID입니다. 예:

usageMetering:
  bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

미리보기
사용량 측정에 필수
변경 불가
문자열

BigQuery 서비스 계정의 JSON 키 파일 경로입니다.

이 필드의 값을 업데이트하려면 gkectl update cluster를 사용합니다.

BigQuery 서비스 계정 키 변경에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

예:

usageMetering:
  bigQueryServiceAccountKeyPath: "my-key-folder/bq-key.json"

usageMetering.bigQueryServiceAccountKey.secretRef.version

prepared credentials를 사용하는 경우 필수
변경 가능
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

BigQuery 서비스 계정의 JSON 키가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

gkeConnect:
  bigQueryServiceAccountKey:
    secretRef:
      version: "1"

usageMetering.enableConsumptionMetering

미리보기
사용량 측정에 필수
변경 불가
불리언
자동 입력: false

소비 기반 측정을 사용 설정하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

클러스터의 Kubernetes API 서버의 감사 로그를 Cloud 감사 로그와 통합하려면 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

cloudAuditLogging.projectID

Cloud 감사 로그에 필수
변경 불가
문자열

Fleet 호스트 프로젝트의 ID입니다. 새 클러스터의 경우 이 프로젝트 ID는 gkeConnect.projecIDstackdriver.projectID에 설정된 ID와 동일해야 합니다. 프로젝트 ID가 동일하지 않으면 클러스터 생성에 실패합니다. 이 요구사항은 기존 클러스터에 적용되지 않습니다.

필요한 경우 이 프로젝트의 로그 라우터를 구성하여 로그를 다른 프로젝트의 로그 버킷으로 라우팅할 수 있습니다. 로그 라우터 구성 방법에 대한 자세한 내용은 지원되는 대상을 참조하세요.

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

cloudAuditLogging:
  projectID: "my-fleet-host-project"

cloudAuditLogging.clusterLocation

Cloud 감사 로그에 필수
변경 불가
문자열

감사 로그를 저장할 Google Cloud 리전입니다. 온프레미스 데이터 센터와 가까운 리전을 선택하는 것이 좋습니다

새 클러스터의 경우 구성 파일에 gkeOnPremAPIstackdriver 섹션을 포함하면 여기에서 설정한 리전은 gkeConnect.location, gkeOnPremAPI.location, stackdriver.clusterLocation에서 설정한 리전과 동일해야 합니다. 리전이 동일하지 않으면 클러스터 생성에 실패합니다.

예:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Cloud 감사 로그에 필수
변경 가능
문자열

감사 로깅 서비스 계정의 JSON 키 파일 경로입니다.

이 필드의 값을 업데이트하려면 gkectl update cluster를 사용합니다.

감사 로깅 서비스 계정 키 변경에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

예:

cloudAuditLogging:
  serviceAccountKeyPath: "my-key-folder/audit-log-key.json"

cloudAuditLogging.serviceAccountKey.secretRef.version

선택사항
변경 가능
문자열
가능한 값: 정수 문자열 또는 'latest'
기본값: 'latest'

감사 로깅 서비스 계정의 JSON 키가 포함된 관리자 클러스터의 준비된 보안 비밀 버전입니다.

예:

cloudAuditLogging:
  serviceAccountKey:
    secretRef:
      version: "1"

autoRepair.enabled

선택사항
변경 가능
불리언
자동 입력: true

노드 자동 복구를 사용 설정하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

예:

autoRepair:
  enabled: true

secretsEncryption

외부 KMS(키 관리 서비스) 또는 기타 종속 항목 없이 보안 비밀을 암호화하려면 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

secretsEncryption.mode

보안 비밀 암호화에 필수
변경 불가
문자열
가능한 값: 'GeneratedKey'
자동 입력: 'GeneratedKey'

보안 비밀 암호화 모드입니다.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

보안 비밀 암호화에 필수
변경 가능
정수
자동 입력: 1

키 버전 번호에 사용할 정수입니다. 1으로 시작하는 것이 좋습니다.

기존 클러스터의 이 필드를 업데이트하는 방법은 상시 보안 비밀 암호화를 참조하세요.

예:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

보안 비밀 암호화에 선택사항
변경 가능
불리언
자동 입력: false

보안 비밀 암호화를 사용 중지하려면 이 값을 true로 설정합니다. 그렇지 않으면 false로 설정하세요.

기존 클러스터의 이 필드를 업데이트하는 방법은 상시 보안 비밀 암호화를 참조하세요.

예:

secretsEncryption:
  generatedKey:
    disabled: false