사용자 클러스터 구성 파일

이 페이지에서는 VMware용 Anthos 클러스터(GKE On-Prem) 사용자 클러스터 구성 파일에 있는 필드를 설명합니다.

구성 파일 템플릿 생성

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용 Anthos 클러스터 버전입니다.

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

gkeOnPremVersion: "1.10.0-gke.1"

vCenter

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

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

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

vCenter.datacenter

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

사용자 클러스터 VM이 실행되는 물리적 ESXi 호스트가 있는 vCenter 데이터 센터의 이름입니다.

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

vCenter:
  datacenter: "my-datacenter-2"

이 필드를 지정하는 경우 vCenter.datastorevCenter.networkName도 지정해야 하고 vCenter.cluster 또는 vCenter.resourcePool을 지정해야 합니다.

vCenter.cluster

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

사용자 클러스터 VM이 실행될 ESXi 호스트가 있는 vSphere 클러스터의 이름입니다. 이 vSphere 클러스터는 vCenter 데이터 센터에서 물리적 ESXi 호스트의 하위 집합을 형성하는 물리적 ESXi 호스트 집합입니다.

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

vCenter:
  cluster: "my-vsphere-cluster-2"

vCenter.resourcePool

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

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

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

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

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

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

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

자세한 내용은 독립형 호스트의 루트 리소스 풀 지정을 참조하세요.

vCenter.datastore

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

사용자 클러스터 VM의 vCenter Datastore 이름입니다.

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

vCenter:
  datastore: "my-datastore-2"

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

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

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.folder

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

클러스터 VM이 위치할 vCenter VM 폴더의 이름입니다. 사용자 클러스터를 만들기 전에 이 폴더를 만들어야 합니다.

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

vCenter:
  folder: "my-folder-2"

network

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

network.hostConfig

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

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

필수
변경 불가
문자열

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

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

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

네트워크 이름이 고유하지 않은 경우 /datacenter-2/network/my-network와 같은 네트워크 경로를 지정할 수 있습니다.

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

network:
  vCenter:
    networkName: "my-user-cluster-network"

network.vCenter.additionalNodeInterfaces

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

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

network.vCenter.additionalNodeInterfaces[i].networkName

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

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

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

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

network.vCenter.additionalNodeInterfaces[i].type

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

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

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

network.vCenter.additionalNodeInterfaces[i].ipBlockFilePath

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

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

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

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

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

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

"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인 경우 필수
변경 불가
정수
자동 입력: 30562

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

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

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

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

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

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

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

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

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.manualLB.addonsNodePort

이 필드를 삭제합니다. 사용자 클러스터에서는 사용되지 않습니다.

loadBalancer.f5BigIP

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

loadBalancer.f5BigIP.address

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

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

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

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.fileRef.path

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

사용자 인증 정보 파일의 경로이며 VMware용 Anthos 클러스터가 F5 BIG-IP 부하 분산기에 연결하는 데 사용할 수 있는 계정의 사용자 이름과 비밀번호가 포함되어 있습니다.

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

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

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

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

loadBalancer.f5BigIP.fileRef.entry

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

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

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

loadBalancer:
  f5BigIP:
    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.kindMetalLB로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

자세한 내용은 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

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

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

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

enableDataplaneV2: true

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

enableWindowsDataplaneV2

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

Windows 노드가 있는 클러스터에 Windows Dataplane V2를 사용 설정하려면 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

enableWindowsDataplaneV2true로 설정된 경우에는 Docker 런타임 대신 containerd 런타임이 사용 설정됩니다.

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

enableWindowsDataplaneV2: true

문제 해결 단계는 Dataplans V2 문제 해결을 참조하세요. Windows Server OS 노드가 포함된 노드 풀을 설정하려면 Windows Server OS 노드 풀 사용자 가이드를 참조하세요.

storage.vSphereCSIDisabled

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

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

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

storage:
  vSphereCSIDisabled: false

multipleNetworkInterfaces

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

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

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

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

multipleNetworkInterfaces: true

advancedNetworking

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

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

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

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

advancedNetworking: true

storage.vSphereCSIDisabled

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

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

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

storageg:
  vSphereCSIDisabled: true

masterNode

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

masterNode.vsphere.datastore

vCenter.datacenter가 관리자 클러스터에서 상속되는 경우 선택사항입니다.
vCenter.datacenter가 관리자 클러스터의 데이터 센터와 동일하지 않은 경우 필수입니다.
변경할 수 없는
문자열

기본값: vCenter.datacenter가 관리자 클러스터에서 상속되는 경우 이 구성 파일에 지정된 대로 기본값은 vCenter.datastore입니다.

기본값: vCenter.datacenter가 관리자 클러스터의 데이터 센터와 다른 경우 기본값이 없습니다.

이 사용자 클러스터의 제어 영역 노드에 대한 vSphere Datastore입니다.

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

masterNode:
   vsphere:
      datastore: "control-plane-datastore"

masterNode.cpus

선택사항
변경 가능
정수
자동 입력: 40
기본값: 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"

nodePools

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

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

nodePools[i].name

필수
변경 불가
문자열

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

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

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

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

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
가능한 값: 배열의 모든 노드 풀에서 할당되지 않은 총 노드 수는 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', 'ubuntu_containerd', 'cos', 'windows'
자동 입력: 'ubuntu_containerd'
기본값: 'ubuntu_containerd'

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

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

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

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"

nodePools[i].taints

선택사항
변경 가능
객체의 배열이며, 각 객체의 taint를 설명합니다.

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

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.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"인 경우 관련 있음
변경 가능
불리언
자동 입력: false
기본값: false

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

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

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

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

antiAffinityGroups.enabled

필수
변경 가능
불리언
자동 입력: true

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

예:

antiAffinityGroups:
  enabled: true

이 필드가 true인 경우 VMware용 Anthos 클러스터는 사용자 클러스터 노드에 대해 VMware Distributed Resource Scheduler(DRS) 안티-어피니티 규칙을 만들어 규칙을 적용하므로 데이터 센터에 있는 3개 이상의 물리적 ESXi 호스트에 분산됩니다.

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

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

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

  • 사용 가능한 물리적 호스트가 4개 이상입니다.

규칙에 따르면 클러스터 노드가 3개의 ESXi 호스트에 분산되어야 하지만, 4개 이상의 ESXi 호스트를 사용하는 것이 좋습니다. 이렇게 하면 관리자 클러스터 제어 영역이 손실되지 않습니다. 예를 들어 ESXi 호스트가 3개만 있고 관리자 클러스터 제어 영역 노드가 오류가 발생한 ESXi 호스트에 있다고 가정해 보겠습니다. DRS 규칙은 제어 영역 노드가 나머지 두 ESXi 호스트 중 하나에 배치되지 않도록 합니다.

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

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

enableVMTracking

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

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

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

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

enableVMTracking: true

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입니다.

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

gkeConnect:
  projectID: "my-connect-project-123"

gkeConnect.registerServiceAccountKeyPath

필수
변경 가능
문자열

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

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

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

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

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

stackdriver

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

stackdriver.projectID

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

로깅 모니터링 프로젝트의 ID입니다. 로그 및 측정항목을 볼 Google Cloud 프로젝트입니다.

예:

stackdriver:
  projectID: "my-logs-project"

stackdriver.clusterLocation

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

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

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

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.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.enableConsumptionMetering

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

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

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

usageMetering:
  enableConsumptionMetering: true

cloudAuditLogging

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

cloudAuditLogging.projectID

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

감사 로그를 저장할 Google Cloud 프로젝트의 프로젝트 ID입니다.

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

cloudAuditLogging:
  projectID: "my-audit-project"

cloudAuditLogging.clusterLocation

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

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

예:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath


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

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

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

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

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

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

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