관리자 클러스터 구성 파일 1.29

이 문서에서는 Google Distributed Cloud 버전 1.29의 관리자 클러스터 구성 파일에 있는 필드를 설명합니다.

구성 파일 템플릿 생성

gkeadm을 사용하여 관리자 워크스테이션을 만든 경우 gkeadm은 관리자 클러스터 구성 파일의 템플릿을 생성했습니다. 또한 gkeadm에는 일부 필드도 채워져 있습니다.

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

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

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

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

VERSION을 1.29 패치 출시 버전의 정식 버전으로 바꿉니다. 예를 들면 gkectl create-config admin --gke-on-prem-version=1.29.100-gke.248입니다. 이 버전은 gkectl 버전과 같거나 낮아야 합니다. 이 플래그를 생략하면 생성된 구성 템플릿이 최신 1.29 패치를 기반으로 하는 값으로 채워집니다.

템플릿

구성 파일 작성

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

name

선택사항
문자열
기본값: 프리픽스가 'gke-admin-'인 임의의 이름

클러스터에 대해 사용자가 선택한 이름입니다.

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

name: "my-admin-cluster"

bundlePath

필수
변경 가능
문자열

Google Distributed Cloud 번들 파일의 경로입니다.

Google Distributed Cloud 전체 번들 파일에는 Google Distributed Cloud의 특정 출시 버전에 있는 모든 구성요소가 포함되어 있습니다. 관리자 워크스테이션을 만들 때는 다음 위치에서 전체 번들과 함께 제공됩니다.

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

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

bundlePath: "/var/lib/gke/bundles/gke-onprem-vsphere-1.10.0-gke.8.full.tgz"

preparedSecrets.enabled

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

관리자 클러스터에서 준비된 사용자 인증 정보를 사용하려면 이를 true로 설정합니다. 그렇지 않으면 false로 설정합니다.

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

preparedSecrets:
  enabled: true

vCenter

필수
변경 불가

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

vCenter.address

필수
변경 불가
문자열

vCenter Server의 IP 주소 또는 호스트 이름입니다.

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

예시:

vCenter:
  address: "203.0.113.100"
vCenter:
  address: "my-vcenter-server.my-domain.example"

vCenter.datacenter

필수
변경 불가
문자열

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

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

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

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

vCenter:
  datacenter: "my-data-center"

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

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

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

vCenter.cluster

필수
변경 불가
문자열

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

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

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

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

vCenter:
  cluster: "my-vsphere-cluster"

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

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

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

vCenter.resourcePool

필수
변경 불가
문자열

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

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

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

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

이미 만든 리소스 풀을 사용하려면 리소스 풀의 상대 경로로 설정합니다.

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

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

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

vCenter:
  resourcePool: "my-resource-pool"

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

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

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

vCenter.datastore

필수
변경 불가
문자열

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

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

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

vCenter:
  datastore: "my-datastore"

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

vCenter.storagePolicyName

선택사항
문자열

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

스토리지 정책을 사용하려면 관리자 클러스터가 고가용성(HA)이어야 합니다.

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

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

vCenter.caCertPath

필수
변경 가능
문자열

vCenter Server의 CA 인증서 경로입니다.

자세한 내용은 vCenter CA 인증서 가져오기를 참조하세요.

기존 클러스터의 이 필드를 업데이트하는 방법은 vCenter 인증서 참조 업데이트를 참조하세요.

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

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

vCenter.credentials.fileRef.path

필수
문자열

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

gkectl update를 사용하여 기존 클러스터에서 이 필드를 업데이트할 수 있습니다.

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

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

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

vCenter.credentials.fileRef.entry

필수
문자열

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

gkectl update를 사용하여 기존 클러스터에서 이 필드를 업데이트할 수 있습니다.

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

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

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

vCenter.folder

선택사항
변경 불가
문자열
기본값: 데이터 센터 전체 폴더

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

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

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

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

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

vCenter:
  folder: "my-folder"

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

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

vCenter:
  folder: "folders/folder-1"

vCenter.dataDisk

이 필드에 값을 입력하지 마세요. 필드를 삭제하거나 주석 처리합니다.

network

필수
변경 불가

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

network.hostConfig

필수
변경 불가

이 섹션에는 클러스터 노드인 VM에서 사용하는 NTP 서버, DNS 서버, DNS 검색 도메인에 대한 정보가 포함되어 있습니다.

network.hostConfig.dnsServers

network.hostConfig 섹션이 채워진 경우 필수
변경 불가
문자열 배열
배열의 최대 요소 수는 3개입니다.

VM의 DNS 서버 주소입니다.

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

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

network.hostConfig.ntpServers

network.hostConfig 섹션이 채워진 경우 필수
변경 불가
문자열 배열

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

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

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

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

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

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

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

network.ipMode.type

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

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

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

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

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

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

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

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

network.serviceCIDR

필수
변경 불가
문자열
가능한 최소 범위: /24
가능한 최대 범위: /12
자동 입력: '10.96.232.0/24'
기본값: '10.96.232.0/24'

클러스터의 서비스에 사용할 CIDR 형식의 IP 주소 범위입니다.

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

network:
  serviceCIDR: "10.96.232.0/24"

network.podCIDR

필수
변경 불가
문자열
가능한 최소 범위: /18
가능한 최대 범위: /8
자동 입력: '192.168.0.0/16'
기본값: '192.168.0.0/16'

클러스터의 포드에 사용할 CIDR 형식의 IP 주소 범위입니다.

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

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 네트워크 이름입니다.

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

network:
  vCenter:
    networkName: "my-network"

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

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

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

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

network:
  vCenter:
    networkName: "/data-centers/data-center-1/network/my-network"

network.controlPlaneIPBlock

필수

network.controlPlaneIPBlock.netmask

필수
변경 불가
문자열

제어 영역 노드가 있는 네트워크의 넷마스크입니다.

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

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

필수
변경 불가
문자열

제어 영역 노드에 대한 기본 게이트웨이의 IP 주소입니다.

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

network:
  controlPlaneIPBlock:
    gateway: "172.16.22.1"

network.controlPlaneIPBlock.ips

필수
변경 불가
각각 IP 주소와 선택적 호스트 이름이 있는 세 객체의 배열입니다.

제어 영역 노드에 할당된 IP 주소입니다.

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

network:
  controlPlaneIPBlock:
    ips:
    - ip: "172.16.22.6"
      hostname: "admin-cp-vm-1"
    - ip: "172.16.22.7"
      hostname: "admin-cp-vm-2"
    - ip: "172.16.22.8"
      hostname: "admin-cp-vm-3"

loadBalancer

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

loadBalancer.vips.controlPlaneVIP

필수
변경 불가
문자열

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

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

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.kind

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

문자열. "ManualLB", "F5BigIP", "MetalLB"로 설정합니다.

새로운 기능 및 고급 기능을 사용 설정하려면 서드 파티 부하 분산기(예: F5 BIG-IP 또는 Citrix)가 있는 경우 "ManualLB"를 사용하거나 번들 솔루션의 경우 "MetalLB"를 사용하는 것이 좋습니다.

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

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

loadbalancer.kind"ManualLB"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하세요.
변경 불가

loadBalancer.manualLB.ingressHTTPNodePort

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

loadBalancer.manualLB.ingressHTTPSNodePort

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

loadBalancer.manualLB.konnectivityServerNodePort

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

loadBalancer.f5BigIP

loadbalancer.kind"f5BigIP"로 설정한 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하세요.

새로운 기능 및 고급 기능을 사용 설정하려면 F5 BIG-IP 부하 분산기에 수동 부하 분산을 구성하는 것이 좋습니다. 수동 부하 분산을 사용 설정하려면 loadbalancer.kind"ManualLB"로 설정하고 loadBalancer.manualLB 섹션을 입력합니다. 자세한 내용은 수동 부하 분산 모드 사용 설정을 참조하세요.

기존 F5-BIG-IP 부하 분산기가 있고 클러스터 구성에서 이 섹션을 사용하는 경우 1.29 이상으로 업그레이드한 후에는 수동 부하 분산으로 마이그레이션하는 것이 좋습니다.

loadBalancer.f5BigIP.address

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

F5 BIG-IP 부하 분산기의 주소입니다. 예를 들면 다음과 같습니다.

loadBalancer:
  f5BigIP:
    address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

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

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

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

gkectl update를 사용하여 기존 클러스터에서 이 필드를 업데이트할 수 있습니다.

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

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

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

loadBalancer.f5BigIP.credentialsfileRef.entry

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

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

gkectl update를 사용하여 기존 클러스터에서 이 필드를 업데이트할 수 있습니다.

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

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

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

loadBalancer.f5BigIP.partition

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

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

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

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

loadBalancer.f5BigIP.snatPoolName

선택사항
loadBalancer.kind = "f5BigIp"인 경우 관련 있음
변경 불가
문자열

SNAT를 사용하는 경우 SNAT 풀 이름입니다. SNAT를 사용하지 않는 경우에는 이 필드를 삭제하세요.

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

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

loadBalancer.seesaw

이 섹션을 사용하지 마세요. 버전 1.28 이상의 새 관리자 클러스터에는 Seesaw 부하 분산기가 지원되지 않습니다. 대신 새 관리자 클러스터에 MetalLB 부하 분산기를 구성하는 것이 좋습니다. MetalLB 구성에 대한 자세한 내용은 MetalLB를 사용한 번들 부하 분산을 참조하세요.

업그레이드된 HA 이외의 관리자 클러스터에 대해서는 Seesaw가 계속 지원되지만 MetalLB로 마이그레이션하는 것이 좋습니다.

antiAffinityGroups.enabled

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

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

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

antiAffinityGroups:
  enabled: true

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

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

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

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

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

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

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

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

adminMaster

변경 불가

관리자 클러스터의 제어 영역 노드에 대한 구성 설정

adminMaster.cpus

미리보기
선택사항
변경 불가
정수
자동 입력: 4
기본값: 4

관리자 클러스터에서 각 제어 영역 노드에 대한 vCPU 수입니다.

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

adminMaster:
  cpus: 4

adminMaster.memoryMB

미리보기
선택사항
변경 불가
정수
자동 입력: 16384
기본값: 16384

관리자 클러스터의 각 제어 영역 노드에 대한 메모리 용량(메비바이트)입니다.

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

adminMaster:
  memoryMB: 16384

adminMaster.replicas

새 클러스터에 필수
변경 불가
정수
가능한 값: 3

관리자 클러스터의 제어 영역 노드 수입니다. 새 관리자 클러스터를 만들 때 이 필드를 3으로 설정하여 고가용성(HA) 관리자 클러스터를 만듭니다.

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

adminMaster:
  replicas: 3

proxy

네트워크가 프록시 서버 뒤에 있는 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다. 여기에서 지정하는 프록시 서버는 이 관리자 클러스터가 관리하는 사용자 클러스터에 사용됩니다.
변경 불가

proxy.url

proxy 섹션이 채워진 경우 필수
변경 불가
문자열

프록시 서버의 HTTP 주소입니다. 포트 번호가 스키마의 기본 포트와 동일하더라도 포함합니다.

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

proxy:
  url: "http://my-proxy.example.local:80"

여기에서 지정하는 프록시 서버는 Google Distributed Cloud 클러스터에 사용됩니다. 또한 관리자 워크스테이션에서 HTTPS_PROXY 환경 변수를 설정하지 않는 한 관리자 워크스테이션은 동일한 프록시 서버를 사용하도록 자동으로 구성됩니다.

proxy.url을 지정하면 proxy.noProxy도 지정해야 합니다.

관리자 클러스터의 프록시 구성이 설정되면 클러스터를 다시 빌드하지 않는 한 이를 수정하거나 삭제할 수 없습니다.

proxy.noProxy

선택사항
변경 불가
문자열

IP 주소, IP 주소 범위, 호스트 이름 그리고 프록시 서버를 거치지 않아야 하는 도메인 이름의 쉼표로 구분된 목록입니다. Google Distributed Cloud가 이러한 주소, 호스트 또는 도메인 중 하나에 요청을 보내면 요청이 직접 전송됩니다.

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

proxy:
  noProxy: "10.151.222.0/24,my-host.example.local,10.151.2.1"

privateRegistry

비공개 컨테이너 레지스트리가 있는 경우 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하거나 주석 처리합니다.

privateRegistry.address

비공개 레지스트리에 필수
변경 불가
문자열

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

예시:

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

privateRegistry.credentials.fileRef.path

비공개 레지스트리에 필수
변경 가능
문자열

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

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

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

privateRegistry.credentials.fileRef.entry

비공개 레지스트리에 필수
변경 가능
문자열

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

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

privateRegistry.caCertPath

비공개 레지스트리에 필수
변경 가능
문자열

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

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

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

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

componentAccessServiceAccountKeyPath

필수
변경 가능
문자열

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

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

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

gkeConnect

필수
변경 가능

gkeConnect 섹션을 입력하면 관리자 클러스터가 생성된 후 Fleet에 자동으로 등록됩니다. 이 섹션에서는 클러스터를 등록하는 데 필요한 Google Cloud 프로젝트 및 서비스 계정에 대한 정보를 제공합니다.

클러스터를 만들거나 업데이트하는 동안 관리자 클러스터에 여러 RBAC 정책이 구성됩니다. Google Cloud 콘솔에서 사용자 클러스터를 만들려면 이러한 RBAC 정책이 필요합니다.

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 서비스에서 관리됩니다.

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

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

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

필수
변경 가능
문자열

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

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

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

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 명령어를 실행하여 클러스터에 대한 정보를 가져올 수 있습니다.

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

gkeOnPremAPI.enabled

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

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

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

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

변경 불가
문자열
기본값:stackdriver.clusterLocation

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

stackdriver

기본적으로 필수
변경 가능

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

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

이 섹션은 GKE On-Prem API 클라이언트를 사용하는 사용자 클러스터의 수명 주기를 관리하려는 경우 관리자 클러스터에 필요합니다.

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 섹션을 포함하면 여기에서 설정한 리전은 cloudAuditLogging.clusterLocation, gkeConnect.location, gkeOnPremAPI.location에서 설정한 리전과 동일해야 합니다. 리전이 동일하지 않으면 클러스터 생성에 실패합니다.

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

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

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

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

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

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

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

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

기존 클러스터에서 이 필드를 업데이트하는 방법에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

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

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

stackdriver.disableVsphereResourceMetrics

선택사항
변경 가능
Logging 및 Monitoring와 관련 있음
불리언
자동 입력: false
기본값: false

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

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

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

stackdriver:
  disableVsphereResourceMetrics: true

cloudAuditLogging

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

이 섹션은 GKE On-Prem API 클라이언트를 사용하는 사용자 클러스터의 수명 주기를 관리하려는 경우에 관리자 클러스터에 필요합니다.

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 키 파일 경로입니다.

기존 클러스터에서 이 필드를 업데이트하는 방법에 대한 자세한 내용은 서비스 계정 키 순환을 참조하세요.

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

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

clusterBackup.datastore

미리보기
선택사항
변경 가능
문자열

관리자 클러스터 백업을 사용 설정하려면 이를 클러스터 백업을 저장할 vSphere Datastore로 설정합니다.

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

clusterBackup:
  datastore: "my-datastore"

autoRepair.enabled

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

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

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

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

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

osImageType

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

관리자 클러스터 노드에서 실행할 OS 이미지 유형입니다.

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

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

osImageType: "cos"