"Donot communicate by sharing memory, instead share memory by communicating" — a popular Go adage around channels.

I suppose this is the reason why the Go standard library do not have a semaphore implementation.

Can we all just take a moment to thank cross-compiled languages like Go & Nim to drive us out of the interpreter and virtual machine hell.

Show thread

"Write once, Compile anywhere" > "Write once, Run anywhere"

• `kubeadm init` spins up 4 static pods - etcd, apiserver, controller & scheduler in the `kube-system` namespace. Since these components are what make up the control plane, they need to run as static pods.

• You most likely would never have to deal with static pods directly, unless you're deploying a high availability cluster using `kube-vip` or similar.

Show thread

• The pod names will be suffixed with the node's hostname("control" in the example below) with a leading hyphen.

Show thread

• Static pods are managed directly by the Kubelet daemon.

• The API server does *not* observe static pods. This means that static pods are independent of all control plane components (other than the kubelet) and thus can be started (and are usually started) before the cluster itself.

• The Kubelet does however create a mirror pod on the Kubernetes API server for each static pod, allowing them to be visible on the API server, but cannot be controlled from there.

Show thread

Static pods - the solution to Kubernetes chicken-and-egg problem


I'm here! Lets start with reposting some of my Twitter threads here, just so that folks know about the things I'm interested in.

Kubernetes community on the Fediverse

Unofficial ⎈Kubernetes Mastodon instance for container and cloud native enthusiasts.