1 of 15

SIG Cluster Lifecycle Update

Lucas Käldström & Robert Bailey6th December 2017 - KubeCon Austin

2 of 15

Who’s on stage?

Lucas Käldström

SIG Cluster Lifecycle co-lead

CNCF Ambassador & CKA

Contractor for Weaveworks

Upper Secondary School Student

Robert Bailey

SIG Cluster Lifecycle co-lead

Founding member of GKE

Googler

3 of 15

Our Mission

SIG Cluster Lifecycle examines how we should change Kubernetes to make it easier to operate.

4 of 15

What we do

  1. Control Plane Installation Management
    • "How do I run the Kubernetes control plane?"
    • Building kubeadm, cleaning up outdated getting started guides and improving docs��
  2. Control Plane Configuration Management

5 of 15

What we do

  • Simplifying Infrastructure Management
    • “How do I set up my network / machines?”
    • Working on a Machines API as part of the Cluster API��
  • Addon Management
    • “How do I install things outside the core control plane?”
    • Many different approaches used today; still working on a plan for convergence

6 of 15

Cluster API

  • A declarative way to create, configure, and manage a cluster
    • apiVersion: "cluster-api.k8s.io/v1alpha1"
    • kind: Cluster�
  • Controllers will reconcile desired vs. actual state
    • These could run inside or outside the cluster�
  • Cloud Providers will implement support for their IaaS
    • GCE, AWS, Azure, Digital Ocean, Terraform and Docker Machine, etc.�
  • Port existing tools to target Cluster API
    • Cluster upgrades, auto repair, cluster autoscaler

7 of 15

What is kubeadm and why should I care?

= A tool that sets up a minimum viable, best-practice Kubernetes cluster

Master A

Master N*

Node 1

Node N

kubeadm

kubeadm

kubeadm

kubeadm

Cloud Provider

Load Balancers

Monitoring

Logging

Cluster API Spec

Cluster API

Cluster API Implementation

Addons API*

Kubernetes API

Bootstrapping

Machines

Infrastructure

Layer 2

Layer 3

Layer 1

*=Yet to be done/WIP

8 of 15

kubeadm vs kops

Two different projects, two different scopes

kops

Master A

Master N*

Node 1

Node N

kubeadm

kubeadm

kubeadm

kubeadm

Cloud Provider

Load Balancers

Monitoring

Logging

Cluster API Spec

Cluster API Implementation

Addons API*

Kubernetes API

Bootstrapping

Machines

Infrastructure

Cluster API

*=Yet to be done/WIP

9 of 15

Key design takeaways

  • kubeadm’s task is to set up a best-practice cluster for each minor version
  • The user experience should be simple, and the cluster reasonably secure
  • kubeadm’s scope is limited; intended to be a building block
    • Only ever deals with the local filesystem and the Kubernetes API
    • Agnostic to how exactly the kubelet is run
    • Setting up or favoring a specific CNI network is out of scope
  • Composable architecture with everything divided into phases

Audience: build-your-first-own-cluster users & higher-level tools like kops & kubicorn

10 of 15

Recent accomplishments

  • kubeadm v1.8
    • `kubeadm upgrade`
    • Alpha support for self-hosting
    • Extensibility work with phases and `kubeadm alpha phase`
    • kubeadm adoption work; e.g. kubespray
  • kubeadm v1.9
    • Alpha support for CoreDNS and IPv6
    • Alpha ComponentConfig for the managing the kubelet and kube-proxy�
  • An alpha Cluster API and prototype implementation
    • Initial spec and GCE implementation

11 of 15

A sneak-peak into our plans for 2018

  • Productionize tools currently under development
    • kubeadm to GA
    • Beta or higher Cluster API and implementations
    • Component Configuration for all critical system components�
  • Better documentation
    • Recommended cluster parameters
    • Highly Available cluster deployments
    • External dependencies
    • Create a tool-less starting from scratch installation guide�
  • Addons API

12 of 15

How can you contribute to our SIG?

Relevant release cycle doc → turn into a fully-featured contributing-to-the-SIG doc

We’re working on growing the contributor/reviewers pool; scaling the SIG

Rebranding the kubeadm meetings on Weds as SIG Office Hours?

Attend our meetings / be around on Slack

Look at our backlog of prioritized kubeadm issues

13 of 15

Relevant KubeCon talks

We are hosting a SIG meetup on Thursday at 5:30pm at the Austin Taco Project (basement of the Hilton Hotel)

14 of 15

What now?

Follow the SIG Cluster Lifecycle YouTube playlist

Check out the meeting notes for our weekly SIG meetings in Zoom

Join #sig-cluster-lifecycle (for dev) and #kubeadm (for support)

Prep for and take the Certified Kubernetes Administrator exam

Read the two latest SIG updates on the Kubernetes blog in January and August

Check out the kubeadm setup guide, reference doc and design doc

Read how you can get involved and improve kubeadm!

15 of 15

Thank you!