Skip to content

Latest commit

 

History

History
34 lines (22 loc) · 1.17 KB

04-kubernetes-controller.md

File metadata and controls

34 lines (22 loc) · 1.17 KB

Bootstrapping an H/A Kubernetes Control Plane

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.

Why

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.

Provision the Kubernetes Controller Cluster

$ ansible-playbook 04-kubernetes-controller.yml

Setup Kubernetes API Server Frontend Load Balancer

This will create a EC2 Elastic Load Balancer but only for the Kubernetes control plane API.

$ ansible-playbook 04-loadbalancer.yml