Skip to content

20180502_talk_2

20180502_talk_2

K8s SIG: Cluster Lifecycle

Mission

Change k8s to make it easier to Create and Operate

Intro

What do we Do:
1. Control Plane Installation Management
+ Building kubeadm
+ Maintaining the doc

2.Control plane Config Management
+ Building a CP API
+ Componenent config Best practices

NEW:

  1. Simplifying Infra Mgmt
    + Machine API + Cluster API

  2. Add Management
    + WIP

  3. ETCD Management
    + WIP

Cluster API

Alpha state
+ API specs have been written

API objects:
* Cluster: General cluster level config (Ex: Network)
* Machine: Host (VM or Physical), not yet a Node
* MachineSet / MachineDeployment

Declarative way to create, configure and manage a cluster

-> Generic config interface for any tool (Kops, Aws, GKE, Terraform, …)

KubeADM

| Layer3 | Addons: Paas services (Monitoring, Logging, LBs / Ingress, ....)
| | + ClusterAPI on top of k8s api server to manage the cluster |
| Layer2 | Kubeadm: bootstrap a cluster (Machines are now qualified nodes) |
| Layer1 | Infra -> Machines |

Takes away

Kuebadm
* Set of tasks as Best-practice cluster bootstrap
* Focus on user experience
* Linited scope: Building block
+ Deals with LocalFS + k8s API
+ Agnostic to kubectl
+ NOT favoring any CNI
* Composable: divided into Phases
+ you can use only 1 step of kubeadm if you don’t want it to spawn a whole CP by its own

Recent accomplishements

  • Kubeadm 1.10 (Sync with k8s releases)
  • Advanced AUDITING
  • etcd 3.2
  • etcd TLS encryption
  • CoreDNS beta support
  • Alpha ClusterAPI
  • Integrated with Kops 1.9 and Kubespray

One more thing: Kops

Opinonated way to build on AWS + GCE
* kops create cluster CLUSTERNAME --options
* kops Update cluster CLUSTERNAME --options

Kops roadmap
* Extract components for ClusterAPI and MachineAPI
* Extract addons-manager
* ETCD manager