In this lab you will bootstrap a 3 node Kubernetes controller cluster.
In this lab you will also create a frontend load balancer with a public IP address for remote access to the API servers and H/A.
The Kubernetes components that make up the control plane include the following components:
- Kubernetes API Server
- Kubernetes Scheduler
- Kubernetes Controller Manager
Each component is being run on the same machines for the following reasons:
- The Scheduler and Controller Manager are tightly coupled with the API Server
- Only one Scheduler and Controller Manager can be active at a given time, but it's ok to run multiple at the same time. Each component will elect a leader via the API Server.
- Running multiple copies of each component is required for H/A
- Running each component next to the API Server eases configuration.
$ ansible-playbook 04-kubernetes-controller.yml
This will create a EC2 Elastic Load Balancer but only for the Kubernetes control plane API.
$ ansible-playbook 04-loadbalancer.yml