Reportez-vous à cet exemple pour provisionner un cluster v1beta1 avec les paramètres par défaut.
Exemple v1beta1 : cluster par défaut
L'exemple de YAML suivant utilise l'API v1beta1 pour créer un cluster par défaut basé sur la classe ClusterClass par défaut.
Cet exemple représente la configuration minimale requise pour créer un cluster à l'aide de l'API v1beta1. L'exemple est annoté avec les descriptions de chaque champ. Pour plus d'informations, reportez-vous au code source.
Notez ce qui suit en ce qui concerne cet exemple :
- Contrairement à l'API v1alpha3, l'API v1beta1 vous oblige à spécifier le
clusterNetwork
. Il n'existe aucun paramètre réseau par défaut pour le type de cluster. - La classe ClusterClass par défaut est
tanzukubernetescluster
, documentée ici : API de cluster v1beta1. - Vous pouvez personnaliser le cluster à l'aide de
variables
, chacune d'elles étant une paire nom-valeur. Vous devez au minimum spécifier les classes de machine virtuelle et de stockage sous forme de variables, comme indiqué dans l'exemple. - Bien que cela soit techniquement facultatif, l'exemple inclut également une variable
defaultStorageClass
, car de nombreuses charges de travail, notamment les modules Tanzu et les graphiques Helm, nécessitent que le cluster soit provisionné avec une classe de stockage par défaut.
apiVersion: cluster.x-k8s.io/v1beta1 kind: Cluster #define the cluster metadata: #user-defined name of the cluster; string name: cluster-default #kubernetes namespace for the cluster; string namespace: tkg-cluster-ns #define the desired state of cluster spec: #specify the cluster network; required, there is no default clusterNetwork: #network ranges from which service VIPs are allocated services: #ranges of network addresses; string array #CAUTION: must not overlap with Supervisor cidrBlocks: ["198.51.100.0/12"] #network ranges from which Pod networks are allocated pods: #ranges of network addresses; string array #CAUTION: must not overlap with Supervisor cidrBlocks: ["192.0.2.0/16"] #domain name for services; string serviceDomain: "cluster.local" #specify the topology for the cluster topology: #name of the ClusterClass object to derive the topology class: tanzukubernetescluster #kubernetes version of the cluster; format is TKR NAME version: v1.26.13---vmware.1-fips.1-tkg.3 #describe the cluster control plane controlPlane: #number of control plane nodes #integer value 1 or 3 #NOTE: Production clusters require 3 control plane nodes replicas: 3 #describe the cluster worker nodes workers: #specifies parameters for a set of worker nodes in the topology machineDeployments: #node pool class used to create the set of worker nodes - class: node-pool #user-defined name of the node pool; string name: node-pool-1 #number of worker nodes in this pool; integer 0 or more replicas: 3 #customize the cluster variables: #virtual machine class type and size for cluster nodes - name: vmClass value: guaranteed-medium #persistent storage class for cluster nodes - name: storageClass value: tkg-storage-policy # default storageclass for control plane and worker node pools - name: defaultStorageClass value: tkg-storage-policy