kuberception : self-hosting kubernetes
## Who is this talk for
- Cluster operators - who manage kubernetes cluster(s).
- Anyone interested in kubernetes and how to run it in production, instead of using a managed solution.
## 5 Parts to the talk
- What is self-hosted kubernetes?
- self hosted: refers to the ability of a system to be expressed in terms of itself.
All the kubernetes control plane components running as native kubernetes objects (as deployments, daemonsets and using things like secrets).
- Advantages over running it the traditional(popular, if you may) way of running it
- Comparison to other cluster orchestration tools like
- KOPS : https://github.com/kubernetes/kops
kubeadm : https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm/ etc.
- Using a managed service like
AKS, EKS, GKE etc.
- Running it using the binaries itself (if you are feeling excited).
## How does it work?
- Intro to bootkube (https://github.com/kubernetes-incubator/bootkube/).
- Live DEMO:
- Launch/work on a self-hosted cluster and show what’s actually happening.
- Do a live kubernetes version upgrade
of the control plane objects.
of kubernetes itself with ZERO downtime on the self hosted cluster, serving traffic for an app.
- Things to make it more robust and resilient.
- Pod-checkpointer: https://github.com/kubernetes-incubator/bootkube/tree/master/cmd/checkpoint)
- suggestions for an HA setup.
from running multiple self-hosted kubernetes clusters in production over the last 1½ years.
## What next?
Extending kubernetes to automate manual administration tasks which a cluster operator has to perform.
Custom resource definitions (CRD's)