Deployment Perquisites: –

vSphere Environment with sufficient resources – Memory, CPU, Storage.

Static IPs with the Internet

Template – Redhat/CentOS


VM with Terraform

My Env: –

vSphere Version – 7.0

Template – Redhat 8.6

Domain Name – kdinesh.in

DNS Server – 192.168.5.150

3 Master – master0, master1, master3 – IP’s 172.90.0.103-105

2 Worker – Worker0, worker1 – IP’s – 172.90.0.106-107

VIP – 172.90.0.102

Deployment: –

Kubernetes deployed using CRI-O as a Container Runtime Engine

From terraform VM, Download Deployment files using the following link – https://github.com/Dineshk1205/Terraform-Kubeadm

In Provider. tf, variable.tf file, no changes required. Update the remaining file according to your infra (IPs, Hostnames, Credentials, Kubernetes version. Etc.)

Terraform init

Next, run the below command.

Terraform apply -auto-approve

The deployment will start; you can check on vSphere.

Once it’s completed successfully, you can see the kubeadm join token and certificate.

On master1, master2 nodes run control plane kubeadm join command, and worker0, worker1 nodes run worker node kubeadm join command.

Check node and pod status.