Kubernetes setup on bare metal hypervisor (VMWare ESXI 6.5)

In this post I am providing a guide (with scripts) on how to install a 3 node Kubernetes cluster on bare metal hypervisor ESXI 6.5
  • These scripts are for RHEL 8/CentOS 8/Oracle Linux 8 systems

Hypervisor

    Hardware Specs

  • Dell PowerEdge R710
  • 2x Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
  • 48GB memory
  • HDD (1x 500GB SSD, 1x 240 GB SSD)
  • HDD (1x 300GB 10K SAS)
  • HDD RAID-1 (2x 300GB 10K SAS)
  • HDD RAID-0 (3x 146GB 10K SAS)

        OS

    • ESXi-6.5.0 (Update 3)

    VM Layout


    Setup sequence ...

    1. Install Docker (On Master and all Worker nodes)
    2. Configure  Prerequisites (SELinux/firewall/iptables etc...) (On Master and all Worker nodes) 
    3. Install Kubernetes via package repo (On Master and all Worker nodes)
    4. Configure master node to achieve the below... 
      • Configuring firewall ports for Kubernetes and Docker
      • Initializing master node
      • Install Calico container network interface plugin for Kubernetes
      • Note down the token returned by --> kubeadm init
    5. Join worker nodes to master 
    If all went fine , you should end up with the below...
     
     kubectl get nodes -o wide
     
    NAME STATUS ROLES AGE VERSION INTERNAL-IP KERNEL-VERSION CONTAINER-RUNTIME
    k8s-master Ready control-plane,master 94d v1.20.2 192.168.1.104 4.18.0-240.22.1.el8_3.x86_64 docker://20.10.5
    k8s-worker1 Ready
    94d v1.20.2 192.168.1.105 4.18.0-240.22.1.el8_3.x86_64 docker://20.10.5
    k8s-worker2 Ready
    94d v1.20.2 192.168.1.106 4.18.0-240.22.1.el8_3.x86_64 docker://20.10.5
     
    In the next 2 posts I will walk you through on how to change the container runtime from docker to..