이 문서에서는 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.enabled
를 false
로 설정합니다.
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.projectID
및 cloudAuditLogging.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.enabled
를false
로 설정합니다. 프로젝트에 클러스터를 등록하지 않으려면 프로젝트에서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.enabled
가 false
이면 이 필드를 포함하지 마세요.
stackdriver
기본적으로 필수
변경 가능
클러스터에 Cloud Logging 및 Cloud Monitoring을 사용 설정하려면 이 섹션을 입력합니다. 그렇지 않으면 이 섹션을 삭제하세요.
이 섹션은 기본적으로 필요합니다. 즉, 이 섹션을 포함하지 않으면 gkectl create admin
을 실행할 때 --skip-validation-stackdriver
플래그를 포함해야 합니다.
이 섹션은 GKE On-Prem API 클라이언트를 사용하는 사용자 클러스터의 수명 주기를 관리하려는 경우 관리자 클러스터에 필요합니다.
stackdriver.projectID
Logging 및 Monitoring에 필수
변경 불가
문자열
Fleet 호스트 프로젝트의 ID입니다.
새 클러스터의 경우 이 프로젝트 ID는 gkeConnect.projectID
및 cloudAuditLogging.projectID
에 설정된 ID와 동일해야 합니다. 프로젝트 ID가 동일하지 않으면 클러스터 생성에 실패합니다. 이 요구사항은 기존 클러스터에 적용되지 않습니다.
필요한 경우 이 프로젝트의 로그 라우터를 구성하여 로그를 다른 프로젝트의 로그 버킷으로 라우팅할 수 있습니다. 로그 라우터 구성 방법에 대한 자세한 내용은 지원되는 대상을 참조하세요.
예를 들면 다음과 같습니다.
stackdriver: projectID: "my-fleet-host-project"
stackdriver.clusterLocation
Logging 및 Monitoring에 필수
변경 불가
문자열
자동 입력: 'us-central1'
로그를 저장할 Google Cloud 리전입니다. 온프레미스 데이터 센터와 가까운 리전을 선택하는 것이 좋습니다.
새 클러스터의 경우 구성 파일에 gkeOnPremAPI
및 cloudAuditLogging
섹션을 포함하면 여기에서 설정한 리전은 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.projecID
및 stackdriver.projectID
에 설정된 ID와 동일해야 합니다. 프로젝트 ID가 동일하지 않으면 클러스터 생성에 실패합니다. 이 요구사항은 기존 클러스터에 적용되지 않습니다.
필요한 경우 이 프로젝트의 로그 라우터를 구성하여 로그를 다른 프로젝트의 로그 버킷으로 라우팅할 수 있습니다. 로그 라우터 구성 방법에 대한 자세한 내용은 지원되는 대상을 참조하세요.
예를 들면 다음과 같습니다.
cloudAuditLogging: projectID: "my-fleet-host-project"
cloudAuditLogging.clusterLocation
Cloud 감사 로그에 필수
변경 불가
문자열
감사 로그를 저장할 Google Cloud 리전입니다. 온프레미스 데이터 센터와 가까운 리전을 선택하는 것이 좋습니다
새 클러스터의 경우 구성 파일에 gkeOnPremAPI
및 stackdriver
섹션을 포함하면 여기에서 설정한 리전은 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"