Cluster names must start with an upper or lowercase letter and can contain only letters, numbers, or dashes, as shown in the following example:
# Name your cluster or use this for a random name export CLUSTER_NAME="${USER}-${RANDOM}" eks-a generate clusterconfig $CLUSTER_NAME -p vsphere > $CLUSTER_NAME.yaml |
See the following sample YAML file:
apiVersion: anywhere.eks.amazonaws.com/v1alpha1 kind: Cluster metadata: name: eksadmin-52112 spec: clusterNetwork: cni: cilium pods: cidrBlocks: - 192.168.0.0/16 services: cidrBlocks: - 10.96.0.0/12 controlPlaneConfiguration: count: 2 endpoint: host: "192.168.151.60" machineGroupRef: kind: VSphereMachineConfig name: eksadmin-52112-cp datacenterRef: kind: VSphereDatacenterConfig name: eksadmin-52112 externalEtcdConfiguration: count: 3 machineGroupRef: kind: VSphereMachineConfig name: eksadmin-21555-etcd kubernetesVersion: "1.20" workerNodeGroupConfigurations: - count: 2 machineGroupRef: kind: VSphereMachineConfig name: eksadmin-52112 --- apiVersion: anywhere.eks.amazonaws.com/v1alpha1 kind: VSphereDatacenterConfig metadata: name: eksadmin-52112 spec: datacenter: "PowerFlex" insecure: false network: "PowerFlex Data1" server: "192.168.151.34" thumbprint: "5C:65:FB:1E:A5:DE:53:98:3E:C1:56:5C:FC:D5:10:FA:8D:04:00:3B"
--- apiVersion: anywhere.eks.amazonaws.com/v1alpha1 kind: VSphereMachineConfig metadata: name: eksadmin-52112-cp spec: datastore: "EKS_Datastore" diskGiB: 25 folder: "EKS-Cluster" memoryMiB: 8192 numCPUs: 2 osFamily: ubuntu resourcePool: "*/Resources" users: - name: ec2-user sshAuthorizedKeys: - ssh-rsa AAAAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --- apiVersion: anywhere.eks.amazonaws.com/v1alpha1 kind: VSphereMachineConfig metadata: name: eksadmin-52112 spec: datastore: "EKS_Datastore" diskGiB: 25 folder: "EKS-Cluster" memoryMiB: 8192 numCPUs: 2 osFamily: ubuntu resourcePool: "*/Resources" users: - name: ec2-user sshAuthorizedKeys: - ssh-rsa AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
--- apiVersion: anywhere.eks.amazonaws.com/v1alpha1 kind: VSphereMachineConfig metadata: name: eksadmin-52112-etcd spec: datastore: "EKS_Datastore" diskGiB: 25 folder: "EKS-Cluster" memoryMiB: 8192 numCPUs: 2 osFamily: ubuntu resourcePool: "*/Resources" users: - name: ec2-user sshAuthorizedKeys: - ssh-rsa AAAAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --- |
# Get USERNAME and PASSWORD from your vSphere admin export VSPHERE_USERNAME= administrator@eksa.vsphere.local export VSPHERE_PASSWORD=********* |
eksctl anywhere create cluster -f eksadmin-52112.yaml
The following figure shows the cluster creation:
Figure 16. Cluster creation
Kubectl get po -A -l control-plane=controller-manger
The following figure shows the cluster status:
Figure 17. Verify the EKS Anywhere cluster status