Kubernetes Pod Networks and Plugins

Pod Networks It is natural that to get your first k8s cluster running you’d want to remove the taint from the master node and use it as the cluster (i.e. a single-node cluster). The first thing that a person would do is not set the kubelet network plugin (–network-plugin=cni). It’s certainly what I did wrong. The problem is you don’t see the problem until later because the orchestrator will use docker’s default networking which would quickly fail in a more-than-one node cluster. So, it’s best practice to immediately apply a pod network!! ...

October 22, 2018 · 1 min · 168 words

runc and Friends

Had to dig a bit into Kubernetes’ friends recently. Here’s a TL;DR of what’s missing from the internet today: runc is the CLI tool for running containers (create/run/delete/manage) docker uses runc as its runtime. Kubernetes uses runc as its runtime through cri-o (those “unsupported Docker version detected” errors you’ve probably seen.. yeah!) There’s no guarantee that runc will remain cri-o compatible. cri-o is an interface for container runtimes. Any compatible runtime can be used. runc is one of those others being rkt (never tested it), Kata containers and I guess many more. containerd - runtime manager created by docker and later contributed to CNCF. It’s the daemon that’s running in the background doing your bidding that you pass through runc.

October 20, 2018 · 1 min · 120 words