이 문서에서는 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.500-gke.160
입니다.
이 버전은 gkectl
버전과 같거나 낮아야 합니다. 이 플래그를 생략하면 생성된 구성 템플릿이 최신 1.29 패치를 기반으로 하는 값으로 채워집니다.
템플릿
생성된 템플릿을 보려면 클릭하세요.
apiVersion: v1
kind: AdminCluster
# (Optional) A unique name for this admin cluster. This will default to a random name
# prefixed with 'gke-admin-'
name: ""
# (Required) Absolute path to a GKE bundle on disk
bundlePath: ""
# # (Optional/Preview) Specify the prepared secret configuration which can be added
# # or edited only during cluster creation
# preparedSecrets:
# # enable prepared credentials for the admin cluster; it is immutable
# enabled: false
# (Required) vCenter configuration
vCenter:
address: ""
datacenter: ""
cluster: ""
# Resource pool to use. Specify [VSPHERE_CLUSTER_NAME]/Resources to use the default
# resource pool
resourcePool: ""
# Storage policy to use for cluster VM storage and default StorageClass. Do not
# specify it together with datastore
storagePolicyName: ""
# # Datastore to use for cluster VM storage and default StorageClass. Do not specify
# # it together with storagePolicyName
# datastore: ""
# Provide the path to vCenter CA certificate pub key for SSL verification
caCertPath: ""
# The credentials to connect to vCenter
credentials:
# reference to external credentials file
fileRef:
# read credentials from this file
path: ""
# entry in the credential file
entry: ""
# (Optional) vSphere folder where cluster VMs will be located. Defaults to the the
# datacenter wide folder if unspecified.
folder: ""
# # (Only used in 1.16 and older versions for non-HA admin cluster) Provide the name
# # for the persistent disk to be used by the deployment (ending in .vmdk). Any directory
# # in the supplied path must be created before deployment. Required for non-HA admin
# # cluster. Invalid for HA admin cluster as the path is generated automatically under
# # the root directory "anthos" in the specified datastore.
# dataDisk: ""
# (Required) Network configuration
network:
# (Required when using "static" ipMode.type; or "Seesaw" loadBalancer.kind; or using
# amdin cluster HA mode) This section overrides ipMode.ipBlockFilePath values when
# ipMode.type=static. It's also used for seesaw nodes
hostConfig:
# List of DNS servers
dnsServers:
- ""
# List of NTP servers
ntpServers:
- ""
# # List of DNS search domains
# searchDomainsForDNS:
# - ""
ipMode:
# (Required) Define what IP mode to use ("dhcp" or "static")
type: static
# (Required when using "static" mode) The absolute or relative path to the yaml
# file to use for static IP allocation. Hostconfig part will be overwritten by
# network.hostconfig if specified
ipBlockFilePath: ""
# (Required) The Kubernetes service CIDR range for the cluster. Must not overlap
# with the pod CIDR range
serviceCIDR: 10.96.232.0/24
# (Required) The Kubernetes pod CIDR range for the cluster. Must not overlap with
# the service CIDR range
podCIDR: 192.168.0.0/16
vCenter:
# vSphere network name
networkName: ""
# (Required for HA admin cluster) Specify the IPs to use for control plane machines
# for HA admin cluster.
controlPlaneIPBlock:
netmask: ""
gateway: ""
ips:
- ip: ""
hostname: ""
- ip: ""
hostname: ""
- ip: ""
hostname: ""
# (Required) Load balancer configuration
loadBalancer:
# (Required) The VIPs to use for load balancing
vips:
# Used to connect to the Kubernetes API
controlPlaneVIP: ""
# (Required) Which load balancer to use "F5BigIP" "Seesaw" "ManualLB" or "MetalLB".
# Uncomment the corresponding field below to provide the detailed spec
kind: MetalLB
# # (Required when using "ManualLB" kind) Specify pre-defined nodeports
# manualLB:
# # NodePort for ingress service's http (only needed for user cluster)
# ingressHTTPNodePort: 0
# # NodePort for ingress service's https (only needed for user cluster)
# ingressHTTPSNodePort: 0
# # NodePort for konnectivity server service (only needed for controlplane v1 user
# # cluster)
# konnectivityServerNodePort: 0
# # NodePort for control plane service (not needed for HA admin cluster or controlplane
# # V2 user cluster)
# controlPlaneNodePort: 30968
# # (Required when using "F5BigIP" kind) Specify the already-existing partition and
# # credentials
# f5BigIP:
# address: ""
# credentials:
# # reference to external credentials file
# fileRef:
# # read credentials from this file
# path: ""
# # entry in the credential file
# entry: ""
# partition: ""
# # # (Optional) Specify a pool name if using SNAT
# # snatPoolName: ""
# # (Only used in 1.16 and older versions for using "Seesaw" kind) Specify the Seesaw
# # configs
# seesaw:
# # (Required) The absolute or relative path to the yaml file to use for IP allocation
# # for LB VMs. Must contain one or two IPs. Hostconfig part will be overwritten by
# # network.hostconfig if specified.
# ipBlockFilePath: ""
# # (Required) The Virtual Router IDentifier of VRRP for the Seesaw group. Must be
# # between 1-255 and unique in a VLAN.
# vrid: 0
# # (Required) The IP announced by the master of Seesaw group
# masterIP: ""
# # (Required) The number CPUs per machine
# cpus: 2
# # (Required) Memory size in MB per machine
# memoryMB: 3072
# # (Optional) Network that the LB interface of Seesaw runs in (default: cluster network)
# vCenter:
# # vSphere network name
# networkName: ""
# # (Optional) Run two LB VMs to achieve high availability (default: false)
# enableHA: false
# # (Optional) Avoid using VRRP MAC and rely on gratuitous ARP to do failover. In
# # this mode MAC learning is not needed but the gateway must refresh arp table based
# # on gratuitous ARP. It's recommended to turn this on to avoid MAC learning configuration.
# # In vsphere 7+ it must be true to enable HA. It is supported in GKE on-prem version
# # 1.7+. (default: false)
# disableVRRPMAC: true
# Spread admin addon nodes and user masters across different physical hosts (requires
# at least three hosts)
antiAffinityGroups:
# Set to false to disable DRS rule creation
enabled: true
# Specify the admin master node configuration (default: 4 CPUs; 16384 MB memory; 3
# replicas). The replicas field has to be 3 for new admin cluster creation
adminMaster:
cpus: 4
memoryMB: 16384
# How many machines of this type to deploy
replicas: 3
# # (Only used in 1.16 and older versions) Specify the addon node configuration which
# # can be added or edited only during cluster creation
# addonNode:
# # Enable auto resize for addon node
# autoResize:
# # Whether to enable auto resize for master. Defaults to false.
# enabled: false
# (Optional) Specify the proxy configuration
proxy:
# The URL of the proxy
url: ""
# The domains and IP addresses excluded from proxying
noProxy: ""
# # (Optional) Use a private registry to host GKE images
# privateRegistry:
# # Do not include the scheme with your registry address
# address: ""
# credentials:
# # reference to external credentials file
# fileRef:
# # read credentials from this file
# path: ""
# # entry in the credential file
# entry: ""
# # The absolute or relative path to the CA certificate for this registry
# caCertPath: ""
# (Required): The absolute or relative path to the GCP service account key for pulling
# GKE images
componentAccessServiceAccountKeyPath: ""
# (Required) Specify which GCP project to register your GKE OnPrem cluster to
gkeConnect:
projectID: ""
# # (Optional) The location of the GKE Hub and Connect service where the cluster is
# # registered to. It can be any GCP region or "global". Default to "global" when unspecified.
# location: us-central1
# The absolute or relative path to the key file for a GCP service account used to
# register the cluster
registerServiceAccountKeyPath: ""
# # (Optional) Specify if you wish to explicitly enable/disable the cloud hosted gkeonprem
# # API to enable/disable cluster lifecycle management from gcloud UI and Terraform.
# gkeOnPremAPI:
# enabled: false
# (Required) Specify which GCP project to connect your logs and metrics to
stackdriver:
# The project ID for logs and metrics. It should be the same with gkeconnect.projectID.
projectID: ""
# A GCP region where you would like to store logs and metrics for this cluster.
clusterLocation: us-central1
# The absolute or relative path to the key file for a GCP service account used to
# send logs and metrics from the cluster
serviceAccountKeyPath: ""
# (Optional) Disable vsphere resource metrics collection from vcenter. False by
# default
disableVsphereResourceMetrics: false
# (Optional) Configure kubernetes apiserver audit logging
cloudAuditLogging:
# The project ID for logs and metrics. It should be the same with gkeconnect.projectID.
projectID: ""
# A GCP region where you would like to store audit logs for this cluster.
clusterLocation: us-central1
# The absolute or relative path to the key file for a GCP service account used to
# send audit logs from the cluster
serviceAccountKeyPath: ""
# # (Optional/Preview) Configure backups for admin cluster. Backups will be stored under
# # /anthos-backups/.
# clusterBackup:
# # # datastore where admin cluster backups are desired
# # datastore: ""
# Enable auto repair for the cluster
autoRepair:
# Whether to enable auto repair feature. Set false to disable.
enabled: true
# # Encrypt Kubernetes secrets at rest
# secretsEncryption:
# # Secrets Encryption Mode. Possible values are: GeneratedKey
# mode: GeneratedKey
# # GeneratedKey Secrets Encryption config
# generatedKey:
# # # key version
# # keyVersion: 1
# # # disable secrets encryption
# # disabled: false
# (Optional) Specify the type of OS image; available options can be set to "ubuntu_containerd"
# "cos" "ubuntu_cgv2" or "cos_cgv2". Default is "ubuntu_containerd".
osImageType: ubuntu_cgv2
구성 파일 작성
구성 파일에 다음 섹션에 설명된 대로 필드 값을 입력합니다.
name
선택사항
문자열
기본값: 프리픽스가 'gke-admin-'인 임의의 이름
클러스터에 대해 사용자가 선택한 이름입니다.
예를 들면 다음과 같습니다.
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
vCenter.storagePolicyName
이 지정되지 않은 경우 필수
변경 불가
문자열
관리자 클러스터의 vSphere 데이터 스토어 이름입니다.
지정하는 값은 경로가 아닌 이름이어야 합니다. 값에 폴더를 포함하지 마세요.
예를 들면 다음과 같습니다.
vCenter:
datastore: "my-datastore"
vCenter.datastore
또는 vCenter.storagePolicyName
중 하나의 값을 지정해야 하며, 둘 다 지정할 수는 없습니다. 이 필드의 값을 지정할 경우 vCenter.storagePolicyName
값을 지정하지 마세요. vCenter.datastore
필드는 데이터 스토어를 스토리지 정책 기반 관리(SPBM)로 마이그레이션할 때 필드를 빈 문자열로 설정하는 경우를 제외하고 변경할 수 없습니다.
vCenter.storagePolicyName
vCenter.datastore
이 지정되지 않은 경우 필수
변경 불가
문자열
클러스터 노드에 대한 VM 스토리지 정책의 이름입니다.
스토리지 정책을 사용하려면 관리자 클러스터가 고가용성(HA)이어야 합니다.
자세한 내용은 스토리지 정책 구성을 참조하세요.
vCenter.datastore
또는 vCenter.storagePolicyName
중 하나의 값을 지정해야 하며, 둘 다 지정할 수는 없습니다. 이 필드의 값을 지정할 경우 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 사용자 계정의 사용자 이름과 비밀번호가 포함된 사용자 인증 정보 구성 파일의 경로입니다. 사용자 계정에 관리자 역할 또는 이에 상응하는 권한이 있어야 합니다.