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. …
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
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…
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…
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
deployment would be your Kind.
There are three categories of Kinds
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:
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.
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.
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 https://jsonapi.org/format/#errors. 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:
Gopher with a keen interest in cloud native. Technical Lead @Vultr