Fichier de configuration de cluster d'utilisateur 1.30 ou version ultérieure

Ce document décrit les champs du fichier de configuration du cluster utilisateur pour les versions 1.30 et ultérieures de Google Distributed Cloud.

Générer un modèle pour votre fichier de configuration

Si vous avez utilisé gkeadm pour créer le poste de travail administrateur, gkeadm a généré un modèle pour le fichier de configuration de votre cluster d'utilisateur, Par ailleurs, gkeadm renseigne certains champs pour vous.

Si vous n'avez pas utilisé gkeadm pour créer le poste de travail administrateur, vous pouvez utiliser gkectl pour générer un modèle pour le fichier de configuration de votre cluster d'utilisateur.

Pour générer un modèle pour le fichier de configuration de votre cluster d'utilisateur, exécutez la commande suivante :

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

Remplacez les éléments suivants :

OUTPUT_FILENAME : chemin d'accès de votre choix pour le modèle généré. Si vous omettez cette option, gkectl nomme le fichier user-cluster.yaml et le place dans le répertoire actuel.

VERSION : numéro de version souhaité. Exemple : gkectl create-config cluster --gke-on-prem-version=1.10.0-gke.8.

Modèle

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

Champs obligatoires et valeurs par défaut

Si un champ est marqué comme obligatoire, le fichier de configuration doit contenir une valeur pour ce champ.

Certains champs sont obligatoires de manière conditionnelle. Par exemple, loadBalancer.metalLB.addressPools est obligatoire si loadBalancer.kind est égal à MetalLB.

Si une valeur par défaut est indiquée pour un champ, le cluster l'utilisera si vous ne saisissez rien pour le champ. Vous pouvez remplacer une valeur par défaut en saisissant une valeur.

Si un champ n'est pas marqué comme obligatoire et qu'aucune valeur par défaut n'est indiquée, il est facultatif. Vous pouvez le remplir si cela vous semble pertinent, mais vous n'êtes pas obligé de le faire.

Remplir votre fichier de configuration

Dans votre fichier de configuration, saisissez les valeurs des champs comme décrit dans les sections suivantes.

enableAdvancedCluster

Bêta
Facultatif
Immuable
Booléen
Prérempli : faux
Par défaut : faux

Définissez enableAdvancedClusters sur "true" pour activer les clusters avancés. Lorsque cet indicateur est activé, le logiciel Google Distributed Cloud sous-jacent déploie des contrôleurs qui permettent une architecture plus extensible. Activer les clusters avancés vous permet d'accéder à de nouvelles fonctionnalités, comme les domaines de topologie.

Non disponible.

name

Obligatoire
Chaîne

Nom de votre choix pour le cluster d'utilisateur. Ce nom doit :

  • contenir au maximum 40 caractères ;
  • ne contenir que des caractères alphanumériques minuscules ou un trait d'union - ;
  • commencer par un caractère alphabétique ;
  • se terminer par un caractère alphanumérique.

Exemple :

name: "my-user-cluster"

gkeOnPremVersion

Obligatoire
Modifiable
Chaîne

La version de Google Distributed Cloud pour votre cluster d'utilisateur.

Exemple :

gkeOnPremVersion: "1.29.0-gke.1456"

preparedSecrets.namespace

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez ce champ. Sinon, si vous souhaitez utiliser des identifiants préparés, renseignez ce champ.

Immuable
Chaîne
Valeurs possibles : chaîne commençant par "gke-onprem-secrets-"

Nom d'un espace de noms Kubernetes dans le cluster d'administrateur où les secrets préparés sont stockés pour ce cluster d'utilisateur.

Exemple :

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

enableControlplaneV2

Modifiable (de false à true est autorisé)
Booléen
Prérempli: vrai
Par défaut: vrai

Dans la version 1.30 et les suivantes, Controlplane V2 est obligatoire pour les nouveaux clusters d'utilisateurs. Si vous incluez ce champ dans votre fichier de configuration, il doit être défini sur true.

Pour migrer un cluster existant vers Controlplane V2, consultez la section Migrer un cluster d'utilisateurs vers des fonctionnalités recommandées. Une fois la migration vers Controlplane V2 effectuée, vous ne pouvez plus le désactiver.

Avec Controlplane V2, le plan de contrôle d'un cluster d'utilisateur s'exécute sur un ou plusieurs nœuds du cluster d'utilisateur lui-même. Controlplane V2 présente les avantages suivants :

  • Cohérence architecturale entre les clusters d'administrateur et d'utilisateur.

  • Isolement des défaillances Une défaillance du cluster d'administrateur n'affecte pas les clusters d'utilisateur.

  • Séparation opérationnelle La mise à niveau d'un cluster d'administrateur n'entraîne pas de temps d'arrêt pour les clusters d'utilisateur.

  • Séparation des déploiements. Vous pouvez placer les clusters d'administrateur et d'utilisateur dans différents domaines de défaillance ou sites géographiques. Par exemple, un cluster d'utilisateur dans un emplacement périphérique peut se trouver dans un site géographique différent de celui du cluster d'administrateur.

Immuable
Booléen
Prérempli : vrai
Par défaut : vrai

Pour activer Controlplane V2, définissez enableControlplaneV2 sur true ou supprimez le paramètre de votre fichier de configuration de cluster d'utilisateur. Sinon, définissez cette valeur sur false. Avec Controlplane V2, le plan de contrôle d'un cluster d'utilisateur s'exécute sur un ou plusieurs nœuds du cluster d'utilisateur lui-même. Lorsque Controlplane V2 n'est pas activé, le plan de contrôle du cluster d'utilisateur s'exécute dans le cluster d'administrateur.

Nous vous recommandons d'activer Controlplane V2.

Exemple :

enableControlplaneV2: true

vCenter

Cette section contient des informations sur votre environnement vSphere et sur votre connexion au serveur vCenter.

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez l'intégralité de cette section.

Si vous avez inclus la section vCenter dans le fichier de configuration du cluster d'administrateur:

  • Si vous souhaitez qu'un champ de cette section soit identique à celui que vous avez spécifié pour votre cluster d'administrateur, supprimez le champ ou laissez-le en commentaire.

  • Si vous souhaitez qu'un champ soit différent de celui que vous avez spécifié pour votre cluster d'administrateur, renseignez-le ici. Tous les champs que vous remplissez ici dans la section vCenter remplacent les champs correspondants dans le fichier de configuration de votre cluster d'administrateur.

vCenter.address

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Adresse IP ou nom d'hôte de l'instance de vCenter Server que vous souhaitez utiliser pour ce cluster d'utilisateurs.

Pour en savoir plus, consultez la section Rechercher l'adresse de votre serveur vCenter.

Si vous spécifiez une valeur différente de celle de l'instance vCenter Server utilisée par le cluster d'administrateur, Controlplane V2 doit être activé et vous devez fournir des valeurs pour network.vCenter.networkName et tous les champs obligatoires de la section vCenter.

Exemples :

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

vCenter.datacenter

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Chemin relatif d'un centre de données vSphere.

Si vous spécifiez une valeur pour ce champ, vous devez également spécifier :

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

La valeur que vous spécifiez est relative au dossier racine nommé /.

Si votre centre de données se trouve dans le dossier racine, la valeur correspond au nom du centre de données.

Exemple :

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

Sinon, la valeur est un chemin relatif qui inclut un ou plusieurs dossiers, ainsi que le nom du centre de données.

Exemple :

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

vCenter.cluster

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Chemin relatif d'un cluster vSphere qui représente les hôtes ESXi sur lesquels vos VM de cluster d'utilisateur seront exécutées. Ce cluster vSphere représente un sous-ensemble des hôtes ESXi physiques de votre centre de données vCenter.

Si vous spécifiez une valeur pour ce champ, vous devez également spécifier :

  • vCenter.networkName
  • vCenter.datacenter
  • vCenter.datastore ou vCenter.storagePolicyName

La valeur que vous spécifiez est associée à /.../DATA_CENTER/vm/.

Si votre cluster vSphere se trouve dans le dossier /.../DATA_CENTER/vm/, la valeur correspond au nom du cluster vSphere.

Exemple :

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

Sinon, la valeur est un chemin relatif qui inclut un ou plusieurs dossiers, ainsi que le nom du cluster vSphere.

Exemple :

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

vCenter.resourcePool

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Un pool de ressources vCenter pour les VM de votre cluster d'utilisateur.

Si vous souhaitez utiliser le pool de ressources par défaut, définissez cette valeur sur VSPHERE_CLUSTER/Resources.

Exemple :

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

La valeur que vous spécifiez est associée à /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/.

Si votre pool de ressources est un enfant direct de /.../DATA_CENTER/host/.../VSPHERE_CLUSTER/Resources/, la valeur est le nom du pool de ressources.

Exemple :

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

Sinon, la valeur est un chemin relatif comportant au moins deux pools de ressources.

Exemple :

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

vCenter.datastore

Facultatif
Immuable
Chaîne
Par défaut : hériter du cluster d'administrateur

Nom d'un datastore vSphere pour votre cluster d'utilisateur.

La valeur que vous spécifiez doit être un nom, et non un chemin d'accès. N'incluez aucun dossier dans la valeur.

Exemple :

vCenter:
  datastore: "my-datastore"

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour vCenter.storagePolicyName. Le champ vCenter.datastore est immuable, sauf lorsque vous définissez le champ sur une chaîne vide lorsque vous migrez un datastore vers Storage Policy Based Management (SPBM).

vCenter.storagePolicyName

Facultatif
Immuable
Chaîne

Nom d'une règle de stockage de VM pour les nœuds du cluster.

Vous pouvez également spécifier une règle de stockage de VM pour les nœuds d'un pool de nœuds particulier. Toutefois, la règle spécifiée ici s'applique à tout pool de nœuds qui ne dispose pas de sa propre règle.

Pour en savoir plus, consultez la page Configurer une règle de stockage.

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour vCenter.datastore.

vCenter.caCertPath

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Chemin d'accès du certificat CA de votre serveur vCenter. Pour en savoir plus, consultez la section Obtenir votre certificat CA vCenter.

Exemple :

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

Pour en savoir plus sur la mise à jour de ce champ, consultez la section Mettre à jour les références de certificats vCenter.

vCenter.credentials.fileRef.path

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Si vous indiquez une valeur pour preparedSecrets.namespace, ne renseignez pas ce champ. Fournissez plutôt une valeur pour vCenter.credentials.secretRef.version.

Chemin d'accès d'un fichier de configuration des identifiants contenant le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter. Le compte utilisateur doit disposer du rôle d'administrateur ou de privilèges équivalents. Consultez les exigences concernant vSphere.

Vous pouvez utiliser gkectl update credentials pour mettre à jour ce champ dans un cluster existant. Pour en savoir plus, consultez la page Effectuer une rotation des clés de compte de service.

Pour en savoir plus sur la mise à jour de vos identifiants vCenter, consultez la page Mettre à jour les identifiants du cluster.

Exemple :

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

vCenter.credentials.fileRef.entry

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte utilisateur vCenter.

Exemple :

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

vCenter.credentials.secretRef.version

Chaîne
Valeurs possibles: chaîne d'entiers ou "latest"
Valeur par défaut: "latest"

Si vous indiquez une valeur pour preparedSecrets.namespace, renseignez ce champ. Sinon, supprimez cette section ou laissez-la en commentaire.

Version d'un secret préparé dans le cluster d'administrateur qui contient le nom d'utilisateur et le mot de passe de l'instance de vCenter Server que vous souhaitez utiliser pour ce cluster d'utilisateur.

Exemple :

vCenter:
  credentials:
    secretRef:
      version: "1"

vCenter.folder

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Chemin relatif d'un dossier vSphere que vous avez déjà créé. Ce dossier contiendra les VM de votre cluster d'utilisateur.

Si vous ne spécifiez pas de valeur, les VM de votre cluster d'utilisateur seront placées dans /.../DATA_CENTER/vm/.

Si vous spécifiez une valeur, elle est associée à /.../DATA_CENTER/vm/.

La valeur peut être le nom d'un dossier.

Exemple :

vCenter:
  folder: "my-uc-folder"

La valeur peut également être un chemin relatif incluant plusieurs dossiers.

Exemple :

vCenter:
  folder: "folders/folder-2"

componentAccessServiceAccountKeyPath

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Chemin d'accès au fichier de clé JSON de votre compte de service d'accès au composant.

Exemple :

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

componentAccessServiceAccountKey.secretRef.version

Modifiable
Chaîne
Valeurs possibles : une chaîne d'entiers ou "latest"
Valeur par défaut : "latest"

Version d'un secret préparé dans le cluster d'administrateur qui contient une clé JSON pour votre compte de service d'accès aux composants.

Exemple :

componentAccessServiceAccountKey:
  secretRef:
    version: "1"

privateRegistry

Remplissez cette section si votre cluster d'administrateur utilise un registre de conteneurs privé et que vous souhaitez que votre cluster utilisateur utilise un autre registre privé ou des paramètres différents. Si vous souhaitez utiliser une autre adresse de registre privé, Controlplane V2 doit être activé sur votre cluster. Les nouveaux paramètres sont repris lors de la création et de la mise à jour du cluster.

Si vous souhaitez utiliser les mêmes paramètres que le cluster d'administrateur, supprimez cette section ou laissez-la en commentaire.

privateRegistry.address

Immuable
Chaîne
Par défaut : hérite du cluster d'administrateur

Adresse IP ou nom de domaine complet de la machine qui exécute votre registre Docker privé.

Exemples :

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

privateRegistry.credentials.fileRef.path

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Si vous prévoyez d'utiliser un secret préparé pour le registre privé, ne fournissez pas de valeur pour ce champ. Fournissez plutôt une valeur pour privateRegistry.credentials.secretRef.version.

Chemin d'accès d'un fichier de configuration des identifiants contenant le nom d'utilisateur et le mot de passe d'un compte que Google Distributed Cloud peut utiliser pour accéder à votre registre Docker privé.

Exemple :

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

privateRegistry.credentials.fileRef.entry

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte de registre Docker privé.

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

privateRegistry.credentials.secretRef.version

Chaîne
Valeurs possibles: chaîne d'entiers ou "latest"
Valeur par défaut: "latest"

Si vous fournissez une valeur pour preparedSecrets.namespace et que vous souhaitez utiliser un secret préparé pour un registre privé, renseignez ce champ. Sinon, supprimez cette section ou laissez-la en commentaire.

Version d'un secret préparé dans le cluster d'administrateur qui contient le nom d'utilisateur et le mot de passe de l'instance de vCenter Server que vous souhaitez utiliser pour ce cluster d'utilisateur.

Exemple :

privateRegistry:
  credentials:
    secretRef:
      version: "1"

privateRegistry.caCertPath

Modifiable
Chaîne
Par défaut : hérite du cluster d'administrateur

Lorsque Docker extrait une image de votre registre privé, le registre doit prouver son identité en présentant un certificat. Le certificat du registre est signé par une autorité de certification (CA). Docker utilise le certificat de l'autorité de certification pour valider le certificat du registre.

Définissez ce champ sur le chemin d'accès au certificat de l'autorité de certification.

Exemple :

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

network

Cette section contient des informations sur le réseau de votre cluster d'utilisateur.

network.hostConfig

Cette section contient des informations sur les serveurs NTP, les serveurs DNS et les domaines de recherche DNS utilisés par les VM qui sont vos nœuds de cluster.

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur (disponible dans la version 1.31 et versions ultérieures), supprimez l'intégralité de cette section. Sinon, cette section est obligatoire si une ou plusieurs des conditions suivantes sont remplies:

  • La propriété network.ipMode.type est définie sur static.
  • enableControlplaneV2 est définie sur true ou autorisé à adopter par défaut true. Notez que Controlplane V2 est obligatoire pour les nouveaux clusters d'utilisateurs.

Cette section contient des informations sur les serveurs NTP, les serveurs DNS et les domaines de recherche DNS utilisés par les VM qui sont vos nœuds de cluster. Si vous utilisez l'équilibreur de charge Seesaw, ces informations s'appliquent également à vos VM Seesaw.

Cette section est obligatoire si une ou plusieurs des conditions suivantes sont remplies :

  • La propriété network.ipMode.type est définie sur static.
  • enableControlplaneV2 est définie sur true ou autorisé à adopter par défaut true. L'équilibreur de charge Seesaw n'est pas compatible avec les clusters pour lesquels Controlplane V2 est activé.
  • La propriété loadBalancer.kind est définie sur "Seesaw".

network.hostConfig.dnsServers

Obligatoire
Immuable
Tableau de chaînes.
Le nombre maximal d'éléments dans le tableau est de trois.

Adresses des serveurs DNS pour les VM.

Exemple :

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

network.hostConfig.ntpServers

Obligatoire
Immuable
Tableau de chaînes

Adresses des serveurs de temps que les VM utilisent.

Exemple :

network:
  hostConfig:
    ntpServers:
    - "216.239.35.0"

network.hostConfig.searchDomainsForDNS

Immuable
Tableau de chaînes

Domaines de recherche DNS que les hôtes utilisent. Ces domaines sont utilisés dans le cadre d'une liste de recherche de domaines.

Exemple :

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

network.ipMode.type

Immuable
Chaîne
Prérempli: "static"
Par défaut: "dhcp"

Si vous souhaitez que les nœuds de votre cluster obtiennent leur adresse IP à partir d'un serveur DHCP, définissez la valeur sur "dhcp". Si vous souhaitez que les nœuds de votre cluster aient des adresses IP statiques venant d'une liste que vous fournissez, définissez ce paramètre sur "static". Si enableControlplaneV2 est défini sur true, ce paramètre ne s'applique qu'aux nœuds de calcul.

Exemple :

network:
  ipMode:
    type: "static"

network.ipMode.ipBlockFilePath

Ce champ est obligatoire si network.ipMode.type = static ou si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur.

Immuable
Chaîne

Chemin absolu ou relatif du fichier de blocs d'adresses IP de votre cluster.

Exemple :

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

network.serviceCIDR

Immuable
Chaîne
Prérempli : "10.96.0.0/20"
>

Une plage d'adresses IP au format CIDR à utiliser pour les services de votre cluster. Elle doit être au moins égale à /24.

Exemple :

network:
  serviceCIDR: "10.96.0.0/20"

network.podCIDR

Immuable
Chaîne
Prérempli : "192.168.0.0/16"
Par défaut : "192.168.0.0/16"

Une plage d'adresses IP au format CIDR à utiliser pour les pods de votre cluster Elle doit être au moins égale à /18.

Exemple :

network:
  podCIDR: "192.168.0.0/16"

La plage de services ne doit pas chevaucher la plage de pods.

Les plages de services et de pods ne doivent chevaucher aucune adresse en dehors du cluster que vous souhaitez atteindre depuis l'intérieur du cluster.

Par exemple, supposons que votre plage de services soit 10.96.232.0/24 et que votre plage de pods soit 192.168.0.0/16. Tout trafic envoyé depuis un pod vers une adresse dans l'une de ces plages est traité comme étant dans un cluster et n'atteint aucune destination en dehors du cluster.

En particulier, les plages de services et de pods ne doivent pas chevaucher les éléments suivants :

  • Adresses IP des nœuds d'un cluster

  • Adresses IP utilisées par les machines des équilibreurs de charge

  • Adresses IP virtuelles utilisées par les nœuds de plan de contrôle et les équilibreurs de charge

  • Adresse IP des serveurs vCenter, DNS et NTP

Nous vous recommandons de placer vos plages de services et de pods dans l'espace d'adressage RFC 1918.

Voici l'une des raisons pour lesquelles il est recommandé d'utiliser les adresses RFC 1918 Supposons que votre plage de services et de pods contienne des adresses IP externes. Tout trafic envoyé depuis un pod vers l'une de ces adresses externes sera traité comme du trafic interne au cluster et n'atteindra pas la destination externe.

network.vCenter.networkName

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez ce champ. Sinon, ce champ est obligatoire si vCenter.address est différent de l'adresse vCenter que vous utilisez pour le cluster d'administrateur.

Immuable
Chaîne

Nom du réseau vSphere pour les nœuds de votre cluster d'utilisateur.

Exemple :

network:
  vCenter:
    networkName: "my-network"

Si le nom contient un caractère spécial, vous devez utiliser une séquence d'échappement pour celui-ci.

Caractères spéciaux Séquence d'échappement
Barre oblique (/) %2f
Barre oblique inverse (\) %5c
Signe de pourcentage (%) %25

Si le nom du réseau n'est pas unique dans votre centre de données, vous pouvez spécifier un chemin d'accès complet.

Exemple :

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

network.additionalNodeInterfaces

Si vous définissez multipleNetworkInterfaces sur true, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Immuable

Tableau d'objets, chacun décrivant une interface réseau pouvant être utilisée sur tout ou partie des nœuds de votre cluster.

network.additionalNodeInterfaces[i].networkName

Obligatoire si multipleNetworkInterfaces = true
Immuable
Chaîne

Nom du réseau vSphere auquel cette interface de nœud supplémentaire se connectera.

Exemple :

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

network.additionalNodeInterfaces[i].type

Obligatoire si multipleNetworkInterfaces = true
Immuable
Chaîne

Exemple :

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

network.additionalNodeInterfaces[i].ipBlockFilePath

Obligatoire si network.additionalNodeInterfaces[i].type = static
Immuable
Chaîne

Chemin d'accès d'un fichier de bloc d'adresses IP contenant les adresses IP à utiliser pour cette interface réseau sur les nœuds possédant cette interface réseau.

Exemple :

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

network.controlPlaneIPBlock

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez l'intégralité de cette section.

Sinon, l'inclusion de cette section dépend de la valeur définie dans enableControlplaneV2:

  • Si enableControlplaneV2 est défini sur true, remplissez cette section.
  • Si enableControlplaneV2 est défini sur false, supprimez cette section.

network.controlPlaneIPBlock.netmask

Obligatoire si enableControlplaneV2 = true
Immuable
Chaîne

Exemple :

network:
  controlPlaneIPBlock:
    netmask: "255.255.255.0"

network.controlPlaneIPBlock.gateway

Obligatoire si enableControlplaneV2 = true
Immuable
Chaîne

Exemple :

network:
  controlPlaneIPBlock:
    gateway: "172.16.21.1"

network.controlPlaneIPBlock.ips

Obligatoire si enableControlplaneV2 = true
Immuable
Tableau d'objets, chacun ayant une adresse IP et un nom d'hôte facultatif.

Pour un cluster d'utilisateur à haute disponibilité, le tableau comporte trois éléments. Pour un cluster d'utilisateurs standard, le tableau comporte un élément.

Exemple :

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

Cette section contient des informations sur l'équilibreur de charge de votre cluster d'utilisateur.

loadBalancer.vips.controlPlaneVIP

Obligatoire
Immuable
Chaîne

Adresse IP que vous avez choisi de configurer sur l'équilibreur de charge pour le serveur d'API Kubernetes du cluster d'utilisateur.

Exemple :

loadBalancer:
  vips:
    controlplaneVIP: "203.0.113.3"

loadBalancer.vips.ingressVIP

Obligatoire
Immuable
Chaîne

Adresse IP que vous avez choisie de configurer sur l'équilibreur de charge pour le proxy d'entrée.

Exemple :

loadBalancer:
  vips:
    ingressVIP: "203.0.113.4"

loadBalancer.kind

Obligatoire
Immuable
Chaîne
Prérempli : "MetalLB"

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur (disponible dans la version 1.31 et ultérieure), définissez-le sur "ManualLB". Sinon, définissez cette valeur sur "ManualLB" ou "MetalLB".

Utilisez "ManualLB" si vous disposez d'un équilibreur de charge tiers (tel que F5 BIG-IP ou Citrix) ou "MetalLB" pour notre solution groupée.

Bien que vous puissiez mettre à niveau un cluster pour lequel kind est défini sur "F5BigIP" ou "Seesaw", vous ne pouvez pas utiliser Dataplane V2 ni Controlplane V2 sur les clusters existants avec l'une de ces configurations d'équilibreur de charge. Pour en savoir plus sur la migration des configurations d'équilibrage de charge, consultez les articles suivants:

Exemple :

loadBalancer:
  kind: "MetalLB"

Obligatoire
Immuable
Chaîne
Prérempli : "MetalLB"

Définissez ce paramètre sur "ManualLB", "F5BigIP", "Seesaw" ou "MetalLB".

Pour activer Dataplane V2 et Controlplane V2, nous vous recommandons d'utiliser "ManualLB" si vous disposez d'un équilibreur de charge tiers (tel que F5 BIG-IP ou Citrix) ou "MetalLB" pour notre solution groupée.

Exemple :

loadBalancer:
  kind: "MetalLB"

loadBalancer.manualLB

Si vous définissez loadbalancer.kind sur "manualLB", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

loadBalancer.manualLB.ingressHTTPNodePort

Obligatoire si loadBalancer.kind = ManualLB (voir la note de version)
Immuable
Entier
Prérempli: 30243

Le proxy d'entrée d'un cluster d'utilisateur est exposé par un service Kubernetes de type LoadBalancer. Le service dispose d'un ServicePort pour HTTP. Choisissez une valeur nodePort pour le ServicePort HTTP, puis définissez ce champ sur la valeur nodePort.

Remarque sur la version: À partir de la version 1.30, les ports de nœud d'entrée sont facultatifs pour les clusters utilisant Controlplane V2.

Exemple :

loadBalancer:
  manualLB:
    ingressHTTPNodePort: 32527

loadBalancer.manualLB.ingressHTTPSNodePort

Obligatoire si loadBalancer.kind = ManualLB (see Version note)
Immuable
Entier
Prérempli : 30879

Le proxy d'entrée d'un cluster d'utilisateur est exposé par un service de type LoadBalancer. Le service dispose d'un ServicePort pour HTTPS. Choisissez une valeur nodePort pour le ServicePort HTTPS, puis définissez ce champ sur la valeur nodePort.

Remarque sur la version: À partir de la version 1.30, les ports de nœud d'entrée sont facultatifs pour les clusters utilisant Controlplane V2.

Exemple :

loadBalancer:
  manualLB:
    ingressHTTPSNodePort: 30139

loadBalancer.manualLB.controlPlaneNodePort

Obligatoire si loadBalancer.kind = ManualLB et enableControlplaneV2 = false
Immuable
Entier
Prérempli : 30562

Le serveur d'API Kubernetes d'un cluster d'utilisateur s'exécute dans le cluster d'administrateur et est exposé par un service de type LoadBalancer. Vous devez choisir une valeur nodePort pour le service.

Définissez ce champ sur la valeur nodePort.

Exemple :

loadBalancer:
  manualLB:
    controlPlaneNodePort: 30968

loadBalancer.manualLB.konnectivityServerNodePort

Obligatoire si loadBalancer.kind = ManualLB et enableControlplaneV2 = false
Immuable
Entier
Prérempli : 30563

Le serveur d'API Kubernetes d'un cluster utilisateur qui utilise kubeception s'exécute dans le cluster administrateur et est exposé par un service de type LoadBalancer. Le serveur konnectivity réutilise ce service avec une autre valeur nodePort. Vous devez choisir une valeur nodePort pour le serveur Konnectivity.

Définissez ce champ sur la valeur nodePort pour le serveur Ktonctivity.

Exemple :

loadBalancer:
  manualLB:
    konnectivityServerNodePort: 30969

loadBalancer.f5BigIP

Dans la version 1.30 et les versions ultérieures, la valeur "F5BigIP" n'est pas autorisée pour loadbalancer.kind pour les nouveaux clusters d'utilisateurs. Si la section loadBalancer.f5BigIP se trouve dans votre fichier de configuration, supprimez-la ou commentez-la.

Vous pouvez toujours utiliser votre équilibreur de charge F5 BIG-IP avec les nouveaux clusters d'utilisateurs, mais la configuration est différente. Pour obtenir plus de détails sur la configuration, consultez la section Activer le mode d'équilibrage de charge manuel.

Si vous définissez loadbalancer.kind sur "f5BigIP", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Pour activer les nouvelles fonctionnalités avancées, nous vous recommandons de configurer l'équilibrage de charge manuel pour votre équilibreur de charge F5 BIG-IP. Pour activer l'équilibrage de charge manuel, définissez loadbalancer.kind sur "ManualLB" et remplissez la section loadBalancer.manualLB. Pour en savoir plus, consultez la page Activer le mode d'équilibrage de charge manuel.

Si vous disposez d'un équilibreur de charge F5-BIG-IP et que la configuration du cluster utilise cette section, nous vous recommandons de migrer vers l'équilibrage de charge manuel après avoir effectué la mise à niveau vers la version 1.29 ou une version ultérieure.

loadBalancer.f5BigIP.address

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Adresse de votre équilibreur de charge F5 BIG-IP.

Exemple :

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Adresse de votre équilibreur de charge F5 BIG-IP.

Exemple :

loadBalancer:
  f5BigIP:
      address: "203.0.113.2"

loadBalancer.f5BigIP.credentials.fileRef.path

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Chemin d'accès d'un fichier d'identifiants contenant le nom d'utilisateur et le mot de passe d'un compte que Google Distributed Cloud peut utiliser pour se connecter à votre équilibreur de charge F5 BIG-IP.

Le compte utilisateur doit disposer d'un rôle utilisateur possédant des autorisations suffisantes pour configurer et gérer l'équilibreur de charge. Le rôle Administrateur ou Administrateur de ressources est suffisant.

Pour en savoir plus sur la mise à jour de vos identifiants F5 BIG-IP, consultez la page Mettre à jour les identifiants du cluster.

Exemple :

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

Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Chemin d'accès d'un fichier d'identifiants contenant le nom d'utilisateur et le mot de passe d'un compte que Google Distributed Cloud peut utiliser pour se connecter à votre équilibreur de charge F5 BIG-IP.

Le compte utilisateur doit disposer d'un rôle utilisateur possédant des autorisations suffisantes pour configurer et gérer l'équilibreur de charge. Le rôle Administrateur ou Administrateur de ressources est suffisant.

Pour en savoir plus sur la mise à jour de vos identifiants F5 BIG-IP, consultez la page Mettre à jour les identifiants du cluster.

Exemple :

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

loadBalancer.f5BigIP.credentials.fileRef.entry

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte F5 BIG-IP.

Exemple :

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

Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Nom du bloc d'identifiants, dans votre fichier de configuration des identifiants, qui contient le nom d'utilisateur et le mot de passe de votre compte F5 BIG-IP.

Exemple :

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

loadBalancer.f5BigIP.partition

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Nom d'une partition BIG-IP que vous avez créée pour votre cluster d'administrateur.

Exemple :

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

Obligatoire si loadBalancer.kind = "f5BigIP"
Chaîne

Nom d'une partition BIG-IP que vous avez créée pour votre cluster d'administrateur.

Exemple :

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

loadBalancer.f5BigIP.snatPoolName

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = "f5BigIP" et que vous utilisez SNAT
Chaîne

Nom de votre pool SNAT.

Exemple :

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

Obligatoire si loadBalancer.kind = "f5BigIP" et que vous utilisez SNAT
Chaîne

Nom de votre pool SNAT.

Exemple :

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

loadBalancer.seesaw

Dans la version 1.30 et les versions ultérieures, la valeur "Seesaw" n'est pas autorisée pour loadbalancer.kind pour les nouveaux clusters d'utilisateurs, car cet équilibreur de charge n'est pas compatible avec les nouvelles fonctionnalités avancées. Si la section loadBalancer.seesaw se trouve dans votre fichier de configuration, supprimez-la ou commentez-la.

Vous pouvez plutôt configurer l'équilibreur de charge MetalLB groupé. Pour activer l'équilibreur de charge MetalLB, définissez loadbalancer.kind sur "MetalLB" et remplissez la section loadBalancer.metalLB. Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.

Si vous définissez loadbalancer.kind sur "Seesaw", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Notez les limites suivantes avec l'équilibreur de charge SeeSaw :

Pour utiliser ces fonctionnalités, nous vous recommandons de configurer l'équilibreur de charge MetalLB. Pour activer l'équilibreur de charge MetalLB, définissez loadbalancer.kind sur "MetalLB" et remplissez la section loadBalancer.metalLB. Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.

loadBalancer.seesaw.ipBlockFilePath

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = Seesaw
Immuable
Chaîne

Chemin du fichier de bloc d'adresses IP pour vos VM Seesaw.

Exemple :

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

Obligatoire si loadBalancer.kind = Seesaw
Immuable
Chaîne

Chemin du fichier de bloc d'adresses IP pour vos VM Seesaw.

Exemple :

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

loadBalancer.seesaw.vrid

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = Seesaw
Immuable
Entier
Valeurs possibles: 1 à 255
Prérempli: 0

Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant, qui est un entier de votre choix, doit être unique dans un VLAN.

Exemple :

loadBalancer:
  seesaw:
    vrid: 125

Obligatoire si loadBalancer.kind = Seesaw
Immuable
Entier
Valeurs possibles : 1 - 255
Prérempli : 0

Identifiant de routeur virtuel de votre VM Seesaw. Cet identifiant, qui est un entier de votre choix, doit être unique dans un VLAN.

Exemple :

loadBalancer:
  seesaw:
    vrid: 125

loadBalancer.seesaw.masterIP

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = Seesaw
Immuable
Chaîne

Adresse IP virtuelle configurée sur votre VM Seesaw principale.

Exemple :

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

Obligatoire si loadBalancer.kind = Seesaw
Immuable
Chaîne

Adresse IP virtuelle configurée sur votre VM Seesaw principale.

Exemple :

loadBalancer:
  seesaw:
    masterIP: 172.16.20.21

loadBalancer.seesaw.cpus

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = Seesaw
Modifiable
Entier
Prérempli: 4

Nombre de processeurs pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    cpus: 8

Obligatoire si loadBalancer.kind = Seesaw
Modifiable
Entier
Prérempli : 4

Nombre de processeurs pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    cpus: 8

loadBalancer.seesaw.memoryMB

Non autorisé pour les nouveaux clusters
Obligatoire si loadBalancer.kind = Seesaw
Modifiable
Entier
Prérempli: 3072

Nombre de mébioctets de mémoire pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 220, soit 1 048 576 octets. Un mégaoctet est égal à 106, soit 1 000 000 octets.

Obligatoire si loadBalancer.kind = Seesaw
Modifiable
Entier
Prérempli : 3072

Nombre de mébioctets de mémoire pour chacune de vos VM Seesaw.

Exemple :

loadBalancer:
  seesaw:
    memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 220, soit 1 048 576 octets. Un mégaoctet est égal à 106, soit 1 000 000 octets.

loadBalancer.seesaw.vCenter.networkName

Non autorisé pour les nouveaux clusters
Immuable
Chaîne
Par défaut: identique aux nœuds de cluster

Nom du réseau vCenter contenant vos VM Seesaw.

Exemple :

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

Immuable
Chaîne
Par défaut : identique aux nœuds de cluster

Nom du réseau vCenter contenant vos VM Seesaw.

Exemple :

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

loadBalancer.seesaw.enableHA

Non autorisé pour les nouveaux clusters
Immuable
Applicable si loadBalancer.kind = Seesaw
Booléen
Prérempli: faux
Par défaut: faux

Si vous souhaitez créer un équilibreur de charge Seesaw à haute disponibilité, définissez cette valeur sur true. Sinon, définissez cette valeur sur false. Un équilibreur de charge Seesaw à haute disponibilité utilise une paire (maître, sauvegarde) de VM.

Exemple :

loadBalancer:
  seesaw:
    enableHA: true

Immuable
Applicable si loadBalancer.kind = Seesaw
Booléen
Prérempli : faux
Par défaut : faux

Si vous souhaitez créer un équilibreur de charge Seesaw à haute disponibilité, définissez cette valeur sur true. Sinon, définissez cette valeur sur false. Un équilibreur de charge Seesaw à haute disponibilité utilise une paire (maître, sauvegarde) de VM.

Exemple :

loadBalancer:
  seesaw:
    enableHA: true

loadBalancer.seesaw.disableVRRPMAC

Non autorisé pour les nouveaux clusters
Immuable
Applicable si loadBalancer.kind = Seesaw
Booléen
Prérempli: vrai
Par défaut: vrai

Si cette valeur est définie sur true (recommandé), l'équilibreur de charge Seesaw n'utilise pas l'apprentissage MAC pour le basculement. Il utilise le protocole ARP gratuit. Si ce champ est défini sur false, l'équilibreur de charge Seesaw utilise l'apprentissage MAC. Si vous utilisez vSphere 7 ou une version ultérieure, et que vous disposez d'un équilibreur de charge Seesaw à haute disponibilité, ce champ doit être défini sur true.

Exemple :

loadBalancer:
  seesaw:
    disableVRRPMAC: true

Immuable
Applicable si loadBalancer.kind = Seesaw
Booléen
Prérempli : vrai
Par défaut : vrai

Si vous définissez cette valeur sur true (recommandé), l'équilibreur de charge Seesaw n'utilise pas l'apprentissage MAC pour le basculement. Il utilise le protocole ARP gratuit. Si vous définissez cette valeur sur false, l'équilibreur de charge Seesaw utilise l'apprentissage MAC. Si vous utilisez vSphere 7 ou une version ultérieure, et que vous disposez d'un équilibreur de charge Seesaw à haute disponibilité, vous devez définir cette valeur sur true.

Exemple :

loadBalancer:
  seesaw:
    disableVRRPMAC: true

loadBalancer.metalLB

Si vous définissez loadbalancer.kind sur "MetalLB", remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.

loadBalancer.metalLB.addressPools

Obligatoire si loadBalancer.kind = "MetalLB"
Modifiable (voir exception)

Tableau d'objets, chacun contenant des informations sur un pool d'adresses qui sera utilisé par l'équilibreur de charge MetalLB.

Si vous créez le cluster avec enableAdvancedCluster défini sur true, le tableau n'est pas modifiable. Vous pouvez ajouter un ou plusieurs pools d'adresses, mais la suppression d'un ou de plusieurs pools d'adresses d'un tableau de pools d'adresses existant n'est pas prise en charge.

loadBalancer.metalLB.addressPools[i].name

Obligatoire si loadBalancer.kind = MetalLB
Modifiable (voir exception)
Chaîne

Nom de votre choix pour un pool d'adresses.

Si vous créez le cluster avec enableAdvancedCluster défini sur true, le nom n'est pas modifiable. Il n'est pas possible de modifier le nom après la création du cluster.

Exemple :

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

Obligatoire si loadBalancer.kind = MetalLB
Modifiable (voir exception)

Tableau de chaînes, chacune correspondant à une plage d'adresses. Chaque plage doit être au format CIDR ou au format de trait d'union.

Si vous créez le cluster avec enableAdvancedCluster défini sur true, le tableau n'est pas modifiable. Il n'est pas possible de supprimer une adresse (ou plusieurs) d'un pool d'adresses existant, mais vous pouvez en ajouter.

Exemple :

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

Applicable si loadBalancer.kind = MetalLB
Modifiable
Booléen
Prérempli : faux
Par défaut : faux

Si vous définissez cette valeur sur true, le contrôleur MetalLB n'attribue pas les adresses IP se terminant par .0 ou .255 aux services. Cela évite le problème des bugs avec les appareils grand public qui suppriment par erreur le trafic envoyé à ces adresses IP spéciales.

Exemple :

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

Applicable si loadBalancer.kind = MetalLB
Modifiable
Booléen
Prérempli : faux
Par défaut : faux

Si vous ne souhaitez pas que le contrôleur MetalLB attribue automatiquement les adresses IP de ce pool aux services, définissez ce paramètre sur true. Un développeur peut ensuite créer un service de type LoadBalancer et spécifier manuellement l'une des adresses du pool.

Sinon, définissez cette valeur sur false.

Exemple :

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

enableDataplaneV2

Modifiable (de false à true est autorisé)
Booléen
Prérempli: vrai
Par défaut: faux

Ce champ contrôle l'interface réseau de conteneur (CNI) utilisée par le cluster. Vous devez activer Dataplane V2 pour utiliser Controlplane V2. Vous pouvez remplacer false par true dans le champ pour activer Dataplane V2, mais la désactivation de Dataplane V2 n'est pas autorisée.

Dataplane V2 présente les avantages suivants:

  • Dataplane V2 vous offre une interface réseau de conteneur (CNI) plus avancée et plus performante que l'option CNI précédente, Calico. Calico est en mode maintenance, ce qui signifie qu'il ne reçoit que des corrections de bugs critiques et des mises à jour de sécurité, mais aucun nouveau développement de fonctionnalités. À l'inverse, Dataplane V2 est activement développé et amélioré pour vous permettre d'accéder aux dernières innovations et fonctionnalités réseau.

  • Dataplane V2 est le CNI privilégié pour GKE et les autres produits Google Distributed Cloud.

Immuable
Booléen
Prérempli : vrai
Par défaut : faux

Si vous souhaitez activer Dataplane V2 ou utiliser Controlplane V2, définissez cette valeur sur true. Sinon, définissez cette valeur sur false.

Nous vous recommandons d'activer Dataplane V2.

Exemple :

  enableDataplaneV2: true

Pour savoir comment procéder, consultez la page Résoudre les problèmes liés à NFS et DataPlane V2 dans Google Distributed Cloud.

dataplaneV2.forwardMode

Modifiable
Chaîne
Valeurs possibles: "snat", "dsr"
Prérempli: "snat"
Par défaut: "snat"

Mode de transfert pour un cluster avec Dataplane V2 activé.

En mode SNAT (Source Network Address Translation), un paquet fait l'objet d'une traduction SNAT lorsqu'il est transféré d'un nœud d'équilibreur de charge vers un pod de backend. Le pod ne peut pas voir l'adresse IP source d'origine, et le paquet de retour doit passer par le nœud de l'équilibreur de charge.

Avec le mode de retour serveur direct (DSR), un paquet conserve son adresse IP source d'origine lorsqu'il est transféré d'un nœud d'équilibreur de charge vers un pod de backend. Le pod peut voir l'adresse IP source d'origine, et le paquet de retour est envoyé directement au client sans passer par le nœud de l'équilibreur de charge.

Exemple :

dataplaneV2:
  forwardMode: "dsr"

multipleNetworkInterfaces

Immuable
Booléen
Prérempli: faux
Par défaut: faux

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, ce champ doit être false.

Si vous souhaitez activer plusieurs interfaces réseau pour les pods, définissez ce paramètre sur true.

Pour plus d'informations, consultez la page Configurer plusieurs interfaces réseau pour les pods.

Exemple :

multipleNetworkInterfaces: true

advancedNetworking

Immuable
Booléen
Prérempli : faux
Par défaut : faux

Si vous envisagez de créer une passerelle NAT de sortie, définissez cette valeur sur true. Sinon, définissez cette valeur sur false.

Si vous définissez ce champ sur true, vous devez également définir enableDataplaneV2 sur true.

Exemple :

advancedNetworking: true

disableBundledIngress

Définissez cette valeur sur true si vous souhaitez désactiver l'entrée groupée pour le cluster. Sinon, définissez cette valeur sur false.

Booléen
Modifiable
Prérempli: faux
Par défaut: faux

Exemple :

disableBundledIngress: true

storage.vSphereCSIDisabled

Si vous souhaitez désactiver le déploiement des composants CSI vSphere, définissez cette valeur sur true. Sinon, définissez cette valeur sur false.

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, ce champ doit être true.

Modifiable
Booléen
Prérempli: faux
Par défaut: faux

Exemple :

storage:
  vSphereCSIDisabled: false

masterNode

Cette section contient des informations sur les nœuds qui servent de nœuds de plan de contrôle pour ce cluster d'utilisateurs.

masterNode.cpus

Modifiable
Entier
Prérempli: 4
Par défaut: 4

Nombre de processeurs de chaque nœud servant de plan de contrôle pour ce cluster d'utilisateurs.

Exemple :

masterNode:
  cpus: 8

masterNode.memoryMB

Modifiable
Entier
Prérempli: 8192
Par défaut: 8192

Mébioctets de mémoire pour chaque nœud servant de plan de contrôle pour ce cluster d'utilisateur. Cette valeur doit être un multiple de 4.

Exemple :

masterNode:
  memoryMB: 8192

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 2^20, soit 1 048 576 octets. Un mégaoctet est égal à 10^6, soit 1 000 000 octets.

masterNode.replicas

Immuable
Entier
Valeurs possibles : 1 ou 3
Prérempli : 1
Par défaut : 1

Nombre de nœuds de plan de contrôle pour ce cluster d'utilisateur Ce nombre ne peut pas être modifié une fois le cluster créé. Si vous souhaitez mettre à jour le nombre d'instances dupliquées ultérieurement, vous devez recréer le cluster d'utilisateur.

Si infraConfigFilePath est configuré, vous devez définir ce champ sur 3. Seuls les clusters d'utilisateur haute disponibilité sont compatibles avec les domaines de topologie.

Exemple :

masterNode:
  replicas: 3

masterNode.autoResize.enabled

Modifiable
Booléen
Prérempli: faux
Par défaut: faux

Définissez cette valeur sur true pour activer le redimensionnement automatique des nœuds du plan de contrôle du cluster d'utilisateur. Sinon, définissez cette valeur sur false.

Pour en savoir plus, consultez la section Activer le redimensionnement des nœuds pour les nœuds de plan de contrôle d'un cluster d'utilisateur.

Exemple :

masterNode:
  autoResize:
    enabled: true

masterNode.vsphere

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez l'intégralité de cette section.

masterNode.vsphere.datastore

Facultatif
Immuable
Chaîne
Par défaut : valeur de vCenter.datastore

Datastore dans lequel les nœuds de plan de contrôle de ce cluster d'utilisateur seront créés.

La valeur que vous spécifiez doit être un nom, et non un chemin d'accès. N'incluez aucun dossier dans la valeur.

Exemple :

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

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour masterNode.vsphere.storagePolicyName. Le champ masterNode.vsphere.datastore est immuable, sauf lorsque vous définissez le champ sur une chaîne vide lorsque vous migrez un datastore vers Storage Policy Based Management (SPBM).

masterNode.vsphere.storagePolicyName

Facultatif
Immuable
Chaîne
Par défaut : valeur de vCenter.storagePolicyName

Nom d'une règle de stockage de VM pour les nœuds de plan de contrôle.

Pour en savoir plus, consultez la page Configurer une règle de stockage.

Exemple :

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

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour masterNode.vsphere.datastore.

masterNode.topologyDomains

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur (ce qui active les domaines de topologie), vous pouvez inclure ce champ.

Tableau de chaînes | Un seul élément est accepté
Immuable
Valeur par défaut: vSphereInfraConfig.defaultTopologyDomain si spécifié dans le fichier de configuration de l'infrastructure vSphere

Les nœuds du plan de contrôle du cluster d'utilisateur sont répartis sur les domaines de topologie spécifiés dans ce champ.

Non disponible.

nodePools

Obligatoire
Modifiable
Tableau d'objets, chacun décrivant un pool de nœuds.

Pour en savoir plus, consultez la page Créer et gérer des pools de nœuds.

nodePools[i].name

Obligatoire
Immuable
Chaîne

Nom de votre choix pour un pool de nœuds. Ce nom doit :

  • contenir au maximum 40 caractères ;
  • ne contenir que des caractères alphanumériques minuscules ou un trait d'union - ;
  • commencer par un caractère alphabétique ;
  • se terminer par un caractère alphanumérique.

Exemple :

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

nodePools[i].gkeOnPremVersion

Lorsque vous mettez à niveau un cluster d'utilisateurs, vous pouvez spécifier que les pools de nœuds sélectionnés restent à la version précédente.

Si vous souhaitez que ce pool de nœuds reste à la version précédente, définissez-le sur la version précédente. Sinon, supprimez ce champ ou définissez-le sur la chaîne vide. Pour en savoir plus, consultez la section Mettre à niveau un cluster d'utilisateur.

Modifiable
Chaîne
Par défaut : le cluster gkeOnPremVersion

Exemple :

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

nodePools[i].cpus

Obligatoire
Modifiable
Entier
Prérempli : 4

Nombre de processeurs virtuels de chaque nœud du pool.

Exemple :

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

nodePools[i].memoryMB

Obligatoire
Modifiable
Entier
Prérempli : 8192

Mébioctets de mémoire pour chaque nœud du pool. Cette valeur doit être un multiple de 4.

Exemple :

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

Remarque : Ce champ spécifie le nombre de mébioctets de mémoire, et non le nombre de mégaoctets. Un mébioctet est égal à 2^20, soit 1 048 576 octets. Un mégaoctet est égal à 10^6, soit 1 000 000 octets.

nodePools[i].replicas

Obligatoire
Modifiable
Entier
Prérempli : 3
Valeurs possibles : le nombre total de nœuds non rejetés dans tous les pools de nœuds du tableau doit être au moins égal à 3.

Nombre de nœuds du pool.

Exemple :

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

nodePools[i].bootDiskSizeGB

Modifiable
Entier
Prérempli : 40
Par défaut : 40

Taille du disque de démarrage en gigaoctets pour chaque nœud du pool.

Exemple :

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

nodePools[i].osImageType

Modifiable
Chaîne
Valeurs possibles: "ubuntu_containerd", "cos", "ubuntu_cgv2", "cos_cgv2", "windows"
Prérempli: "ubuntu_cgv2"
Par défaut: "ubuntu_containerd"

Type d'image d'OS à exécuter sur les VM du pool de nœuds.

Si vous créez le cluster avec enableAdvancedCluster défini sur true (ce qui est nécessaire pour configurer des domaines de topologie), seuls ubuntu-cgroupv2 et ubuntu_containerd sont acceptés.

Exemple :

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

nodePools[i].osImage

Obligatoire si nodePools[i].osImageType = windows
Modifiable
Chaîne

Nom d'un modèle de VM Windows. Le modèle doit être basé sur un fichier ISO de Windows Server 2019 comportant le tag de langue/région en-US.

Pour en savoir plus, consultez le guide de l'utilisateur pour les pools de nœuds du système d'exploitation Windows Server.

nodePools[i].labels

Modifiable
Mise en correspondance

Libellés à appliquer à chaque objet de nœud Kubernetes du pool.

Exemple :

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

Pour des raisons de sécurité, le kubelet ne peut pas s'appliquer de libellés dans certains espaces de noms.

Les espaces de noms de libellé de nœud réservés sont les suivants : kubernetes.io, k8s.io et googleapis.com.

nodePools[i].taints

Modifiable
Tableau d'objets, chacun décrivant un rejet Kubernetes appliqué à chaque nœud du pool. Les rejets sont des paires clé-valeur associées à un effect. Les rejets sont utilisés avec les tolérances pour la planification des pods. Spécifiez l'une des valeurs suivantes pour effect: NoSchedule, PreferNoSchedule ou NoExecute.

Exemple :

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

nodePools[i].vsphere

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur, supprimez tous les champs de la section nodePools[i].vsphere, à l'exception de nodePools[i].vsphere.tags.

nodePools[i].vsphere.datastore

Modifiable
Chaîne
Par défaut : valeur de vCenter.datastore

Nom du datastore vCenter dans lequel les nœuds seront créés.

Exemple :

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

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour nodePools[i].vsphere.storagePolicyName.

nodePools[i].vsphere.storagePolicyName

Modifiable
Chaîne
Par défaut : valeur de vCenter.storagePolicyName

Nom d'une règle de stockage de VM pour les nœuds du pool.

Pour en savoir plus, consultez la page Configurer une règle de stockage.

Exemple :

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

Si vous spécifiez une valeur pour ce champ, ne spécifiez pas de valeur pour nodePools[i].vsphere.datastore.

nodePools[i].vsphere.hostgroups

Remplissez cette section si vous souhaitez configurer votre cluster pour qu'il utilise l'affinité VM-hôte.

Modifiable
Tableau de chaînes, chacune correspondant au nom d'un groupe DRS hôte.

Le tableau ne peut contenir qu'un seul élément.

Exemple :

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

nodePools[i].vsphere.tags

Facultatif
Tableau d'objets, chacun décrivant un tag vSphere à placer sur les VM du pool de nœuds.

Chaque tag comprend une catégorie et un nom.

Exemple :

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

Si vous souhaitez associer des tags à toutes les VM d'un pool de nœuds, votre compte utilisateur vCenter doit disposer de ces droits d'ajout de tags vSphere :

  • "vSphere Tagging.Assign" ou "Unassign vSphere Tag"
  • "vSphere Tagging.Assign" ou "Unassign vSphere Tag on Object" (vSphere 7)

nodePools[i].autoscaling

Modifiable

Si vous souhaitez activer le scaling automatique pour le pool de nœuds, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

nodePools[i].autoscaling.minReplicas

Modifiable
Entier
Valeurs possibles : supérieur ou égal à 1
Prérempli : 0

Nombre minimal de nœuds que l'autoscaler peut définir pour le pool.

Exemple :

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

nodePools[i].autoscaling.maxReplicas

Modifiable
Entier
Prérempli: 0

Nombre maximal de nœuds que l'autoscaler peut définir pour le pool.

Exemple :

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

nodePools[i].enableLoadBalancer

Applicable si loadBalancer.kind = "MetalLB"
Modifiable
Booléen
Prérempli : faux
Par défaut : faux

Définissez cette valeur sur true si vous souhaitez autoriser le locuteur MetalLB à s'exécuter sur les nœuds du pool. Sinon, définissez cette valeur sur false.

Si vous créez le cluster avec enableAdvancedCluster défini sur true, ce champ n'a aucun effet, car le speaker MetalLB s'exécute toujours sur les nœuds du plan de contrôle du cluster utilisateur.

Pour en savoir plus, consultez la page Équilibrage de charge groupé avec MetalLB.

Exemple :

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

nodePools[i].updateStrategy.rollingUpdate.maxSurge

Aperçu
Modifiable
Entier
Par défaut: 1

Nombre maximal de machines du pool de nœuds pouvant être mises à jour simultanément lors d'une mise à jour ou d'une mise à niveau.

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

nodePools[i].topologyDomains

Si infraConfigFilePath est configuré dans le fichier de configuration du cluster d'administrateur (ce qui active les domaines de topologie), vous pouvez inclure ce champ.

Tableau de chaînes | Un seul élément est accepté
Immuable
Valeur par défaut: vSphereInfraConfig.defaultTopologyDomain si spécifié dans le fichier de configuration de l'infrastructure vSphere

Les nœuds de ce pool de nœuds seront placés dans le domaine de topologie spécifié par ce champ. Pour chaque pool de nœuds, un seul domaine de topologie est autorisé. Tous les nœuds d'un pool de nœuds sont placés dans un seul domaine de topologie.

Non disponible.

antiAffinityGroups.enabled

Modifiable
Booléen
Prérempli: vrai
Par défaut: vrai

Si enableAdvancedCluster est défini sur true (ce qui est obligatoire pour les domaines de topologie), définissez antiAffinityGroups.enabled sur false.

Si ce champ est true, Google Distributed Cloud crée des règles d'anti-affinité DRS (Distributed Resource Scheduler) VMware pour les nœuds de votre cluster d'utilisateur, ce qui les répartit sur au moins trois hôtes ESXi physiques dans votre centre de données.

Cette fonctionnalité nécessite que votre environnement vSphere remplisse les conditions suivantes :

  • La fonctionnalité VMware DRS est activée. VMware DRS nécessite l'édition de licence vSphere Enterprise Plus.

  • Votre compte utilisateur vSphere dispose du privilège Host.Inventory.Modify cluster.

  • Au moins quatre hôtes ESXi sont disponibles.

Même si la règle exige que les nœuds de cluster soient répartis sur trois hôtes ESXi, nous vous recommandons vivement de disposer d'au moins quatre hôtes ESXi disponibles.

Rappelez-vous que si vous possédez une licence standard vSphere, vous ne pouvez pas activer VMware DRS.

Si vous n'avez pas activé DRS ou si vous n'avez pas au moins quatre hôtes sur lesquels les VM vSphere peuvent être planifiées, définissez antiAffinityGroups.enabled sur false.

Exemple :

antiAffinityGroups:
  enabled: false

enableVMTracking

Aperçu
Immuable
Prérempli: faux

Définissez cette valeur sur true pour activer le suivi des VM avec les tags vSphere. Sinon, définissez cette valeur sur false.

Pour en savoir plus, consultez la page Activer le suivi des VM.

Exemple :

enableVMTracking: true

nodePoolUpdatePolicy.maximumConcurrentNodePoolUpdate

Modifiable
Entier
Valeurs possibles : 0 ou 1
Prérempli : 0 Par défaut : À FAIRE : RÉVISEURS : CETTE CHAÎNE A-T-ELLE UNE VALEUR PAR DÉFAUT ?

Nombre de pools de nœuds à mettre à jour en même temps. La valeur 1 indique qu'un seul pool de nœuds peut être mis à jour à la fois. La valeur 0 indique qu'un nombre illimité de pools de nœuds peuvent être mis à jour à la fois.

Exemple :

nodePoolUpdatePolicy:
  maximumConcurrentNodePoolUpdate: 1

nodePoolUpdatePolicy.updateStrategy.rollingUpdate.maxSurge

Aperçu
Modifiable
Entier
Par défaut: 1

Nombre maximal de machines d'un pool de nœuds pouvant être mises à jour simultanément lors d'une mise à jour ou d'une mise à niveau. S'applique à tout pool de nœuds qui ne spécifie pas sa propre stratégie de mise à jour.

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

authentication

Cette section contient des informations sur la manière dont les utilisateurs du cluster sont authentifiés et autorisés.

authentication.oidc

N'utilisez pas cette section. À la place, après la création du cluster, modifiez la ressource personnalisée ClientConfig, comme décrit dans la section Configurer des clusters pour Anthos Identity Service avec OIDC.

authentication.sni

Si vous souhaitez fournir un certificat de diffusion supplémentaire pour le serveur d'API Kubernetes du cluster, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

authentication.sni.certPath

Chaîne

Chemin d'accès d'un certificat de diffusion pour le serveur d'API Kubernetes.

Exemple :

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

authentication.sni.keyPath

Facultatif
Chaîne

Chemin du fichier de clé privée du certificat.

Exemple :

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

gkeConnect

Obligatoire
Immuable

Cette section contient des informations sur le projet et le compte de service Google Cloud que vous souhaitez utiliser pour enregistrer votre cluster dans un parc Google Cloud .

gkeConnect.projectID

Obligatoire
Immuable
Chaîne

L'ID de votre projet hôte de parc. Pour les nouveaux clusters, cet ID de projet doit être identique à celui défini dans stackdriver.projectID et cloudAuditLogging.projectID. Si les ID de projet ne sont pas identiques, la création du cluster échoue. Cette exigence ne s'applique pas aux clusters existants.

Exemple :

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

gkeConnect.location

Immuable
Chaîne
Par défaut: global

L'appartenance au parc de chaque cluster est gérée par le Fleet (gkehub.googleapis.com) et le service Connect (gkeconnect.googleapis.com). L'emplacement des services peut être global ou régional. Dans les versions 1.28 et ultérieures, vous pouvez éventuellement spécifier la région Google Clouddans laquelle les services Fleet et Connect s'exécutent. Si cette valeur n'est pas spécifiée, les instances globales des services sont utilisées. Veuillez noter les points suivants :

  • Les clusters d'utilisateur créés avant la version 1.28 sont gérés par les services Fleet et Connect mondiaux.

  • Les nouveaux clusters créés à l'aide des clients de l'API GKE On-Prem (console Google Cloud, Google Cloud CLI ou Terraform) utilisent la même région que celle que vous spécifiez pour l'API GKE On-Prem.

  • Pour les nouveaux clusters, si vous incluez ce champ, la région que vous spécifiez doit être identique à celle configurée dans cloudAuditLogging.clusterLocation, stackdriver.clusterLocation et gkeOnPremAPI.location. Si les régions ne sont pas identiques, la création du cluster échoue.

Exemple :

gkeConnect:
  location: "us-central1"

gkeConnect.registerServiceAccountKeyPath

Obligatoire
Modifiable
Chaîne

Chemin d'accès au fichier de clé JSON de votre compte de service connect-register.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster.

Pour en savoir plus sur la modification de votre clé de compte de service connect-register, consultez la section Alterner les clés de compte de service.

Exemple :

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

gkeConnect.registerServiceAccountKey.secretRef.version

Modifiable
Chaîne
Valeurs possibles : une chaîne d'entiers ou "latest"
Valeur par défaut : "latest"

Version d'un secret préparé dans le cluster d'administrateur qui contient une clé JSON pour votre compte de service connect-register.

Exemple :

gkeConnect:
  registerServiceAccountKey:
    secretRef:
      version: "1"

gkeOnPremAPI

Dans les versions 1.16 et ultérieures, si l'API GKE On-Prem est activée dans votre projet Google Cloud, tous les clusters du projet sont automatiquement enregistrés dans l'API GKE On-Prem dans la région configurée dans stackdriver.clusterLocation.

  • Si vous souhaitez enregistrer tous les clusters du projet dans l'API GKE On-Prem, veillez à suivre les étapes de la section Avant de commencer pour activer et utiliser l'API GKE On-Prem dans le projet.

  • Si vous ne souhaitez pas enregistrer le cluster dans l'API GKE On-Prem, incluez cette section et définissez gkeOnPremAPI.enabled sur false. Si vous ne souhaitez enregistrer aucun cluster dans le projet, désactivez gkeonprem.googleapis.com (nom de service de l'API GKE On-Prem) dans le projet. Pour obtenir des instructions, consultez la section Désactiver des services.

L'enregistrement de votre cluster d'utilisateur dans l'API GKE On-Prem vous permet d'utiliser les outils standards (la console Google Cloud, Google Cloud CLI et Terraform) pour gérer le cycle de vie du cluster. En outre, l'inscription du cluster vous permet d'utiliser la console ou gcloud CLI pour afficher les détails du cluster. Par exemple, vous pouvez exécuter des commandes gcloud pour obtenir des informations sur votre cluster d'utilisateurs.

Si vous ajoutez cette section et que vous créez ou mettez à jour le cluster, la mise à jour échouera si vous supprimez ensuite la section et que vous mettez à jour le cluster.

gkeOnPremAPI.enabled

Modifiable
Booléen
Par défaut : true

Par défaut, le cluster est enregistré dans l'API GKE On-Prem si celle-ci est activée dans votre projet. Définissez ce paramètre sur false si vous ne souhaitez pas enregistrer le cluster.

Une fois le cluster enregistré dans l'API GKE On-Prem, si vous devez le désinscrire, apportez la modification suivante, puis mettez le cluster à jour :

gkeOnPremAPI:
  enabled: false

gkeOnPremAPI.location

Immuable
Chaîne
Par défaut : stackdriver.clusterLocation

Région Google Cloud dans laquelle l'API GKE On-Prem s'exécute et stocke les métadonnées du cluster. Choisissez l'une des régions compatibles. Vous devez utiliser la même région que celle configurée dans gkeConnect.location, stackdriver.clusterLocation et cloudAuditLogging.clusterLocation. Si gkeOnPremAPI.enabled est défini sur false, n'incluez pas ce champ.

stackdriver

Obligatoire par défaut
Modifiable

Si vous souhaitez activer Cloud Logging et Cloud Monitoring pour votre cluster, renseignez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Cette section est obligatoire par défaut. Autrement dit, si vous ne remplissez pas cette section, vous devez inclure l'option --skip-validation-stackdriver lorsque vous exécutez gkectl create cluster.

Cette section est obligatoire si vous souhaitez gérer le cycle de vie du cluster d'utilisateur à l'aide des clients de l'API GKE On-Prem.

stackdriver.projectID

Requis pour la journalisation et la surveillance
Immuable
Chaîne

L'ID de votre projet hôte de parc. Pour les nouveaux clusters, cet ID de projet doit être identique à celui défini dans gkeConnect.projectID et cloudAuditLogging.projectID. Si les ID de projet ne sont pas identiques, la création du cluster échoue. Cette exigence ne s'applique pas aux clusters existants.

Si nécessaire, vous pouvez configurer un routeur de journaux dans ce projet pour acheminer les journaux vers des buckets de journaux dans un autre projet. Pour savoir comment configurer le routeur de journaux, consultez la section Destinations compatibles.

Exemple :

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

stackdriver.clusterLocation

Requis pour la journalisation et la surveillance
Immuable
Chaîne
Prérempli : "us-central1"

Région Google Cloud dans laquelle vous souhaitez acheminer et stocker les métriques Cloud Monitoring. Nous vous recommandons de choisir une région à proximité de votre centre de données sur site.

Vous spécifiez le routage et l'emplacement de stockage des journaux Cloud Logging dans la configuration du routeur de journaux. Pour en savoir plus sur le routage des journaux, consultez la page Présentation du routage et du stockage.

L'opérateur Stackdriver (stackdriver-operator) associe la valeur de ce champ à chaque entrée de journal et à chaque métrique avant qu'elles ne soient acheminées vers Google Cloud. Ces libellés associés peuvent être utiles pour filtrer vos journaux et vos métriques dans l'explorateur de journaux et l'explorateur de métriques, respectivement.

Pour les nouveaux clusters, si vous incluez les sections gkeOnPremAPI et cloudAuditLogging dans le fichier de configuration, la région que vous définissez ici doit être la même que celle que vous avez définie dans gkeConnect.location, gkeOnPremAPI.location et cloudAuditLogging.clusterLocation. Si les régions ne sont pas identiques, la création du cluster échoue.

Exemple :

stackdriver:
  clusterLocation: "us-central1"

stackdriver.enableVPC

Immuable
Booléen
Prérempli: faux

Si le réseau de votre cluster est contrôlé par un VPC, définissez ce champ sur true. Ainsi, toute la télémétrie passe par les adresses IP restreintes de Google. Sinon, définissez cette valeur sur false.

Exemple :

stackdriver:
  enableVPC: false

stackdriver.serviceAccountKeyPath

Requis pour la journalisation et la surveillance
Modifiable
Chaîne

Chemin du fichier de clé JSON pour votre compte de service de journalisation-surveillance.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster.

Pour en savoir plus sur la modification de votre clé de compte de service logging-monitoring, consultez la section Alterner les clés de compte de service.

Exemple :

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

stackdriver.serviceAccountKey.secretRef.version

Modifiable
Chaîne
Valeurs possibles : une chaîne d'entiers ou "latest"
Valeur par défaut : "latest"

Version d'un secret préparé dans le cluster d'administrateur qui contient une clé JSON pour votre compte de service de surveillance de la journalisation.

Exemple :

stackdriver:
  serviceAccountKey:
    secretRef:
      version: "1"

stackdriver.disableVsphereResourceMetrics

Modifiable
Booléen
Prérempli: faux
Par défaut: faux

Définissez cette valeur sur true pour désactiver la collecte de métriques depuis vSphere. Sinon, définissez cette valeur sur false.

Exemple :

stackdriver:
  disableVsphereResourceMetrics: true

usageMetering

Cette fonctionnalité en version Preview est obsolète et ne doit pas être utilisée pour les nouveaux clusters. Nous vous recommandons plutôt d'utiliser le tableau de bord prédéfini Mesure de l'utilisation des clusters Anthos pour comprendre l'utilisation des ressources à différents niveaux.

Bien que les clusters existants qui utilisent cette fonctionnalité continuent de fonctionner, vous pouvez également utiliser la mesure de l'utilisation des clusters Anthos.

Aperçu
Immuable

Cette fonctionnalité en version preview est obsolète dans la version 1.30. Nous vous recommandons de ne pas l'utiliser pour les nouveaux clusters. Nous vous recommandons plutôt d'utiliser le tableau de bord prédéfini Mesure de l'utilisation des clusters Anthos pour comprendre l'utilisation des ressources à différents niveaux.

Bien que les clusters existants qui utilisent cette fonctionnalité continuent de fonctionner, vous pouvez également utiliser la mesure de l'utilisation des clusters Anthos.

usageMetering.bigQueryProjectID

Preview
Obligatoire pour la mesure de l'utilisation
Immuable
Chaîne

ID du projet Google Cloud dans lequel vous souhaitez stocker les données de mesure de l'utilisation.

Exemple :

usageMetering:
bigQueryProjectID: "my-bq-project"

usageMetering.bigQueryDatasetID

Preview
Obligatoire pour la mesure de l'utilisation
Immuable
Chaîne

ID de l'ensemble de données BigQuery dans lequel vous souhaitez stocker les données de mesure de l'utilisation. Exemple :

usageMetering:
bigQueryDatasetID: "my-bq-dataset"

usageMetering.bigQueryServiceAccountKeyPath

Preview
Obligatoire pour la mesure de l'utilisation
Immuable
Chaîne.

Chemin d'accès au fichier de clé JSON de votre compte de service BigQuery.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster.

Pour en savoir plus sur la modification de votre clé de compte de service BigQuery, consultez la section Effectuer une rotation des clés de compte de service.

Exemple :

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

usageMetering.bigQueryServiceAccountKey.secretRef.version

Modifiable
Chaîne
Valeurs possibles : une chaîne d'entiers ou "latest"
Valeur par défaut : "latest"

Version d'un secret préparé dans le cluster d'administrateur qui contient une clé JSON pour votre compte de service BigQuery.

Exemple :

gkeConnect:
bigQueryServiceAccountKey:
  secretRef:
    version: "1"

usageMetering.enableConsumptionMetering

Preview
Obligatoire pour la mesure de l'utilisation
Immuable
Booléen
Prérempli : faux

Définissez cette valeur sur true si vous souhaitez activer la mesure basée sur la consommation. Sinon, définissez-la sur "false".

Exemple :

usageMetering:
enableConsumptionMetering: true

cloudAuditLogging

Si vous souhaitez intégrer les journaux d'audit du serveur d'API Kubernetes de votre cluster aux journaux d'audit Cloud, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

cloudAuditLogging.projectID

Obligatoire pour les journaux d'audit Cloud
Immuable
Chaîne

L'ID de votre projet hôte de parc. Pour les nouveaux clusters, cet ID de projet doit être identique à celui défini dans gkeConnect.projecID et stackdriver.projectID. Si les ID de projet ne sont pas identiques, la création du cluster échoue. Cette exigence ne s'applique pas aux clusters existants.

Si nécessaire, vous pouvez configurer un routeur de journaux dans ce projet pour acheminer les journaux vers des buckets de journaux dans un autre projet. Pour savoir comment configurer le routeur de journaux, consultez la section Destinations compatibles.

Exemple :

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

cloudAuditLogging.clusterLocation

Obligatoire pour les journaux d'audit Cloud
Immuable
Chaîne

Région Google Cloud dans laquelle vous souhaitez stocker les journaux d'audit. Nous vous recommandons de choisir une région à proximité de votre centre de données sur site.

Pour les nouveaux clusters, si vous incluez les sections gkeOnPremAPI et stackdriver dans le fichier de configuration, la région que vous définissez ici doit être la même que celle que vous avez définie dans gkeConnect.location, gkeOnPremAPI.location et stackdriver.clusterLocation. Si les régions ne sont pas identiques, la création du cluster échoue.

Exemple :

cloudAuditLogging:
  clusterLocation: "us-central1"

cloudAuditLogging.serviceAccountKeyPath

Obligatoire pour les journaux d'audit Cloud
Modifiable
Chaîne

Chemin d'accès au fichier de clé JSON de votre compte de service de journalisation-audit.

Si vous créez le cluster avec enableAdvancedCluster défini sur true (ce qui est nécessaire pour configurer des domaines de topologie), définissez cloudAuditLogging.serviceAccountKeyPath sur le même chemin que stackdriver.serviceAccountKeyPath.

Pour mettre à jour la valeur de ce champ, utilisez gkectl update cluster.

Pour en savoir plus sur la modification de votre clé de compte de service de journalisation d'audit, consultez la section Alterner les clés de compte de service.

Exemple :

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

cloudAuditLogging.serviceAccountKey.secretRef.version

Modifiable
Chaîne
Valeurs possibles : une chaîne d'entiers ou "latest"
Valeur par défaut : "latest"

Version d'un secret préparé dans le cluster d'administrateur qui contient une clé JSON pour votre compte de service de journalisation d'audit.

Exemple :

cloudAuditLogging:
  serviceAccountKey:
    secretRef:
      version: "1"

autoRepair.enabled

Facultatif
Modifiable
Booléen
Prérempli : vrai

Définissez cette valeur sur true pour activer la réparation automatique des nœuds. Sinon, définissez cette valeur sur false.

Exemple :

autoRepair:
  enabled: true

secretsEncryption

Si vous souhaitez chiffrer des secrets sans avoir besoin de KMS (Key Management Service) externe ni d'autres dépendances, remplissez cette section. Sinon, supprimez cette section ou laissez-la en commentaire.

Si vous allez créer le cluster avec enableAdvancedCluster défini sur true (ce qui est nécessaire pour configurer des domaines de topologie), supprimez cette section. Cette fonctionnalité n'est pas disponible avec les clusters avancés.

secretsEncryption.mode

Obligatoire pour le chiffrement des secrets
Immuable
Chaîne
Valeur possible : "GeneratedKey"
Prérempli : "GeneratedKey"

Mode de chiffrement du secret.

secretsEncryption:
  mode: "GeneratedKey"

secretsEncryption.generatedKey.keyVersion

Obligatoire pour le chiffrement des secrets
Modifiable
Entier
Prérempli : 1

Entier de votre choix à utiliser pour le numéro de version de clé. Nous vous recommandons de commencer par 1.

Pour savoir comment mettre à jour ce champ pour un cluster existant, consultez la page Chiffrement des secrets toujours activé.

Exemple :

secretsEncryption:
  generatedKey:
    keyVersion: 1

secretsEncryption.generatedKey.disabled

Modifiable
Booléen
Prérempli: faux

Définissez cette valeur sur true pour désactiver le chiffrement des secrets. Sinon, définissez-la sur false.

Pour savoir comment mettre à jour ce champ pour un cluster existant, consultez la page Chiffrement des secrets toujours activé.

Exemple :

secretsEncryption:
  generatedKey:
    disabled: false