Four Tips for Writing Better Go APIs
Go is a really powerful programming language that allows you to write concurrent code that is still easy to understand. But designing APIs can be hard, even for seasoned Go programmers. When designing APIs for libraries and applications in Go it’s...
Container Runtimes Part 4: Kubernetes Container Runtimes & CRI
This is the fourth and last part in a four part series on container runtimes.
It’s been a while since
but in that post I gave an overview of container runtimes and discussed the
differences between low-level and high-level runtimes. In
Container Runtimes Part 3: High-Level Runtimes
This is the third part in a four-part series on container runtimes. It’s been a while since part 1, but in that post I gave an overview of container runtimes and discussed the differences between low-level and high-level runtimes. In part 2 I went...
Container Runtimes Part 2: Anatomy of a Low-Level Container Runtime
This is the second in a four-part series on container runtimes. In part 1, I gave an overview of container runtimes and discussed the differences between low-level and high-level runtimes. In this post I will go into detail on low-level container ...
Container Runtimes Part 1: An Introduction to Container Runtimes
One of the terms you hear a lot when dealing with containers is “container runtime”. “Container runtime” can have different meanings to different people so it’s no wonder that it’s such a confusing and vaguely understood term, even within the cont...
The Almighty Pause Container
When checking out the nodes of your Kubernetes cluster, you may have noticed some containers called “pause” running when you do a docker ps on the node.
$ docker ps
CONTAINER ID IMAGE COMMAND ...
Blue/Green Deployments on Kubernetes
For those that want to dive right in, I have put up a tutorial and some sample manifests on github. Check it out at https://github.com/IanLewis/kubernetes-bluegreen-deployment-tutorial
Kubernetes has a really awesome built-in feature called D...
What are Kubernetes Pods Anyway?
Recently I saw a tweet from the awesome Amy Codes (I really hope that’s her real name) about Kubernetes Pods:
You know why containers in a pod are always scheduled together? It's cuz they're nested containers.Mind. Blown.— Amy Codes...
Building Go Applications with Google Container Builder
Gopher image Creative Commons Attribution 3.0 Unported (ja) by tenntenn
Recently I wrote on Twitter about how doing CI right requires you to properly separate your build and run steps for your container images.
i.e. you have one Docker image t...
Creating Smaller Docker Images Part #4: Static Binaries
This is the fourth post in a series on making smaller Docker images: static binaries. In the
first post I talked about how to create
smaller images by writing better Dockerfiles. In the second
post I talked about how to squash
layers using docker-...