- Cluster operators - Who manages kubernetes cluster(s).
- Anyone interested in kubernetes and how to run it in production, instead of using a managed solution.
- 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).
- self hosted: refers to the ability of a system to be expressed in terms of itself.
- Why?
- Advantages over running it the traditional(popular, if you may) way of running it
- Comparison to other cluster orchestration tools like
- Using a managed service like
- AKS, EKS, GKE etc.
- Running it using the binaries.
- Advantages over running it the traditional(popular, if you may) way of running it
- 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.
- kubernetes version. Both 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.
- Learnings
- From running multiple self-hosted kubernetes clusters in production over @ RAZORPAY for the last 1½ years and sharing what I have learned the hard way over this period of time.
- What next?
- Extending kubernetes to automate manual administration tasks which a cluster operator has to perform.
- Custom resource definitions (CRD's)
- Extending kubernetes to automate manual administration tasks which a cluster operator has to perform.