Photo by Jan Tinneberg on Unsplash

This article was originally published on the VMBlog here and adapted for Medium.

When you think of Kubernetes you think of containers. When you think of containers you think Docker. So it was a big surprise when, in December 2020, the Kubernetes maintainers announced that it would be deprecating Docker support for Kubernetes v1.20+. This caused quite a bit of concern and confusion.

Deprecating Docker support in Kubernetes? This sounded like a very topical piece of information in 2020. …

Photo by Christin Hume on Unsplash

The Certified Kubernetes Administer (CKA) and Certified Kubernetes Application Developer (CKAD) exams may look daunting and intimidating. This is certainly what I thought and felt when I had scheduled my CKA and CKAD earlier this year. Even though I had prior experience working with Kubernetes I still wanted to prep myself for the exams accordingly.

After passing both of these exams I reflected back on my studies and thought about what helped prepare me the most. The following few items are what had helped me the most in terms of preparation.

Kubernetes in Action

When I first started using Kubernetes…

Photo by Loik Marras on Unsplash

This article was originally published on the Vultr Blog here and adapted for Medium.

Kubernetes has become the mainstream open-source orchestration tool for automating deployment, scaling, and management of containerized applications. Originally designed by teams at Google and released in 2014, Kubernetes is now officially maintained by the Cloud Native Computing Foundation. Kubernetes has quickly turned into the gold-standard of container orchestration for several reasons: the wide community support, the fact that it is cloud-agnostic (kind of… see more about plugins below), and it offers production-grade orchestration.

The following is a dive into what Kubernetes is, how it works, common…

Photo by Andrew Tanglao on Unsplash

While a cup of coffee may seem like its two parts of hot water and coffee grinds there is much more to it. The same can be said for a well designed API. A good API does more then just taking input and returning output. It offers a few key items that make it enjoyable and easy to work with.

These few key items can sometimes be overlooked or not get the extra polish they deserve which detract from the API. Below we’ll touch upon these and how they can enhance the API experience.


The first interaction any developer will…

Photo by Dakota Roos on Unsplash

What is the GVR in Kubernetes? It stands for Group Version Resource and this is what drives the Kubernetes API Server structure. We will cover exactly what the terminology means for Groups, Versions, Resources (and Kinds) and how they fit into the Kubernetes API.


Kinds in Kubernetes relate to the object you are trying to interact with. A pod or deployment would be your Kind.

There are three categories of Kinds

  • Objects : These are your pods, endpoints, deployments, etc.
  • Lists : These would be collections of one or more Kinds. Example would be pod list or node list.
  • Special…

Photo by Alex Duffy on Unsplash

This guide is meant to help you configure a private container registry running on your Kubernetes cluster that is backed by an S3 backend.

What you will need:

  • Basic working knowledge of Kubernetes
  • A running Kubernetes cluster: We will using Kubernetes resources such as Load Balancers that require cloud provider support.
  • Basic working knowledge of Helm
  • Valid Domain

All of the instructions in this guide can be swapped out for your cloud provider of choice with minor changes. We will be using Vultr as our cloud provider for this guide.

If you wish to also use Vultr there is an…


What is Traefik? Traefik is a load balancer and HTTP reverse proxy that makes working with microservices and integrating with your infrastructure seamless.

Photo by ammiel jr on Unsplash


This post is meant to help you get a Kubernetes cluster up and running with kubeadm in no time. This guide will be using Vultr to deploy two servers, one master and one worker, however you can deploy as many servers as you would like.

So what is kubeadm?

Kubeadm is a tool developed by Kubernetes which allows you to create a minimum viable cluster up and running by following best practices. It will only bootstrap your cluster not provision machines. Things such as addons, the Kubernetes dashboard, monitoring solutions, etc is not something kubeadm will do for you.



Part One : Basic Example

During one of my recent projects, I needed to find a new CI/CD service that could meet my needs. This service needed to be lightweight, affordable, and offer me the ability to define my workflow in code.

Enter Concourse CI. This isn’t your grandpa’s CI, Concourse CI is a free, open source CI written in Go and Elm. With all my criteria met, I decided to give it a shot and I was quickly won over.

In adopting Concourse CI, I wanted to share with you all two examples to help you get started. I’ll be splitting these examples into…

I spend a lot of time writing microservices in Go. Therefore, I found myself needing a concrete way to hand errors back to the client that was predictable and repeatable.

So I decided to follow the error response structure from This spec makes it very clear and concise to where the client can always expect a well formatted response that will never stray.

A few notable takeaways with this spec are:

  • A server MAY chose to stop processing as soon as a problem is encountered.
  • A server MAY chose to continue processing and encounter multiple problems.
  • Error objects MUST

David Dymko

Gopher with a keen interest in cloud native. Technical Lead @Vultr

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store