Archive
Posts from 2019
Notes from episode 45 of TGIK: Calico
Over the past few months I've been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost. It's an incredibly complex piece of software and there are a ton of bells and whistles to become familiar with. One way that I've found for coming up to speed is Joe Beda's weekly TGIK live broadcast…
$ read more →Notes from episode 79 of TGIK: YTT and Kapp
Over the past few months I've been trying to learn everything there is to know about Kubernetes. Kubernetes is an amazing technology for deploying and scaling containers though it comes with a cost. It's an incredibly complex piece of software and there are a ton of bells and whistles to become familiar with. One way that I've found for coming up to speed is Joe Beda's weekly TGIK live broadcast…
$ read more →The beginners guide to creating Kubernetes manifests
As a long time Kubernetes user the question I hear most often is "how do I create manifests (the file that describes how to create and manage resources in a cluster)?" When I ask the person posing the question how they are creating resources today, I frequently hear that they cobbled together a bunch of random manifests they found on the 'net or are using $(kubectl apply -f http://site/manifest) based on a website suggestion. Learning how to generate manifests from scratch baffled me when I was first getting started with Kubernetes. I couldn't find a comprehensive guide showing how to create resources from scratch, and the information needed to become proficient with this process was scattered across various sites. To assist folks who are just entering the K8S space I thought I would document the process I use to approach the "how do I create a manifest from scratch?" question…
$ read more →Understanding the network plumbing that makes Kubernetes pods and services work
This morning I wanted to better understand how requests to ClusterIPs get routed to Kubernetes pods. Properly functioning networking is critical to Kubernetes and having a solid understanding of what happens under the covers makes debugging problems much, much easier. To get started with my studies I fired up five kuard pods: I created 5 pods so one would hopefully be placed on each worker node. Once the pods finished creating I exposed the pods to the cluster with the kubectl expose command: Behind the scenes kube-proxy uses iptables-save and iptables-restore to add rules…
$ read more →Creating multi-node Kubernetes test clusters with KIND (Kubernetes In Docker)
The Kubernetes ecosystem is rapidly evolving, which means tools, frameworks and ways to approach running Kubernetes in production are constantly changing. To keep up with these changes I used to use a custom script to provision test clusters with kubeadm. This worked well, but it took an excessive amount of time to spin up clusters to test features. When you are excited about testing a new tool or feature you want to do it NOW…
$ read more →