Standing up Kubernetes

We will install Calico on a Kubernetes cluster. To demonstrate a highly available Calico control plane, we will use five nodes in this guide. This lab walks you through provisioning a Kubernetes cluster in AWS using kubeadm.

Provision EC2 Nodes

  1. Provision five nodes
    1. Ubuntu 18.04 LTS
    2. T2.medium
    3. Ensure the instances are in the same subnet, and security group policy allows them communicate freely with one another.
    4. Disable Source / Destination Checks on the Elastic Network Interface for each instance
  2. Install Docker on each node
    1. sudo apt update
    2. sudo apt install docker.io
    3. sudo systemctl enable docker

Install Kubernetes

  1. Install kubeadm
  2. Choose one node as your Kubernetes master. On that node kubeadm init --pod-network-cidr=192.168.0.0/16

    The Kubernetes pod-network-cidr is the IP prefix for all pods in the Kubernetes cluster. This range must not clash with other networks in your VPC.

  3. On all other nodes kubeadm join <output from kubeadm init>
  4. Copy admin credentials
  5. Test Access
    1. Run

      kubectl get nodes

      Verify all nodes have joined

Next

The Calico datastore