Consulte este ejemplo para aprovisionar un clúster v1beta1 con la configuración predeterminada.
Ejemplo de v1beta1: clúster predeterminado
El siguiente ejemplo de YAML utiliza la API v1beta1 para crear un clúster predeterminado basado en la ClusterClass predeterminado.
Este ejemplo representa la configuración mínima necesaria para crear un clúster mediante la API v1beta1. El ejemplo se anota con descripciones de cada campo. Para obtener más información, consulte el código de origen.
Tenga en cuenta lo siguiente sobre este ejemplo:
- A diferencia de la API v1alpha3, la API v1beta1 requiere que especifique la
clusterNetwork
. No hay ninguna configuración de red predeterminada para el tipo de clúster. - La ClusterClass predeterminada es
tanzukubernetescluster
que se documenta aquí: API de clúster v1beta1. - Puede personalizar el clúster mediante
variables
, cada una de las cuales es un par nombre-valor. Como mínimo, debe especificar las clases de máquina virtual y almacenamiento como variables, como se muestra en el ejemplo. - Aunque técnicamente es opcional, el ejemplo también incluye una variable
defaultStorageClass
, ya que muchas cargas de trabajo, incluidos los paquetes de Tanzu y los gráficos de Helm, requieren que el clúster se aprovisione con una clase de almacenamiento predeterminada.
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