Operating your Kubernetes

From my presepecitve this post is long over due.

The task of deploying, manintaining (updating, rolling update) a Kubernetes cluster isn’t a “walk in the park” compared to other container orchestration frameworks

Baby steps …

About a year ago when we started planning a Kubernetes deployment from scratch, the first option we went with was writing our own playbook / ansible roles to manage our cluster, at the time tooling like kops / kubespray / kube-aws / tectonic and others weren’t an option, and in a way it was the best expreience of learning how Kubernetes does it’s magic …

A second very common usecase would be taking the step by step tutorial of kelsey hightower the only drawback is it’s purely GCP related …

Another good option is the CoreOs step by step sutorial

Recently I was exporsed to the

Why do we even care how it works - does it do the job or not ?!

This is also an approch but when you start digging … and asking a few simple questions like:

  • Why do I need an ingress controller (can I just attach an EIP / ELB and get away with it) ?!
  • Why do I need a service mesh ?
  • How / What kind of monitiring should I go with ?
  • What log driver will I be using

When somthing goes wrong you want to know where to look … and considering there are a lot of moving parts you must know what’s going under the hood and what is the quickest path to solve it.

Coohsing the right tool for the job

You can’t avoid learning what’s under the hood, but do you need to know it all before you get started - and knowling it all means learning a bunch of new things that by the time you learn how to do them you miss the cream which means you will not able to answer the question’s reased above.

As mentioned above there are a few mature Enterprise Grade Deployment tools for Kubernetes: