File di configurazione del cluster utente 1.30 e versioni successive

Questo documento descrive i campi del file di configurazione del cluster utente per le versioni 1.30 e successive di Google Distributed Cloud.

Generazione di un modello per il file di configurazione

Se hai utilizzato gkeadm per creare la workstation di amministrazione, gkeadm ha generato un modello per il file di configurazione del cluster utente. Inoltre, gkeadm ha compilato alcuni campi per te.

Se non hai utilizzato gkeadm per creare la workstation di amministrazione, puoi utilizzare gkectl per generare un modello per il file di configurazione del cluster utente.

Per generare un modello per il file di configurazione del cluster utente:

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

Sostituisci quanto segue:

OUTPUT_FILENAME: un percorso a tua scelta per il modello generato. Se ometti questo flag, gkectl assegna al file il nome user-cluster.yaml e lo inserisce nella directory corrente.

VERSION: il numero di versione desiderato. Ad esempio: gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8.

Modello

apiVersion: v1
kind: UserCluster
# (Required) A unique name for this cluster
name: ""
# (Required) GKE on-prem version (example: 1.3.0-gke.16)
gkeOnPremVersion: ""
# # (Optional) Specify the prepared secret configuration which can be added or edited
# # only during cluster creation
# preparedSecrets:
#   # reference to the secret namespace for a group of secrets; it should be prepared
#   # beforehand by 'gkectl prepare secrets' command; it is immutable.
#   namespace: ""
# (Optional) Enable controlplane v2. Default is true
enableControlplaneV2: true
# # (Optional/Preview) Enable advanced cluster options
# enableAdvancedCluster: false
# # (Optional) vCenter configuration (default: inherit from the admin cluster)
# vCenter:
#   # # (Optional) vCenter server to use. Controlplane v2 needs to be enabled when the address
#   # # is different from that in the admin cluster configuration
#   # 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) reference to the credential secret; it should be prepared beforehand
#     # # by 'gkectl prepare secrets' command
#     # secretRef:
#     #   # The version for this prepared secret; it can be specified as 'latest' or integer
#     #   # string; it will be defaulted to latest version if it is not specified when creating
#     #   # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
#     #   # to be empty when rotating credentials
#     #   version: ""
#   # (Optional) vSphere folder where cluster VMs will be located. Defaults to the the
#   # datacenter wide folder if unspecified.
#   folder: ""
# # (Optional) The absolute or relative path to the GCP service account key for pulling
# # GKE images (default: inherit from the admin cluster)
# componentAccessServiceAccountKeyPath: ""
# # (Optional) The prepared credentials for component access service account key
# componentAccessServiceAccountKey:
#   # reference to the credential secret; it should be prepared beforehand by 'gkectl
#   # prepare secrets' command
#   secretRef:
#     # The version for this prepared secret; it can be specified as 'latest' or integer
#     # string; it will be defaulted to latest version if it is not specified when creating
#     # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
#     # to be empty when rotating credentials
#     version: ""
# # (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: ""
#     # # (Optional) reference to the credential secret; it should be prepared beforehand
#     # # by 'gkectl prepare secrets' command
#     # secretRef:
#     #   # The version for this prepared secret; it can be specified as 'latest' or integer
#     #   # string; it will be defaulted to latest version if it is not specified when creating
#     #   # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
#     #   # to be empty when rotating credentials
#     #   version: ""
#   # The absolute or relative path to the CA certificate for this registry
#   caCertPath: ""
# (Required) Network configuration; vCenter section is optional and inherits from
# the admin cluster if not specified
network:
  # (Required when using "static" ipMode.type; "Seesaw" loadBalancer.kind; or setting
  # enableControlplaneV2 to "true") This section overrides ipMode.ipBlockFilePath
  # values when ipMode.type=static. It's also used for control-plane nodes when controlplane
  # v2 is enabled and 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.0.0/20
  # (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: ""
  # # (Optional) List of additional node network interfaces feature enabled by multipleNetworkInterfaces
  # additionalNodeInterfaces:
  # # vSphere network name
  # - networkName: ""
  #   # (Required) Define what IP mode to use ("dhcp" "static" or "none")
  #   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 when setting enableControlplaneV2 to "true") Specify the IPs to use
  # for control-plane nodes when controlplane v2 is enabled. 1 IP is needed for non-HA
  # cluster and 3 for HA cluster. Non-empty controlPlaneIPBlock is not allowed when
  # controlplane v2 is disabled
  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: ""
    # Shared by all services for ingress traffic
    ingressVIP: ""
  # (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: 30243
  #   # NodePort for ingress service's https (only needed for user cluster)
  #   ingressHTTPSNodePort: 30879
  #   # NodePort for konnectivity server service (only needed for controlplane v1 user
  #   # cluster)
  #   konnectivityServerNodePort: 30563
  #   # NodePort for control plane service (not needed for HA admin cluster or controlplane
  #   # V2 user cluster)
  #   controlPlaneNodePort: 30562
  # # (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: ""
  #     # # (Optional) reference to the credential secret; it should be prepared beforehand
  #     # # by 'gkectl prepare secrets' command
  #     # secretRef:
  #     #   # The version for this prepared secret; it can be specified as 'latest' or integer
  #     #   # string; it will be defaulted to latest version if it is not specified when creating
  #     #   # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
  #     #   # to be empty when rotating credentials
  #     #   version: ""
  #   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: 4
  #   # (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
  # (Required when using "MetalLB" kind in user clusters) Specify the MetalLB configs
  metalLB:
    # (Required) A list of non-overlapping IP pools used by load balancer typed services.
    # Must include ingressVIP of the cluster.
    addressPools:
    # (Required) Name of the address pool
    - name: address-pool-1
      # (Required) The addresses that are part of this pool. Each address must be
      # either in the CIDR form (1.2.3.0/24) or range form (1.2.3.1-1.2.3.5).
      addresses:
      - ""
      # # (Optional) Avoid using IPs ending in .0 or .255. This avoids buggy consumer devices
      # # mistakenly dropping IPv4 traffic for those special IP addresses (default: false)
      # avoidBuggyIPs: false
      # # (Optional) Prevent IP addresses to be automatically assigned from this pool (default:
      # # false)
      # manualAssign: false
# (Optional) Enable dataplane v2
enableDataplaneV2: true
# # (Optional) DataplaneV2 configuration
# dataplaneV2:
#   # (Optional) Specify dataplanev2 forward mode (snat or dsr)
#   forwardMode: snat
# # (Optional) Enable support for multiple networking interfaces
# multipleNetworkInterfaces: false
# # (Optional) Enable advanced dataplane v2 networking features such as Egress NAT Gateway
# # and it requires enableDataplaneV2 to be set
# advancedNetworking: false
# # (Optional) Disable installation of bundled ingress
# disableBundledIngress: false
# # (Optional) Storage specification for the cluster
# storage:
#   # # Whether to disable vSphere CSI components deployment. The feature is enabled by
#   # # default
#   # vSphereCSIDisabled: false
# (Optional) User cluster master nodes must have either 1 or 3 replicas (default:
# 4 CPUs; 8192 MB memory; 1 replica)
masterNode:
  cpus: 4
  memoryMB: 8192
  # How many machines of this type to deploy
  replicas: 3
  # # (Optional/Preview) Topology domains that user cluster master nodes will be deployed
  # # to. Only 1 element is allowed. Advanced cluster must be enabled and infraConfigFilePath
  # # must be filled in admin cluster
  # topologyDomains:
  # - ""
  # # Enable auto resizing on master
  # autoResize:
  #   # Whether to enable auto resize for master. Defaults to false.
  #   enabled: false
  # vsphere:
  #   # (Optional) vSphere datastore the master nodes will be created on (default: vCenter.datastore)
  #   datastore: ""
  #   # (Optional) Storage policy to use for user master VM storage and datadisk (default:
  #   # vCenter.storagePolicyName)
  #   storagePolicyName: ""
# (Required) List of node pools. The total un-tainted replicas across all node pools
# must be greater than or equal to 3
nodePools:
- name: pool-1
  # # (Optional) GKE on-prem version (example: 1.13.0-gke.16); it will be defaulted to
  # # cluster version if it is not specified; it can be used to roll back a node pool
  # # if it is specified as the previous node pool version
  # gkeOnPremVersion: ""
  cpus: 4
  memoryMB: 8192
  # How many machines of this type to deploy
  replicas: 3
  # # (Optional/Preview) Topology domains that node pool nodes will be deployed to. Only
  # # 1 element is allowed. Advanced cluster must be enabled and infraConfigFilePath must
  # # be filled in admin cluster
  # topologyDomains:
  # - ""
  # # (Optional) boot disk size; must be at least 40 (default: 40)
  # bootDiskSizeGB: 40
  # (Optional) Specify the type of OS image; available options can be set to "ubuntu"
  # "ubuntu_containerd" "cos" "ubuntu_cgv2" "cos_cgv2" or "windows". Default is "ubuntu_containerd".
  osImageType: ubuntu_cgv2
  # # (Required when using "windows" osImageType) Specify the OS image template in vCenter
  # osImage: ""
  # # Labels to apply to Kubernetes Node objects
  # labels: {}
  # # Taints to apply to Kubernetes Node objects
  # taints:
  # - key: ""
  #   value: ""
  #   effect: ""
  # vsphere:
  #   # (Optional) vSphere datastore the node pool will be created on (default: vCenter.datastore)
  #   datastore: ""
  #   # (Optional) Storage policy to use for nodepool (default: vCenter.storagePolicyName)
  #   storagePolicyName: ""
  #   # (Optional) Existing host groups used for VM/Host affinity. VM groups will be created
  #   # to bind with these host groups via vm-host affinity rules
  #   hostgroups:
  #   - ""
  #   # (Optional) vSphere tags to be attached to the virtual machines in the node pool.
  #   # It is supported in GKE on-prem version 1.7+
  #   tags:
  #   - category: ""
  #     name: ""
  # # (Optional) Horizontal autoscaling for the nodepool; replicas should not be edited
  # # while updating the nodepool if this is turned on
  # autoscaling:
  #   # min number of replicas in the NodePool
  #   minReplicas: 0
  #   # max number of replicas in the NodePool
  #   maxReplicas: 0
  # (Optional) Allow traffic of LoadBalancer typed services flow through nodes of
  # this pool. This is only needed for MetalLB mode. Set it to true for at least one
  # node pool in the cluster. Default is false.
  enableLoadBalancer: true
  # # (Optional/Preview) Update strategy for this node pool (it will overwrite nodePoolUpdatePolicy.updateStrategy
  # # setting)
  # updateStrategy:
  #   # # (Optional/Preview) Rolling update strategy for machines of the node pool
  #   # rollingUpdate:
  #   #   # # (Optional/Preview) The maximum number of machines that can be scheduled simultaneously
  #   #   # # during update/upgrade (default: 1)
  #   #   # maxSurge: "1"
# Spread nodes across at least three physical hosts (requires at least three hosts)
antiAffinityGroups:
  # Set to false to disable DRS rule creation
  enabled: true
# # (Optional/Preview) Track user cluster VMs with vSphere tags
# enableVMTracking: false
# # Configure node pool update policy for the cluster
# nodePoolUpdatePolicy:
#   # (Optional/Preview) Number of node pools to update at a time. 0 means no limit.
#   # 1 means updating one by one.
#   maximumConcurrentNodePoolUpdate: 0
#   # # (Optional/Preview) Cluster wide default node pool update strategy. A node pool will
#   # # use this setting if it doesn't set specific updateStrategy
#   # updateStrategy:
#   #   # # (Optional/Preview) Rolling update strategy for machines of the node pool
#   #   # rollingUpdate:
#   #   #   # # (Optional/Preview) The maximum number of machines that can be scheduled simultaneously
#   #   #   # # during update/upgrade (default: 1)
#   #   #   # maxSurge: "1"
# # (Optional) Configure additional authentication.
# authentication:
#   # (Optional) Provide an additional serving certificate for the API server
#   sni:
#     certPath: ""
#     keyPath: ""
# # (Optional) Configure BinAuthz to enable deploy-time security control to the container
# # images.
# binaryAuthorization:
#   # (Optional) Set value to string "disabled" or "project_singleton_policy_enforce".
#   # Default is "disabled".
#   evaluationMode: ""
# (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) The prepared credentials for register service account key
  # registerServiceAccountKey:
  #   # reference to the credential secret; it should be prepared beforehand by 'gkectl
  #   # prepare secrets' command
  #   secretRef:
  #     # The version for this prepared secret; it can be specified as 'latest' or integer
  #     # string; it will be defaulted to latest version if it is not specified when creating
  #     # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
  #     # to be empty when rotating credentials
  #     version: ""
# # (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) The prepared credentials for stackdriver service account key
  # serviceAccountKey:
  #   # reference to the credential secret; it should be prepared beforehand by 'gkectl
  #   # prepare secrets' command
  #   secretRef:
  #     # The version for this prepared secret; it can be specified as 'latest' or integer
  #     # string; it will be defaulted to latest version if it is not specified when creating
  #     # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
  #     # to be empty when rotating credentials
  #     version: ""
  # (Optional) Disable vsphere resource metrics collection from vcenter.  False by
  # default
  disableVsphereResourceMetrics: false
# # (Optional/Preview) Configure the GKE usage metering feature
# usageMetering:
#   bigQueryProjectID: ""
#   # The ID of the BigQuery Dataset in which the usage metering data will be stored
#   bigQueryDatasetID: ""
#   # The absolute or relative path to the key file for a GCP service account used by
#   # gke-usage-metering to report to BigQuery
#   bigQueryServiceAccountKeyPath: ""
#   # # (Optional) The prepared credentials for big query service account key
#   # bigQueryServiceAccountKey:
#   #   # reference to the credential secret; it should be prepared beforehand by 'gkectl
#   #   # prepare secrets' command
#   #   secretRef:
#   #     # The version for this prepared secret; it can be specified as 'latest' or integer
#   #     # string; it will be defaulted to latest version if it is not specified when creating
#   #     # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
#   #     # to be empty when rotating credentials
#   #     version: ""
#   # Whether or not to enable consumption-based metering
#   enableConsumptionMetering: 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) The prepared credentials for cloud audit logging service account key
  # serviceAccountKey:
  #   # reference to the credential secret; it should be prepared beforehand by 'gkectl
  #   # prepare secrets' command
  #   secretRef:
  #     # The version for this prepared secret; it can be specified as 'latest' or integer
  #     # string; it will be defaulted to latest version if it is not specified when creating
  #     # a cluster; it is allowed to be empty when creating a cluster; it is not allowed
  #     # to be empty when rotating credentials
  #     version: ""
# 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

Campi obbligatori e valori predefiniti

Se un campo è contrassegnato come Obbligatorio, il file di configurazione completato deve avere un valore inserito per il campo.

Alcuni campi sono obbligatori in base alle condizioni. Ad esempio, loadBalancer.metalLB.addressPools è obbligatorio se loadBalancer.kind è uguale a MetalLB.

Se per un campo viene specificato un valore Predefinito, il cluster lo utilizzerà se non inserisci alcun valore per il campo. Puoi eseguire l'override di un valore predefinito inserendo un valore.

Se un campo non è contrassegnato come obbligatorio e non viene specificato alcun valore predefinito, il campo è facoltativo. Puoi compilarlo se è pertinente per te, ma non è obbligatorio.

Compilare il file di configurazione

Nel file di configurazione, inserisci i valori dei campi come descritto nelle sezioni seguenti.

enableAdvancedCluster

Anteprima
Facoltativo
Immutabile
Booleano
Precompilato: false
Valore predefinito: false

Imposta enableAdvancedClusters su true per attivare i cluster avanzati. Quando questo flag è abilitato, il software Google Distributed Cloud sottostante esegue il deployment di controller che consentono un'architettura più estensibile. L'attivazione dei cluster avanzati consente di accedere a nuove funzionalità e capacità, come i domini di topologia.

Non disponibile.

name


Stringa obbligatoria

Un nome scelto da te per il cluster utente. Il nome deve:

  • Deve contenere al massimo 40 caratteri.
  • Deve contenere solo caratteri alfanumerici minuscoli o un trattino (-).
  • Deve iniziare con un carattere alfabetico
  • Deve terminare con un carattere alfanumerico

Esempio:

name: "my-user-cluster"

gkeOnPremVersion

Stringa

mutabile obbligatoria

La versione di Google Distributed Cloud per il tuo cluster utente.

Esempio:

gkeOnPremVersion: "1.29.0-gke.1456"

preparedSecrets.namespace

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi questo campo. In caso contrario, se vuoi utilizzare credenziali preparate, compila questo campo.

Stringa
non mutevole
Valori possibili: una stringa che inizia con "gke-onprem-secrets-"

Il nome di uno spazio dei nomi Kubernetes nel cluster di amministrazione in cui vengono archiviati i secret preparati per questo cluster utente.

Esempio:

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

enableControlplaneV2

Mutabile (sono consentiti valori da false a true)
Booleano
Precompilato: true
Valore predefinito: true

Nella versione 1.30 e successive, Controlplane 2 è obbligatoria per i nuovi cluster di utenti. Se includi questo campo nel file di configurazione, deve essere impostato su true.

Per eseguire la migrazione di un cluster esistente a Controlplane v2, consulta Eseguire la migrazione di un cluster utente alle funzionalità consigliate. Dopo la migrazione a Controlplane V2, la disattivazione di Controlplane V2 non è consentita.

Con Controlplane V2, il control plane per un cluster utente viene eseguito su uno o più nodi nel cluster utente stesso. I vantaggi di Control Plane V2 includono:

  • Coerenza dell'architettura tra i cluster di amministrazione e utente.

  • Isolamento dei guasti. Un errore del cluster di amministrazione non influisce sui cluster utente.

  • Separazione operativa. L'upgrade di un cluster di amministrazione non causa tempi di inattività per i cluster utente.

  • Separazione del deployment. Puoi posizionare i cluster di amministrazione e utente in diversi domini di errore o siti geografici. Ad esempio, un cluster utente in una località remota potrebbe trovarsi in una località geografica diversa da quella del cluster di amministrazione.

Immutabile
Booleano
Precompilato: true
Valore predefinito: true

Per attivare Controlplane V2, imposta enableControlplaneV2 su true o rimuovi l'impostazione dal file di configurazione del cluster utente. In caso contrario, impostalo su false. Con Controlplane V2, il control plane per un cluster utente viene eseguito su uno o più nodi nel cluster utente stesso. Quando il control plane v2 non è abilitato, il control plane del cluster utente viene eseguito nel cluster di amministrazione.

Ti consigliamo di attivare Controlplane v2.

Esempio:

enableControlplaneV2: true

vCenter

Questa sezione contiene informazioni sul tuo ambiente vSphere e sulla connessione a vCenter Server.

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi l'intera sezione.

Se hai incluso la sezione vCenter nel file di configurazione del cluster di amministrazione:

  • Se vuoi che un campo in questa sezione corrisponda a quello specificato per il tuo cluster di amministrazione, rimuovilo o lascialo commentato.

  • Se vuoi che un campo sia diverso da quello specificato per il tuo cluster amministrativo, compilalo qui. Tutti i campi che compili qui nella sezione vCenter sovrascrivono i campi corrispondenti nel file di configurazione del cluster amministrativo.

vCenter.address


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

L'indirizzo IP o il nome host dell'istanza di vCenter Server che vuoi utilizzare per questo cluster utente.

Per ulteriori informazioni, consulta Trovare l'indirizzo del server vCenter.

Se specifichi un valore diverso dall'istanza di vCenter Server impiegata dal cluster di amministrazione, Controlplane V2 deve essere attivato e devi fornire valori per network.vCenter.networkName e per tutti i campi obbligatori nella sezione vCenter.

Esempi:

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

vCenter.datacenter


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

Il percorso relativo di un data center vSphere.

Se specifichi un valore per questo campo, devi specificare anche:

  • vCenter.networkName
  • vCenter.datastore o vCenter.storagePolicyName
  • vCenter.cluster o vCenter.resourcePool

Il valore specificato è relativo alla cartella principale denominata /.

Se il data center si trova nella cartella principale, il valore è il nome del data center.

Esempio:

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

In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome del data center.

Esempio:

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

vCenter.cluster


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

Il percorso relativo di un cluster vSphere che rappresenta gli host ESXi su cui verranno eseguite le VM del cluster utente. Questo cluster vSphere rappresenta un sottoinsieme degli host ESXi fisici nel tuo data center vCenter.

Se specifichi un valore per questo campo, devi specificare anche:

  • vCenter.networkName
  • vCenter.datacenter
  • vCenter.datastore o vCenter.storagePolicyName

Il valore specificato è relativo a /.../DATA_CENTER/vm/.

Se il cluster vSphere si trova nella cartella /.../DATA_CENTER/vm/, il valore è il nome del cluster vSphere

Esempio:

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

In caso contrario, il valore è un percorso relativo che include una o più cartelle insieme al nome del cluster vSphere.

Esempio:

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

vCenter.resourcePool


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

Un pool di risorse vCenter per le VM del cluster utente.

Se vuoi utilizzare il pool di risorse predefinito, impostalo su VSPHERE_CLUSTER/Resources.

Esempio:

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

Il valore specificato è relativo a /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/

Se il pool di risorse è un elemento figlio diretto di /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/ il valore è il nome del pool di risorse.

Esempio:

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

In caso contrario, il valore è un percorso relativo con due o più pool di risorse.

Esempio:

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

vCenter.datastore

Facoltativo
Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

Il nome di un datastore vSphere per il cluster utente.

Il valore specificato deve essere un nome, non un percorso. Non includere cartelle nel valore.

Esempio:

vCenter:
  datastore: "my-datastore"

Se specifichi un valore per questo campo, non specificare un valore per vCenter.storagePolicyName. Il campo vCenter.datastore è immutabile, tranne quando lo imposti su una stringa vuota durante la migrazione di un datastore a Storage Policy Based Management (SPBM).

vCenter.storagePolicyName

Stringa
invariabile
facoltativa

Il nome di un criterio di archiviazione VM per i nodi del cluster.

Puoi anche specificare un criterio di archiviazione VM per i nodi di un determinato pool di nodi. Tuttavia, le norme specificate qui si applicano a qualsiasi pool di nodi che non abbia le proprie norme.

Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.

Se specifichi un valore per questo campo, non specificare un valore per vCenter.datastore.

vCenter.caCertPath

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Il percorso del certificato CA per il server vCenter. Per saperne di più, consulta Ottenere il certificato CA di vCenter.

Esempio:

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

Per informazioni su come aggiornare questo campo, consulta Aggiornare i riferimenti ai certificati vCenter.

vCenter.credentials.fileRef.path

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Se specifichi un valore per preparedSecrets.namespace, non specificare un valore per questo campo. Fornisci invece un valore per vCenter.credentials.secretRef.version.

Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password del tuo account utente vCenter. L'account dell'utente deve avere il ruolo Amministratore o privilegi equivalenti. Consulta i requisiti di vSphere.

Puoi utilizzare gkectl update credentials per aggiornare questo campo in un cluster esistente. Per ulteriori informazioni, consulta Eseguire la rotazione delle chiavi degli account di servizio.

Per informazioni su come aggiornare le credenziali di vCenter, consulta Aggiornamento delle credenziali del cluster.

Esempio:

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

vCenter.credentials.fileRef.entry

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Il nome del blocco delle credenziali nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account utente vCenter.

Esempio:

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

vCenter.credentials.secretRef.version

Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

Se fornisci un valore per preparedSecrets.namespace, compila questo campo. In caso contrario, rimuovi questo campo o lascialo commentato.

La versione di un secret preparato nel cluster di amministrazione che contiene il nome utente e la password per l'istanza di vCenter Server che intendi utilizzare per questo cluster utente.

Esempio:

vCenter:
  credentials:
    secretRef:
      version: "1"

vCenter.folder


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

Il percorso relativo di una cartella vSphere che hai già creato. Questa cartella conterrà le VM del cluster utente.

Se non specifichi un valore, le VM del cluster utente verranno inserite in /.../DATA_CENTER/vm/.

Se specifichi un valore, questo è relativo a /.../DATA_CENTER/vm/.

Il valore può essere il nome di una cartella.

Esempio:

vCenter:
  folder: "my-uc-folder"

In alternativa, il valore può essere un percorso relativo che include più di una cartella.

Esempio:

vCenter:
  folder: "folders/folder-2"

componentAccessServiceAccountKeyPath

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Il percorso del file della chiave JSON per l'account di servizio di accesso del componente.

Esempio:

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

componentAccessServiceAccountKey.secretRef.version

Mutevole
Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account servizio di accesso ai componenti.

Esempio:

componentAccessServiceAccountKey:
  secretRef:
    version: "1"

privateRegistry

Compila questa sezione se il tuo cluster di amministrazione utilizza un registro dei contenitori privato e vuoi che il cluster di utenti utilizzi un altro registro privato o altre impostazioni. Se vuoi utilizzare un indirizzo del registry privato diverso, nel tuo cluster deve essere attivato Controlplane V2. Le nuove impostazioni vengono rilevate durante la creazione e l'aggiornamento del cluster.

Se vuoi utilizzare le stesse impostazioni del cluster di amministrazione, rimuovi questa sezione o lasciala commentata.

privateRegistry.address


Stringa
non modificabile
Valore predefinito: eredita dal cluster di amministrazione

L'indirizzo IP o il FQDN (nome di dominio completo) della macchina su cui viene eseguito il tuo registry Docker privato.

Esempi:

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

privateRegistry.credentials.fileRef.path

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Se prevedi di utilizzare il segreto preparato per il registry privato, non fornire un valore per questo campo. Fornisci invece un valore per privateRegistry.credentials.secretRef.version.

Il percorso di un file di configurazione delle credenziali che contiene il nome utente e la password di un account che Google Distributed Cloud può utilizzare per accedere al tuo registry Docker privato.

Esempio:

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

privateRegistry.credentials.fileRef.entry

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Il nome del blocco delle credenziali nel file di configurazione delle credenziali che contiene il nome utente e la password del tuo account del registry Docker privato.

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

privateRegistry.credentials.secretRef.version

Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

Se fornisci un valore per preparedSecrets.namespace e vuoi utilizzare il segreto preparato per un registry privato, compila questo campo. In caso contrario, rimuovi questo campo o lascialo commentato.

La versione di un secret preparato nel cluster di amministrazione che contiene il nome utente e la password per l'istanza di vCenter Server che intendi utilizzare per questo cluster utente.

Esempio:

privateRegistry:
  credentials:
    secretRef:
      version: "1"

privateRegistry.caCertPath

Mutable
String
Valore predefinito: eredita dal cluster di amministrazione

Quando Docker estrae un'immagine dal tuo registro privato, il registro deve dimostrare la propria identità presentando un certificato. Il certificato del registry è firmato da un'autorità di certificazione (CA). Docker utilizza il certificato della CA per verificare il certificato del registry.

Imposta questo campo sul percorso del certificato della CA.

Esempio:

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

network

Questa sezione contiene informazioni sulla rete del cluster di utenti.

network.hostConfig

Questa sezione contiene informazioni su server NTP, server DNS e domini di ricerca DNS utilizzati dalle VM corrispondenti ai nodi del cluster.

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione (disponibile nella versione 1.31 e successive), rimuovi l'intera sezione. In caso contrario, questa sezione è obbligatoria se si verifica una o più delle seguenti condizioni:

  • L'opzione network.ipMode.type è impostata su static.
  • enableControlplaneV2 è impostato su true o è consentito il valore predefinito true. Tieni presente che Controlplane 2 è necessario per i nuovi cluster di utenti.

Questa sezione contiene informazioni su server NTP, server DNS e domini di ricerca DNS utilizzati dalle VM corrispondenti ai nodi del cluster. Se utilizzi il bilanciatore del carico Seesaw, queste informazioni si applicano anche alle VM Seesaw.

Questa sezione è obbligatoria se una o più delle seguenti condizioni sono vere:

  • L'opzione network.ipMode.type è impostata su static.
  • enableControlplaneV2 è impostato su true o è consentito il valore predefinito true. Il bilanciatore del carico Seesaw non è supportato nei cluster con Control Plane v2 abilitato.
  • L'opzione loadBalancer.kind è impostata su "Seesaw".

network.hostConfig.dnsServers

Obbligatorio
Impuro
Array di stringhe.
Il numero massimo di elementi nell'array è tre.

Gli indirizzi dei server DNS delle VM.

Esempio:

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

network.hostConfig.ntpServers

Obbligatorio
Immutabile
Array di stringhe

Gli indirizzi dei server di ora da utilizzare per le VM.

Esempio:

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Array di stringhe
immutabile

I domini di ricerca DNS utilizzabili dagli host. Questi domini vengono utilizzati come parte di un elenco di ricerca di domini.

Esempio:

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

network.ipMode.type

Stringa
non modificabile
Precompilata: "static"
Valore predefinito: "dhcp"

Se vuoi che i nodi del cluster ricevano il proprio indirizzo IP da un server DHCP, imposta questo valore su "dhcp". Se vuoi che i nodi del cluster abbiano indirizzi IP statici selezionati da un elenco fornito da te, imposta questo valore su "static". Se enableControlplaneV2 è impostato su true, questa impostazione si applica solo ai nodi worker.

Esempio:

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Questo campo è obbligatorio se network.ipMode.type = static o se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione.

Stringa
immutabile

Il percorso assoluto o relativo del file di blocco IP per il cluster.

Esempio:

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

network.serviceCIDR


Stringa
precompilata immutabile: "10.96.0.0/20"
>

Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i servizi nel cluster. Deve essere un intervallo di almeno /24.

Esempio:

network:
  serviceCIDR: "10.96.0.0/20"

network.podCIDR


Stringa
non modificabile
Precompilata: "192.168.0.0/16"
Valore predefinito: "192.168.0.0/16"

Un intervallo di indirizzi IP, in formato CIDR, da utilizzare per i pod nel cluster. Deve essere un intervallo di almeno /18.

Esempio:

network:
  podCIDR: "192.168.0.0/16"

L'intervallo di servizi non deve sovrapporsi all'intervallo di pod.

Gli intervalli di servizi e pod non devono sovrapporsi a nessun indirizzo esterno al cluster che vuoi raggiungere dall'interno del cluster.

Ad esempio, supponiamo che l'intervallo del servizio sia 10.96.232.0/24 e l'intervallo del pod sia 192.168.0.0/16. Qualsiasi traffico inviato da un pod a un indirizzo in uno di questi intervalli verrà considerato all'interno del cluster e non raggiungerà alcuna destinazione al di fuori del cluster.

In particolare, gli intervalli di servizi e pod non devono sovrapporsi a:

  • Indirizzi IP dei nodi in qualsiasi cluster

  • Indirizzi IP utilizzati dalle macchine del bilanciatore del carico

  • VIP utilizzati dai nodi del control plane e dai bilanciatori del carico

  • Indirizzo IP dei server vCenter, DNS e NTP

Ti consigliamo di inserire gli intervalli di servizi e pod nello spazio di indirizzi RFC 1918.

Ecco un motivo per cui consigliamo di utilizzare gli indirizzi RFC 1918. Supponiamo che l'intervallo del pod o del servizio contenga indirizzi IP esterni. Qualsiasi traffico inviato da un pod a uno di questi indirizzi esterni verrà trattato come traffico all'interno del cluster e non raggiungerà la destinazione esterna.

network.vCenter.networkName

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi questo campo. In caso contrario, questo campo è obbligatorio se vCenter.address è diverso dall'indirizzo vCenter che utilizzi per il cluster di amministrazione.

Stringa
immutabile

Il nome della rete vSphere per i nodi del cluster utente.

Esempio:

network:
  vCenter:
    networkName: "my-network"

Se il nome contiene un carattere speciale, devi utilizzare una sequenza di escape.

Caratteri speciali Sequenza di escape
Barra (/) %2f
Barra rovesciata (\) %5c
Simbolo della percentuale (%) %25

Se il nome della rete non è univoco nel tuo data center, puoi specificare un percorso completo.

Esempio:

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

network.additionalNodeInterfaces

Se imposti multipleNetworkInterfaces su true, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

Immutabile

Un array di oggetti, ognuno dei quali descrive un'interfaccia di rete che può essere utilizzata su tutti o alcuni dei nodi del cluster.

network.additionalNodeInterfaces[i].networkName

Obbligatorio se multipleNetworkInterfaces = true
Stringa
non mutabile

Il nome della rete vSphere a cui si collegherà questa interfaccia del nodo aggiuntivo.

Esempio:

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

network.additionalNodeInterfaces[i].type

Obbligatorio se multipleNetworkInterfaces = true
Stringa
non mutabile

Esempio:

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

network.additionalNodeInterfaces[i].ipBlockFilePath

Obbligatorio se network.additionalNodeInterfaces[i].type = static
Stringa
non mutabile

Il percorso di un file di blocco IP contenente gli indirizzi IP da utilizzare per questa interfaccia di rete sui nodi che dispongono di questa interfaccia di rete.

Esempio:

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

network.controlPlaneIPBlock

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi l'intera sezione.

In caso contrario, l'inclusione di questa sezione dipende dal valore impostato in enableControlplaneV2:

  • Se enableControlplaneV2 è true, compila questa sezione.
  • Se enableControlplaneV2 è false, rimuovi questa sezione.

network.controlPlaneIPBlock.netmask

Obbligatorio se enableControlplaneV2 = true
Stringa
non mutabile

Esempio:

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obbligatorio se enableControlplaneV2 = true
Stringa
non mutabile

Esempio:

network:
  controlPlaneIPBlock:
    gateway: "172.16.21.1"

network.controlPlaneIPBlock.ips

Obbligatorio se enableControlplaneV2 = true
Impossibile modificare
Array di oggetti, ciascuno con un indirizzo IP e un nome host facoltativo.

Per un cluster utente ad alta disponibilità (HA), l'array contiene tre elementi. Per un cluster utente non HA, l'array ha un elemento.

Esempio:

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

Questa sezione contiene informazioni sul bilanciatore del carico per il cluster utente.

loadBalancer.vips.controlPlaneVIP

Stringa

obbligatoria immutabile

L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il server API Kubernetes del cluster utente.

Esempio:

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

Stringa

obbligatoria immutabile

L'indirizzo IP che hai scelto di configurare sul bilanciatore del carico per il proxy in entrata.

Esempio:

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

Obbligatoria
Stringa
non mutabile
Precompilata: "MetalLB"

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione (disponibile nella versione 1.31 e successive), impostalo su "ManualLB". In caso contrario, impostalo su "ManualLB" o "MetalLB".

Utilizza "ManualLB" se hai un bilanciatore del carico di terze parti (ad esempio F5 BIG-IP o Citrix) o "MetalLB" per la nostra soluzione in bundle.

Sebbene tu possa eseguire l'upgrade di un cluster in cui kind è impostato su "F5BigIP" o "Seesaw", non puoi utilizzare Dataplane V2 o Controlplane V2 su cluster esistenti con una di queste configurazioni del bilanciatore del carico. Per informazioni sulla migrazione delle configurazioni di bilanciamento del carico, consulta quanto segue:

Esempio:

loadBalancer:
  kind: "MetalLB"

Obbligatoria
Stringa
non mutabile
Precompilata: "MetalLB"

Imposta questo valore su "ManualLB", "F5BigIP", "Seesaw" o "MetalLB".

Per attivare Dataplane V2 e Controlplane V2, ti consigliamo di utilizzare "ManualLB" se hai un bilanciatore del carico di terze parti (ad esempio F5 BIG-IP o Citrix) o "MetalLB" per la nostra soluzione in bundle.

Esempio:

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Se imposti loadbalancer.kind su "manualLB", compila questa sezione. In caso contrario,rimuovi questa sezione o lasciala commentata.

loadBalancer.manualLB.ingressHTTPNodePort

Obbligatorio se loadBalancer.kind = ManualLB (vedi Nota sulla versione)
Impossibile da modificare
Numero intero
Precompilato: 30243

Il proxy in entrata in un cluster utente è esposto da un servizio Kubernetes di tipo LoadBalancer. Il servizio ha un'attributo ServicePort per HTTP. Scegli un valore nodePort per il ServicePort HTTP e imposta questo campo sul valore nodePort.

Nota sulla versione: nella versione 1.30 e successive, le porte dei nodi di ingresso sono facoltative per i cluster che utilizzano Controlplane V2.

Esempio:

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Obbligatorio se loadBalancer.kind = ManualLB (see Version note)
Immutabile
Intero
Precompilato: 30879

Il proxy di ingresso in un cluster utente è esposto da un servizio di tipo LoadBalancer. Il servizio ha un ServicePort per HTTPS. Scegli un valore nodePort per il ServicePort HTTPS e imposta questo campo sul valore nodePort.

Nota sulla versione: nella versione 1.30 e successive, le porte dei nodi di ingresso sono facoltative per i cluster che utilizzano Controlplane V2.

Esempio:

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Obbligatorio se loadBalancer.kind = ManualLB e enableControlplaneV2 = false
Immutabile
Numero
Precompilato: 30562

Il server API Kubernetes di un cluster utente viene eseguito nel cluster di amministrazione e viene esposto da un servizio di tipo LoadBalancer. Devi scegliere un valore nodePort per il servizio.

Imposta questo campo sul valore nodePort.

Esempio:

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

Obbligatorio se loadBalancer.kind = ManualLB e enableControlplaneV2 = false
Impossibile
modificare
Numero
Precompilato: 30563

Il server API Kubernetes di un cluster utente che utilizza kubeception viene eseguito nel cluster di amministrazione ed è esposto da un servizio di tipo LoadBalancer. Il server Konnectivity riutilizza questo servizio con un valore nodePort diverso. Devi scegliere un valore nodePort per il server Konnectivity.

Imposta questo campo sul valore nodePort per il server Konnectivity.

Esempio:

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.f5BigIP

In 1.30 e versioni successive, il valore "F5BigIP" non è consentito per loadbalancer.kind per i nuovi cluster di utenti. Se la sezione loadBalancer.f5BigIP è presente nel file di configurazione, rimuovila o mettila in commento.

Puoi comunque utilizzare il bilanciatore del carico BIG-IP di F5 con i nuovi cluster di utenti, ma la configurazione è diversa. Per i dettagli sulla configurazione, consulta Attivare la modalità di bilanciamento del carico manuale.

Se imposti loadbalancer.kind su "f5BigIP", compila questa sezione. In caso contrario,rimuovi questa sezione o lasciala commentata.

Per attivare funzionalità nuove e avanzate, ti consigliamo di configurare il bilanciamento del carico manuale per il bilanciatore del carico F5 BIG-IP. Per attivare il bilanciamento del carico manuale, imposta loadbalancer.kind su "ManualLB" e compila la sezione loadBalancer.manualLB. Per ulteriori informazioni, consulta Attivare la modalità di bilanciamento del carico manuale.

Se hai già un bilanciatore del carico F5-BIG-IP e la configurazione del cluster utilizza questa sezione, dopo aver eseguito l'upgrade a 1.29 o versioni successive, ti consigliamo di eseguire la migrazione al bilanciamento del carico manuale.

loadBalancer.f5BigIP.address

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

L'indirizzo del bilanciatore del carico F5 BIG-IP.

Esempio:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

L'indirizzo del bilanciatore del carico F5 BIG-IP.

Esempio:

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il percorso di un file delle credenziali che contiene il nome utente e la password di un account che Google Distributed Cloud può utilizzare per connettersi al bilanciatore del carico F5 BIG-IP.

L'account utente deve avere un ruolo utente con autorizzazioni sufficienti per configurare e gestire il bilanciatore del carico. È sufficiente il ruolo Amministratore o Amministratore risorse.

Per informazioni sull'aggiornamento delle credenziali F5 BIG-IP, consulta Aggiornamento delle credenziali di un cluster.

Esempio:

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

Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il percorso di un file delle credenziali che contiene il nome utente e la password di un account che Google Distributed Cloud può utilizzare per connettersi al bilanciatore del carico F5 BIG-IP.

L'account utente deve avere un ruolo utente con autorizzazioni sufficienti per configurare e gestire il bilanciatore del carico. È sufficiente il ruolo Amministratore o Amministratore risorse.

Per informazioni sull'aggiornamento delle credenziali F5 BIG-IP, consulta Aggiornamento delle credenziali di un cluster.

Esempio:

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

loadBalancer.f5BigIP.credentials.fileRef.entry

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il nome del blocco delle credenziali nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account F5 BIG-IP.

Esempio:

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

Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il nome del blocco delle credenziali nel file di configurazione delle credenziali, che contiene il nome utente e la password del tuo account F5 BIG-IP.

Esempio:

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

loadBalancer.f5BigIP.partition

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il nome di una partizione BIG-IP che hai creato per il cluster utente.

Esempio:

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

Obbligatorio se loadBalancer.kind = "f5BigIP"
Stringa

Il nome di una partizione BIG-IP che hai creato per il cluster utente.

Esempio:

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

loadBalancer.f5BigIP.snatPoolName

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = "f5BigIP" e utilizzi SNAT
Stringa

Il nome del pool SNAT.

Esempio:

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

Obbligatorio se loadBalancer.kind = "f5BigIP" e utilizzi SNAT
Stringa

Il nome del pool SNAT.

Esempio:

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

loadBalancer.seesaw

In 1.30 e versioni successive, il valore "Seesaw" non è consentito per loadbalancer.kind per i nuovi cluster di utenti perché questo bilanciatore del carico non è supportato con funzionalità nuove e avanzate. Se la sezione loadBalancer.seesaw è presente nel file di configurazione, rimuovila o mettila in commento.

In alternativa, puoi configurare il bilanciatore del carico MetalLB in bundle. Per attivare il bilanciatore del carico MetalLB, imposta loadbalancer.kind su "MetalLB" e compila la sezione loadBalancer.metalLB. Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

Se imposti loadbalancer.kind su "Seesaw", compila questa sezione. In caso contrario,rimuovi questa sezione o lasciala commentata.

Tieni presente le seguenti limitazioni del bilanciatore del carico SeeSaw:

Per utilizzare queste funzionalità, ti consigliamo di configurare il bilanciatore del carico MetalLB. Per attivare il bilanciatore del carico MetalLB, imposta loadbalancer.kind su"MetalLB" e compila la sezione loadBalancer.metalLB. Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

loadBalancer.seesaw.ipBlockFilePath

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = Seesaw
Stringa
non modificabile

Il percorso del file di blocco IP per le VM Seesaw.

Esempio:

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

Obbligatorio se loadBalancer.kind = Seesaw
Stringa
non mutabile

Il percorso del file di blocco IP per le VM Seesaw.

Esempio:

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

loadBalancer.seesaw.vrid

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = Seesaw
Impossibile da modificare
Intero
Valori possibili: 1-255
Precompilato: 0

Il VRID della tua VM Seesaw. Questo identificatore, che è un numero intero a tua scelta, deve essere univoco in una VLAN.

Esempio:

loadBalancer:
  seesaw:
    vrid: 125

Obbligatorio se loadBalancer.kind = Seesaw
Impossibile da modificare
Numero intero
Valori possibili: 1-255
Precompilato: 0

Il VRID della tua VM Seesaw. Questo identificatore, che è un numero intero a tua scelta, deve essere univoco in una VLAN.

Esempio:

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = Seesaw
Stringa
non modificabile

L'indirizzo IP virtuale configurato sulla VM Seesaw master.

Esempio:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

Obbligatorio se loadBalancer.kind = Seesaw
Stringa
non mutabile

L'indirizzo IP virtuale configurato sulla VM Seesaw master.

Esempio:

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = Seesaw
Mutabile
Intero
Precompilato: 4

Il numero di CPU per ogni VM Seesaw.

Esempio:

loadBalancer:
  seesaw:
    cpus: 8

Obbligatorio se loadBalancer.kind = Seesaw
Mutevole
Numero
Precompilato: 4

Il numero di CPU per ogni VM Seesaw.

Esempio:

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Non consentito per i nuovi cluster
Obbligatorio se loadBalancer.kind = Seesaw
Mutabile
Intero
Precompilato: 3072

Il numero di mebibyte di memoria per ogni VM Seesaw.

Esempio:

loadBalancer:
  seesaw:
    memoryMB: 8192

Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 220 = 1.048.576 byte. Un megabyte corrisponde a 106 = 1.000.000 byte.

Obbligatorio se loadBalancer.kind = Seesaw
Mutevole
Numero
Precompilato: 3072

Il numero di mebibyte di memoria per ogni VM Seesaw.

Esempio:

loadBalancer:
  seesaw:
    memoryMB: 8192

Nota: questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 220 = 1.048.576 byte. Un megabyte corrisponde a 106 = 1.000.000 byte.

loadBalancer.seesaw.vCenter.networkName

Non consentito per i nuovi cluster
Stringa
non modificabile
Valore predefinito: uguale a quello dei nodi del cluster

Il nome della rete vCenter che contiene le VM di Seesaw.

Esempio:

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

Stringa
non modificabile
Valore predefinito: uguale a quello dei nodi del cluster

Il nome della rete vCenter che contiene le VM di Seesaw.

Esempio:

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

loadBalancer.seesaw.enableHA

Non consentito per i nuovi cluster
Impossibile da modificare
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: false
Valore predefinito: false

Se vuoi creare un bilanciatore del carico Seesaw ad alta disponibilità (HA), imposta questo valore su true. In caso contrario, impostalo su false. Un bilanciatore del carico Seesaw ad alta disponibilità utilizza una coppia(principale, di riserva) di VM.

Esempio:

loadBalancer:
  seesaw:
    enableHA: true

Immutabile
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: false
Valore predefinito: false

Se vuoi creare un bilanciatore del carico Seesaw ad alta disponibilità (HA), imposta questo valore su true. In caso contrario, impostalo su false. Un bilanciatore del carico Seesaw ad alta disponibilità utilizza una coppia(principale, di riserva) di VM.

Esempio:

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Non consentito per i nuovi cluster
Impossibile modificare
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: true
Valore predefinito: true

Se impostato su true (opzione consigliata), il bilanciatore del carico Seesaw non utilizza l'apprendimento MAC per il failover. Utilizza invece il protocollo ARP gratuito. Se questo campo è impostato su false, il bilanciatore del carico Seesaw utilizza l'apprendimento MAC. Se utilizzi vSphere 7 o versioni successive e hai un bilanciatore del carico Seesaw ad alta disponibilità, questo campo deve essere impostato su true.

Esempio:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

Immutabile
Rilevante se loadBalancer.kind = Seesaw
Booleano
Precompilato: true
Valore predefinito: true

Se imposti questo valore su true (opzione consigliata), il bilanciatore del carico Seesaw non utilizza l'apprendimento MAC per il failover. Utilizza invece il protocollo ARP gratuito. Se imposti questo valore su false, il bilanciatore del carico Seesaw utilizza l'apprendimento MAC. Se utilizzi vSphere 7 o versioni successive e hai un bilanciatore del carico Seesaw ad alta disponibilità, devi impostare questo valore su true.

Esempio:

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

Se imposti loadbalancer.kind su "MetalLB", compila questa sezione. In caso contrario,rimuovi questa sezione o lasciala commentata.

Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

loadBalancer.metalLB.addressPools

Obbligatorio se loadBalancer.kind = "MetalLB"
Mutabile (vedi eccezione)

Array di oggetti, ognuno dei quali contiene informazioni su un pool di indirizzi da utilizzare dal bilanciatore del carico MetalLB.

Se crei il cluster con enableAdvancedCluster impostato su true, l'array non è mutabile. Puoi aggiungere pool di indirizzi, ma la rimozione di uno o più pool di indirizzi da un array di pool di indirizzi esistente non è supportata.

loadBalancer.metalLB.addressPools[i].name

Obbligatorio se loadBalancer.kind = MetalLB
Mutabile (vedi eccezione)
Stringa

Un nome scelto da te per il pool di indirizzi.

Se crei il cluster con enableAdvancedCluster impostato su true, il nome non è modificabile. La modifica del nome dopo la creazione del cluster non è supportata.

Esempio:

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

Obbligatorio se loadBalancer.kind = MetalLB
Mutabile (vedi eccezione)

Array di stringhe, ognuna delle quali è un intervallo di indirizzi. Ogni intervallo deve essere in formato CIDR o con trattini.

Se crei il cluster con enableAdvancedCluster impostato su true, l'array non è mutabile. La rimozione di uno o più indirizzi da un pool di indirizzi esistente non è supportata, ma puoi aggiungere nuovi indirizzi.

Esempio:

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

Rilevante se loadBalancer.kind = MetalLB
Mutabile
Booleano
Precompilato: false
Valore predefinito: false

Se imposti questo valore su true, il controller MetalLB non assegnerà indirizzi IP ai servizi che terminano con .0 o .255. In questo modo si evita il problema dei dispositivi consumer con bug che eliminano erroneamente il traffico inviato a questi indirizzi IP speciali.

Esempio:

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

Rilevante se loadBalancer.kind = MetalLB
Mutabile
Booleano
Precompilato: false
Valore predefinito: false

Se non vuoi che il controller MetalLB assegni automaticamente gli indirizzi IP da questo pool ai servizi, imposta questo valore su true. Uno sviluppatore può quindi creare un servizio di tipo LoadBalancer e specificare manualmente uno degli indirizzi del pool.

In caso contrario, impostalo su false.

Esempio:

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

enableDataplaneV2

Mutabile (sono consentiti valori da false a true)
Booleano
Precompilato: true
Valore predefinito: false

Questo campo controlla l'interfaccia di rete del contenitore (CNI) utilizzata dal cluster. Per utilizzare Controlplane V2, è necessario abilitare Dataplane V2. Puoi cambiare il campo da false a true per attivare Dataplane V2, ma la disattivazione di Dataplane V2 non è consentita.

I vantaggi di Dataplane V2 includono:

  • Dataplane V2 offre un'interfaccia CNI (Container Network Interface) più avanzata e capace rispetto all'opzione CNI precedente, Calico. Calico è in modalità di manutenzione, il che significa che riceve solo correzioni di bug e aggiornamenti della sicurezza critici, ma non lo sviluppo di nuove funzionalità. Al contrario, Dataplane V2 viene sviluppato e migliorato attivamente, per garantirti l'accesso alle ultime innovazioni e funzionalità di rete.

  • Dataplane V2 è il CNI preferito per GKE e altri prodotti Google Distributed Cloud.

Invariabile
Booleano
Precompilato: true
Valore predefinito: false

Se vuoi attivare Dataplane V2 o se vuoi utilizzare Control plane V2, imposta questo valore su true. In caso contrario, impostalo su false.

Ti consigliamo di attivare Dataplane V2.

Esempio:

  enableDataplaneV2: true

Per la procedura di risoluzione dei problemi, consulta Risolvere i problemi relativi a NFS e DataPlane v2 di Google Distributed Cloud.

dataplaneV2.forwardMode

Mutevole
Stringa
Valori possibili: "snat", "dsr"
Precompilato: "snat"
Valore predefinito: "snat"

La modalità di inoltro per un cluster in cui è abilitato Dataplane V2.

Con la modalità di Network Address Translation dell'origine (SNAT), un pacchetto viene sottoposto a SNAT quando viene inoltrato da un nodo del bilanciatore del carico a un pod di backend. Il pod non può vedere l'indirizzo IP di origine originale e il pacchetto di ritorno deve passare attraverso il nodo del bilanciatore del carico.

Con la modalità DSR (Direct Server Return), un pacchetto mantiene il suo indirizzo IP di origine originale quando viene inoltrato da un nodo del bilanciatore del carico a un pod di backend. Il pod può vedere l'indirizzo IP di origine originale e il pacchetto di ritorno va direttamente al client senza passare per il nodo del bilanciatore del carico.

Esempio:

dataplaneV2:
  forwardMode: "dsr"

multipleNetworkInterfaces

Immutabile
Booleano
Precompilato: false
Valore predefinito: false

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, questo campo deve essere false.

Se vuoi abilitare più interfacce di rete per i pod, imposta questo valore su true.

Per ulteriori informazioni, consulta la pagina Configurare più interfacce di rete per i pod.

Esempio:

multipleNetworkInterfaces: true

advancedNetworking

Booleano
non modificabile
Precompilato: false
Valore predefinito: false

Se prevedi di creare un gateway NAT in uscita, impostalo su true. In caso contrario, impostalo su false.

Se imposti questo campo su true, devi impostare anche enableDataplaneV2 su true.

Esempio:

advancedNetworking: true

disableBundledIngress

Imposta questo valore su true se vuoi disattivare l'ingresso in bundle per il cluster. In caso contrario, impostalo su false.

Booleano
Mutabile
Precompilato: false
Valore predefinito: false

Esempio:

disableBundledIngress: true

storage.vSphereCSIDisabled

Se vuoi disattivare il deployment dei componenti vSphere CSI, imposta questo valore su true. In caso contrario, impostalo su false.

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, questo campo deve essere true.

Mutevole
Booleano
Precompilato: false
Valore predefinito: false

Esempio:

storage:
  vSphereCSIDisabled: false

masterNode

Questa sezione contiene informazioni sui nodi che fungono da nodi del piano di controllo per questo cluster utente.

masterNode.cpus

Numerico
mutabile
Precompilato: 4
Valore predefinito: 4

Il numero di CPU per ogni nodo che funge da control plane per questo cluster utente.

Esempio:

masterNode:
  cpus: 8

masterNode.memoryMB

Mutevole
Numero intero
Precompilato: 8192
Valore predefinito: 8192

La quantità di mebibyte di memoria per ogni nodo che funge da control plane per questo cluster utente. Deve essere un multiplo di 4.

Esempio:

masterNode:
  memoryMB: 8192

Nota:questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 byte.

masterNode.replicas

Immutabile
Numero intero
Valori possibili: 1 o 3
Precompilato: 1
Valore predefinito: 1

Il numero di nodi del piano di controllo per questo cluster utente. Questo numero non può essere modificato dopo aver creato il cluster. Se vuoi aggiornare il numero di repliche in un secondo momento, devi ricreare il cluster utente.

Se è configurato infraConfigFilePath, devi impostare questo campo su 3. Con i domini di topologia sono supportati solo i cluster utente HA.

Esempio:

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Mutevole
Booleano
Precompilato: false
Valore predefinito: false

Imposta questo valore su true per abilitare il ridimensionamento automatico dei nodi del piano di controllo per il cluster utente. In caso contrario, impostalo su false.

Per ulteriori informazioni, consulta Abilitare il ridimensionamento dei nodi per i nodi del piano di controllo di un cluster utente.

Esempio:

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi l'intera sezione.

masterNode.vsphere.datastore

Facoltativo
Stringa
invariabile
Valore predefinito: il valore di vCenter.datastore

Il datastore in cui verranno creati i nodi del piano di controllo per questo cluster utente.

Il valore specificato deve essere un nome, non un percorso. Non includere cartelle nel valore.

Esempio:

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

Se specifichi un valore per questo campo, non specificare un valore per masterNode.vsphere.storagePolicyName. Il campo masterNode.vsphere.datastore è immutabile, tranne quando lo imposti su una stringa vuota durante la migrazione di un data store a Storage Policy Based Management (SPBM).

masterNode.vsphere.storagePolicyName

Facoltativo
Stringa
invariabile
Valore predefinito: il valore di vCenter.storagePolicyName

Il nome di un criterio di archiviazione VM per i nodi del piano di controllo.

Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.

Esempio:

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

Se specifichi un valore per questo campo, non specificare un valore per masterNode.vsphere.datastore.

masterNode.topologyDomains

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione (che attiva i domini di topologia), se vuoi puoi includere questo campo.

Array di stringhe | ma è supportato un solo elemento
Immutabile
Valore predefinito: vSphereInfraConfig.defaultTopologyDomain se specificato nel file di configurazione dell'infrastruttura vSphere

I nodi del control plane del cluster utente sono distribuiti nei domini di topologia specificati in questo campo.

Non disponibile.

nodePools

Obbligatorio
Modificabile
Array di oggetti, ognuno dei quali descrive un pool di nodi.

Per scoprire di più, consulta la pagina Creare e gestire i pool di nodi.

nodePools[i].name

Stringa

obbligatoria immutabile

Un nome scelto da te per il node pool. Il nome deve:

  • Deve contenere al massimo 40 caratteri.
  • Deve contenere solo caratteri alfanumerici minuscoli o un trattino (-).
  • Deve iniziare con un carattere alfabetico
  • Deve terminare con un carattere alfanumerico

Esempio:

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

nodePools[i].gkeOnPremVersion

Quando esegui l'upgrade di un cluster utente, puoi specificare che i pool di nodi selezionati rimangano nella versione precedente.

Se vuoi che questo node pool rimanga nella versione precedente, impostalo sulla versione precedente. In caso contrario, rimuovi questo campo o impostalo sulla stringa vuota. Per ulteriori informazioni, consulta Eseguire l'upgrade di un cluster di utenti.


Stringa
mutabile
Valore predefinito: il cluster gkeOnPremVersion

Esempio:

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

nodePools[i].cpus

Obbligatorio
Numero
intero
modificabile
Precompilato: 4

Il numero di vCPU per ogni nodo nel pool.

Esempio:

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

nodePools[i].memoryMB

Obbligatorio
Numerico
mutabile
Precompilato: 8192

La quantità di mebibyte di memoria per ogni nodo nel pool. Deve essere un multiplo di 4.

Esempio:

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

Nota:questo campo specifica il numero di mebibyte di memoria, non il numero di megabyte. Un mebibyte corrisponde a 2^20 = 1.048.576 byte. Un megabyte corrisponde a 10^6 = 1.000.000 byte.

nodePools[i].replicas

Obbligatorio
Mutabile
Intero
Precompilato: 3
Valori possibili: il numero totale di nodi non compromessi in tutti i node pool del cluster deve essere almeno 3.

Il numero di nodi nel pool.

Esempio:

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

nodePools[i].bootDiskSizeGB

Mutevole
Numero
Precompilato: 40
Valore predefinito: 40

La dimensione del disco di avvio in gibibyte per ogni nodo nel pool.

Esempio:

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

nodePools[i].osImageType

Mutevole
Stringa
Possibili valori: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2", "windows"
Precompilato: "ubuntu_cgv2"
Valore predefinito: "ubuntu_containerd"

Il tipo di immagine del sistema operativo da eseguire sulle VM nel node pool.

Se crei il cluster con enableAdvancedCluster impostato su true (obbligatorio per la configurazione dei domini di topologia), sono supportati solo ubuntu-cgroupv2 e ubuntu_containerd.

Esempio:

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

nodePools[i].osImage

Obbligatorio se nodePools[i].osImageType = windows
Stringa
mutevole

Il nome di un modello di VM Windows. Il modello deve essere basato su un'immagine ISO di Windows Server 2019 con il tag regione/lingua en-US.

Per ulteriori informazioni, consulta la Guida dell'utente per i pool di nodi del sistema operativo Windows Server.

nodePools[i].labels

Mappatura
modificabile

Etichette da applicare a ogni oggetto Node Kubernetes nel pool.

Esempio:

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

Per motivi di sicurezza, kubelet non può applicare etichette a se stesso in determinati spazi dei nomi.

Gli spazi dei nomi delle etichette dei nodi riservati sono : kubernetes.io, k8s.io, googleapis.com.

nodePools[i].taints

Mutabile
Array di oggetti, ognuno dei quali descrive un contaminante Kubernetes applicato a ogni nodo del pool. Le contaminazioni sono coppie chiave-valore associate a un effect. Le incompatibilità vengono utilizzate con le tolleranze per la pianificazione dei pod. Specifica uno dei seguenti valori per effect: NoSchedule, PreferNoSchedule, NoExecute.

Esempio:

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

nodePools[i].vsphere

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione, rimuovi tutti i campi nella sezione nodePools[i].vsphere, ad eccezione di nodePools[i].vsphere.tags.

nodePools[i].vsphere.datastore


Stringa
modificabile
Valore predefinito: il valore di vCenter.datastore

Il nome del datastore vCenter in cui verranno creati i nodi.

Esempio:

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

Se specifichi un valore per questo campo, non specificare un valore per nodePools[i].vsphere.storagePolicyName.

nodePools[i].vsphere.storagePolicyName


Stringa
modificabile
Valore predefinito: il valore di vCenter.storagePolicyName

Il nome di un criterio di archiviazione VM per i nodi del pool.

Per ulteriori informazioni, consulta Configurare un criterio di archiviazione.

Esempio:

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

Se specifichi un valore per questo campo, non specificare un valore per nodePools[i].vsphere.datastore.

nodePools[i].vsphere.hostgroups

Compila questa sezione se vuoi configurare il cluster in modo che utilizzi l'affinità VM-host.

Array di stringhe
immutabile, ognuna delle quali è il nome di un gruppo DRS host.

L'array può avere un solo elemento.

Esempio:

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

nodePools[i].vsphere.tags

Mutevole
Array di oggetti, ognuno dei quali descrive un tag vSphere da posizionare sulle VM nel pool di nodi.

Ogni tag ha una categoria e un nome.

Esempio:

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

Se vuoi associare tag a tutte le VM in un pool di nodi, il tuo account utente vCenter deve disporre di questi privilegi di tagging vSphere:

  • Tagging vSphere.Assegna o annulla l'assegnazione del tag vSphere
  • Tagging vSphere.Assegna o annulla l'assegnazione del tag vSphere all'oggetto (vSphere 7)

nodePools[i].autoscaling

Modificabile

Se vuoi attivare la scalabilità automatica per il pool di nodi, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

nodePools[i].autoscaling.minReplicas

Mutabile
Numero intero
Valori possibili: maggiore o uguale a 1
Precompilato: 0

Il numero minimo di nodi che il gestore della scalabilità automatica può impostare per il pool.

Esempio:

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

nodePools[i].autoscaling.maxReplicas

Mutevole
Numero intero
Precompilato: 0

Il numero massimo di nodi che lo scalatore può impostare per il pool.

Esempio:

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

nodePools[i].enableLoadBalancer

Rilevante se loadBalancer.kind = "MetalLB"
Mutabile
Booleano
Precompilato: true
Valore predefinito: false

Imposta questo valore su true se vuoi consentire all'oratore MetalLB di funzionare sui nodi nel pool. In caso contrario, impostalo su false.

Se crei il cluster con enableAdvancedCluster impostato su true, questo campo non ha alcun effetto perché lo speaker MetalLB verrà sempre eseguito sui nodi del piano di controllo del cluster utente.

Per ulteriori informazioni, consulta Bilanciamento del carico in bundle con MetalLB.

Esempio:

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

nodePools[i].updateStrategy.rollingUpdate.maxSurge

Anteprima
Numero
mutabile
Valore predefinito: 1

Il numero massimo di macchine nel pool di nodi che possono essere aggiornate contemporaneamente durante un aggiornamento o un upgrade.

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

nodePools[i].topologyDomains

Se infraConfigFilePath è configurato nel file di configurazione del cluster di amministrazione (che attiva i domini di topologia), se vuoi puoi includere questo campo.

Array di stringhe | ma è supportato un solo elemento
Immutabile
Valore predefinito: vSphereInfraConfig.defaultTopologyDomain se specificato nel file di configurazione dell'infrastruttura vSphere

I nodi in questo pool di nodi verranno inseriti nel dominio di topologia specificato da questo campo. Per ogni node pool è consentito un solo dominio di topologia. Tutti i nodi di un pool di nodi verranno inseriti in un unico dominio di topologia.

Non disponibile.

antiAffinityGroups.enabled

Mutevole
Booleano
Precompilato: true
Valore predefinito: true

Se enableAdvancedCluster è impostato su true (obbligatorio per i domini di topologia), imposta antiAffinityGroups.enabled su false.

Se questo campo è true, Google Distributed Cloud crea regole anti-affinità Distributed Resource Scheduler (DRS) di VMware per i nodi del cluster utente, in modo da distribuirli su almeno tre host ESXi fisici nel data center

Questa funzionalità richiede che l'ambiente vSphere soddisfi le seguenti condizioni:

  • VMware DRS è abilitato. VMware DRS richiede la versione della licenza vSphere Enterprise Plus.

  • Il tuo account utente vSphere dispone del privilegio Host.Inventory.Modify cluster.

  • Sono disponibili almeno quattro host ESXi.

Anche se la regola richiede che i nodi del cluster siano distribuiti su tre host ESXi, ti consigliamo vivamente di avere almeno quattro host ESXi disponibile.

Ricorda che se hai una licenza vSphere Standard, non puoi attivare VMware DRS.

Se non hai attivato DRS o se non disponi di almeno quattro host su cui pianificare le VM vSphere, imposta antiAffinityGroups.enabled su false.

Esempio:

antiAffinityGroups:
  enabled: false

enableVMTracking

Anteprima
Impossibile modificare
Precompilato: false

Imposta questo valore su true per attivare il monitoraggio delle VM con i tag vSphere. In caso contrario, impostalo su false.

Per ulteriori informazioni, consulta Attivare il monitoraggio delle VM.

Esempio:

enableVMTracking: true

nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate

Mutabile
Numero intero
Valori possibili: 0 o 1
Precompilato: 0 Valore predefinito: DA FARE: RECENSORI: QUESTO HA UN VALORE PREDEFINITO?

Il numero di pool di nodi da aggiornare contemporaneamente. Un valore 1 specifica che è possibile aggiornare un solo pool di nodi alla volta. Un valore 0 specifica che è possibile aggiornare un numero illimitato di node pool alla volta.

Esempio:

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge

Anteprima
Numero
mutabile
Valore predefinito: 1

Il numero massimo di macchine in un node pool che possono essere aggiornate contemporaneamente durante un aggiornamento o un upgrade. Si applica a qualsiasi pool di nodi che non specifica la propria strategia di aggiornamento.

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

authentication

Questa sezione contiene informazioni su come vengono autenticati e autorizzati gli utenti del cluster.

authentication.oidc

Non utilizzare questa sezione. Dopo la creazione del cluster, modifica la risorsa personalizzata ClientConfig come descritto in Configurazione dei cluster per Anthos Identity Service con OIDC .

authentication.sni

Se vuoi fornire un certificato di pubblicazione aggiuntivo per il server API Kubernetes del cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

authentication.sni.certPath

Stringa

Il percorso di un certificato di servizio per il server API Kubernetes.

Esempio:

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

authentication.sni.keyPath


Stringa facoltativa

Il percorso del file della chiave privata del certificato.

Esempio:

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

gkeConnect

Obbligatorio
Immutabile

Questa sezione contiene informazioni sul progetto e sull'account di servizio Google Cloud che vuoi utilizzare per registrare il tuo cluster a un Google Cloud fleet.

gkeConnect.projectID

Stringa

obbligatoria immutabile

L'ID del progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve essere uguale a quello impostato in stackdriver.projectID e cloudAuditLogging.projectID. Se gli ID progetto non sono uguali, la creazione del cluster non va a buon fine. Questo requisito non si applica ai cluster esistenti.

Esempio:

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

gkeConnect.location


Stringa
non modificabile
Valore predefinito: globale

L'appartenenza al parco risorse di ogni cluster è gestita dal servizio Fleet (gkehub.googleapis.com) e dal servizio Connect (gkeconnect.googleapis.com). La posizione dei servizi può essere globale o regionale. In 1.28 e versioni successive, puoi specificare facoltativamente la Google Cloud regione in cui vengono eseguiti i servizi Fleet e Connect. Se non specificato, vengono utilizzate le istanze globali dei servizi. Tieni presente quanto segue:

  • I cluster utente creati prima della versione 1.28 sono gestiti dai servizi globali Fleet e Connect.

  • I nuovi cluster creati utilizzando i client dell'API GKE On-Prem (console Google Cloud, Google Cloud CLI o Terraform) utilizzano la stessa regione specificata per l'API GKE On-Prem.

  • Per i nuovi cluster, se includi questo campo, la regione specificata deve essere uguale a quella configurata in cloudAuditLogging.clusterLocation, stackdriver.clusterLocation e gkeOnPremAPI.location. Se le regioni non sono uguali, la creazione del cluster non va a buon fine.

Esempio:

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Stringa

mutabile obbligatoria

Il percorso del file della chiave JSON per il tuo account di servizio connect-register.

Per aggiornare il valore di questo campo, utilizza gkectl update cluster.

Per informazioni su come modificare la chiave del service account connect-register, consulta la sezione Ruotare le chiavi dell'account di servizio.

Esempio:

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

gkeConnect.registerServiceAccountKey.secretRef.version

Mutevole
Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account di servizio connect-register.

Esempio:

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

In 1.16 e versioni successive, se l'API GKE On-Prem è abilitata nel progetto Google Cloud, tutti i cluster del progetto vengono registrati nell'API GKE On-Prem automaticamente nella regione configurata in stackdriver.clusterLocation.

  • Se vuoi registrare tutti i cluster del progetto nell'API GKE On-Prem, assicurati di svolgere i passaggi descritti in Prima di iniziare per attivare e utilizzare l'API GKE On-Prem nel progetto.

  • Se non vuoi registrare il cluster nell'API GKE On-Prem, includi questa sezione e imposta gkeOnPremAPI.enabled su false. Se non vuoi registrare cluster nel progetto, disattiva gkeonprem.googleapis.com (il nome del servizio per l'API GKE On-Prem) nel progetto. Per istruzioni, vedi Disattivare i servizi.

La registrazione del cluster utente nell'API GKE On-Prem ti consente di utilizzare gli strumenti standard, ovvero la console Google Cloud, Google Cloud CLI e Terraform, per gestire il ciclo di vita del cluster. Inoltre, la registrazione del cluster ti consente di utilizzare la console o l'interfaccia a riga di comando gcloud per visualizzarne i dettagli. Ad esempio, puoi eseguire comandi gcloud per ottenere informazioni sul cluster di utenti.

Dopo aver aggiunto questa sezione e creato o aggiornato il cluster, se successivamenterimuovi la sezione e aggiorni il cluster, l'aggiornamento non andrà a buon fine.

gkeOnPremAPI.enabled


Booleano mutabile
Valore predefinito: true

Per impostazione predefinita, il cluster è registrato nell'API GKE On-Prem se l'API GKE On-Prem è abilitata nel progetto. Imposta false se non vuoi registrare il cluster.

Dopo aver registrato il cluster nell'API GKE On-Prem, se devi annullarne la registrazione, apporta la seguente modifica e poi aggiorna il cluster:

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Valore predefinito

stackdriver.clusterLocation: stackdriver.clusterLocation

La Google Cloud regione in cui viene eseguita l'API GKE On-Prem e in cui vengono archiviati i metadati del cluster. Scegli una delle regioni supportate. Devi utilizzare la stessa regione configurata in gkeConnect.location, stackdriver.clusterLocation e cloudAuditLogging.clusterLocation. Se gkeOnPremAPI.enabled è false, non includere questo campo.

stackdriver

Obbligatorio per impostazione predefinita
Mutabile

Se vuoi attivare Cloud Logging e Cloud Monitoring per il tuo cluster, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

Questa sezione è obbligatoria per impostazione predefinita. In altre parole, se non includi questa sezione, devi includere il flag --skip-validation-stackdriver quando esegui gkectl create cluster.

Questa sezione è obbligatoria se vuoi gestire il ciclo di vita del cluster utente utilizzando i client dell'API GKE On-Prem.

stackdriver.projectID

Obbligatorio per Logging e Monitoring
Stringa
non modificabile

L'ID del progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve essere uguale a quello impostato in gkeConnect.projectID e cloudAuditLogging.projectID. Se gli ID progetto non sono uguali, la creazione del cluster non va a buon fine. Questo requisito non si applica ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per instradare i log in bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, consulta la sezione Destinazioni supportate.

Esempio:

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

stackdriver.clusterLocation

Obbligatorio per il logging e il monitoraggio
Stringa
invariabile
Precompilato: "us-central1"

La Google Cloud regione in cui vuoi instradare e archiviare le metriche di Cloud Monitoring. Ti consigliamo di scegliere una regione vicino al tuo data center on-premise.

Devi specificare il routing e la posizione di archiviazione dei log di Cloud Logging nella configurazione del router dei log. Per ulteriori informazioni sul routing dei log, consulta la panoramica su routing e archiviazione.

L'operatore Stackdriver (stackdriver-operator) associa il valore di questo campo a ogni voce di log e metrica prima che vengano inoltrate a Google Cloud. Queste etichette allegate possono essere utili per filtrare i log e le metriche rispettivamente in Log Explorer e Metrics Explorer.

Per i nuovi cluster, se includi le sezioni gkeOnPremAPI e cloudAuditLogging nel file di configurazione, la regione impostata qui deve essere la stessa impostata in gkeConnect.location, gkeOnPremAPI.location e cloudAuditLogging.clusterLocation. Se le regioni non sono uguali, la creazione del cluster non riesce.

Esempio:

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Immutabile
Booleano
Precompilato: false

Se la rete del cluster è controllata da un VPC, imposta questo valore su true. In questo modo, tutta la telemetria viene inoltrata tramite gli indirizzi IP soggetti a limitazioni di Google. In caso contrario, impostalo su false.

Esempio:

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Obbligatorio per Logging e monitoraggio
Stringa
mutabile

Il percorso del file della chiave JSON per l'account di servizio di monitoraggio e generazione di log.

Per aggiornare il valore di questo campo, utilizza gkectl update cluster.

Per informazioni su come modificare la chiave dell'account di servizio per il monitoraggio e la registrazione, consulta la sezione Ruotare le chiavi dell'account di servizio.

Esempio:

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

stackdriver.serviceAccountKey.secretRef.version

Mutevole
Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account del servizio di monitoraggio del logging.

Esempio:

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

Mutevole
Booleano
Precompilato: false
Valore predefinito: false

Imposta questo valore su true per disattivare la raccolta delle metriche da vSphere. In caso contrario, impostalo su false.

Esempio:

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Questa funzionalità di anteprima è deprecata e non deve essere utilizzata per i nuovi cluster. Ti consigliamo invece di utilizzare la dashboard predefinita Misurazione dell'utilizzo del cluster Anthos per comprendere l'utilizzo delle risorse a diversi livelli.

Sebbene i cluster esistenti che utilizzano questa funzionalità continueranno a funzionare, puoi anche utilizzare la misurazione dell'utilizzo del cluster Anthos.

Anteprima
Impossibile modificare

Questa funzionalità di anteprima è deprecata nella versione 1.30 e ti consigliamo di non utilizzarla per i nuovi cluster. Ti consigliamo invece di utilizzare la dashboard predefinita Misurazione dell'utilizzo del cluster Anthos per comprendere l'utilizzo delle risorse a diversi livelli.

Sebbene i cluster esistenti che utilizzano questa funzionalità continueranno a funzionare, puoi anche utilizzare la misurazione dell'utilizzo del cluster Anthos.

usageMetering.bigQueryProjectID

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Stringa
non modificabile

L'ID del progetto Google Cloud in cui vuoi archiviare i dati di misurazione dell'utilizzo.

Esempio:

usageMetering:
bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Stringa
non modificabile

L'ID del set di dati BigQuery in cui vuoi archiviare i dati di misurazione dell'utilizzo. Esempio:

usageMetering:
bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Stringa
non modificabile.

Il percorso del file della chiave JSON per il tuo account di servizio BigQuery.

Per aggiornare il valore di questo campo, utilizza gkectl update cluster.

Per informazioni su come modificare la chiave dell'account di servizio BigQuery, consulta Ruotare le chiavi dell'account di servizio.

Esempio:

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

usageMetering.bigQueryServiceAccountKey.secretRef.version

Mutevole
Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account di servizio BigQuery.

Esempio:

gkeConnect:
bigQueryServiceAccountKey:
  secretRef:
    version: "1"

usageMetering.enableConsumptionMetering

Anteprima
Obbligatorio per la misurazione dell'utilizzo
Impossibile da modificare
Booleano
Precompilato: false

Imposta questo valore su true se vuoi attivare la misurazione in base al consumo. In caso contrario, imposta questo valore su false.

Esempio:

usageMetering:
enableConsumptionMetering: true

cloudAuditLogging

Se vuoi integrare gli audit log del server API Kubernetes del tuo cluster con gli audit log di Cloud, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

cloudAuditLogging.projectID

Obbligatorio per Cloud Audit Logs
Stringa
non modificabile

L'ID del progetto host del parco risorse. Per i nuovi cluster, questo ID progetto deve essere uguale a quello impostato in gkeConnect.projecID e stackdriver.projectID. Se gli ID progetto non sono uguali, la creazione del cluster non va a buon fine. Questo requisito non si applica ai cluster esistenti.

Se necessario, puoi configurare un router dei log in questo progetto per instradare i log in bucket di log di un altro progetto. Per informazioni su come configurare il router dei log, consulta la sezione Destinazioni supportate.

Esempio:

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

cloudAuditLogging.clusterLocation

Obbligatorio per Cloud Audit Logs
Stringa
non modificabile

La Google Cloud regione in cui vuoi archiviare gli audit log. È consigliabile scegliere una regione vicina al tuo data center on-premise

Per i nuovi cluster, se includi le sezioni gkeOnPremAPI e stackdriver nel file di configurazione, la regione impostata qui deve essere la stessa impostata in gkeConnect.location, gkeOnPremAPI.location e stackdriver.clusterLocation. Se le regioni non sono uguali, la creazione del cluster non va a buon fine.

Esempio:

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obbligatorio per Cloud Audit Logs
Stringa
mutabile

Il percorso del file della chiave JSON per l'account di servizio di registrazione degli audit.

Se crei il cluster con enableAdvancedCluster impostato su true (obbligatorio per la configurazione dei domini di topologia), imposta cloudAuditLogging.serviceAccountKeyPath sullo stesso percorso di stackdriver.serviceAccountKeyPath.

Per aggiornare il valore di questo campo, utilizza gkectl update cluster.

Per informazioni su come modificare la chiave dell'account di servizio per la registrazione di controllo, consulta Eseguire la rotazione delle chiavi dell'account di servizio.

Esempio:

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

cloudAuditLogging.serviceAccountKey.secretRef.version

Mutevole
Stringa
Valori possibili: una stringa di numeri interi o "latest"
Valore predefinito: "latest"

La versione di un secret preparato nel cluster di amministrazione che contiene una chiave JSON per il tuo account del servizio di log di controllo.

Esempio:

cloudAuditLogging:
  serviceAccountKey:
    secretRef:
      version: "1"

autoRepair.enabled

Facoltativo
Mutabile
Booleano
Precompilato: true

Imposta questo valore su true per attivare la riparazione automatica dei nodi. In caso contrario, impostalo su false.

Esempio:

autoRepair:
  enabled: true

secretsEncryption

Se vuoi criptare i secret senza la necessità di un KMS (Key Management Service) esterno o altre dipendenze, compila questa sezione. In caso contrario, rimuovi questa sezione o lasciala commentata.

Se crei il cluster con enableAdvancedCluster impostato su true (obbligatorio per la configurazione dei domini di topologia), rimuovi questa sezione. Questa funzionalità non è supportata con i cluster avanzati.

secretsEncryption.mode

Obbligatorio per la crittografia dei secret
Stringa
non modificabile
Valore possibile: "GeneratedKey"
Precompilato: "GeneratedKey"

La modalità di crittografia del secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obbligatorio per la crittografia dei secret
Mutabile
Intero
Precompilato: 1

Un numero intero a tua scelta da utilizzare per il numero di versione della chiave. Ti consigliamo di iniziare con 1.

Per informazioni su come aggiornare questo campo per un cluster esistente, consulta Crittografia dei secret sempre attivi.

Esempio:

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Mutevole
Booleano
Precompilato: false

Imposta questo valore su true per disattivare la crittografia dei secret. In caso contrario, impostalo su false.

Per informazioni su come aggiornare questo campo per un cluster esistente, consulta Crittografia dei secret sempre attivi.

Esempio:

secretsEncryption:
  generatedKey:
    disabled: false