Kubernetes (source code) is a container orchestration system for deploying, scaling and operating applications.
Helm (source code) is a package manager for Kubernetes charts, which are the way to define common types of Kubernetes cluster arrangements, like MySQL, Cassandra or Jenkins.
Gitkube
(source code) makes it possible to
deploy an application to Kubernetes using git push
, similar to how
Heroku popularized making
platform-as-a-service deployments easy.
Kompose (source code) translates Docker Compose files into Kubernetes configuration resources.
skaffold (source code) makes it easier to develop locally with Kubernetes.
kubethanos is a tool to kill half of your Kubernetes pods at random, to test the resilience of your infrastructure under highly chaotic scenarios.
Borg, Omega and Kubernetes goes into the history of Borg and Omega, projects that preceded Kubernetes' creation. There are a ton of great notes on why they developed the project in certain ways and what they knew to avoid based on the prior work on Borg and Omega.
Kubernetes at GitHub provides a retrospective on transitioning GitHub's infrastructure from a traditional Ruby on Rails deployment architecture to a more scalable container-based Kubernetes system. There are some great details on the steps in the transition and ramping up capacity until it was the full system for github.com and other critical services.
Reasons Kubernetes is cool breaks past the "why would I ever need this?" initial developer reaction and gives solid reasons such as better visibility into all of the services running on your Kubernetes cluster and potentially much faster deployment after appropriate configuration.
How we designed our Kubernetes infrastructure on AWS explains how the Kubernetes Infrastructure Technology Team (yes, that abbreviates to KITT in honor of the 1980s Knight Rider TV show) at Atlassian starting using the tool and how they have built infrastructure around it for the company to operate their container-ized applications.
10 Most Common Reasons Kubernetes Deployments Fail goes over many of the top technical reasons why issues come up with Kubernetes and what you need to do to avoid or work through them.
Draft vs Gitkube vs Helm vs Ksonnet vs Metaparticle vs Skaffold gives a great overview of the most popular tools that make it easier to use Kubernetes.
Architecting applications for Kubernetes is stuffed full of great design advice that is now available as people having been using Kubernetes for a couple of years.
"Let’s use Kubernetes!" Now you have 8 problems is a counter-argument for why you should be cautious about introducing the significant complexity overhead of Kubernetes (or any related tools) into your environment unless you really need the advantages that they can provide. Each developer, team and organization should perform an explicit cost-benefit analysis to make sure the tool's scability, reliability and related functionality will outweigh the downsides.
How Zalando manages 140+ Kubernetes clusters covers the architecture, monitoring and workflow of a team that has to run a decent number of clusters for their development teams.
Kubernetes The Hard Way is a tutorial that walks you through manually setting up a Kubernetes cluster. The purpose is to teach you what is happening at each step instead of performing everything through automation like you normally would after you understand how to use the tool.
Kubernetes Any% Speedrun hilariously presents the pain of using Kubernetes and gives the basic steps for getting a deployment up and running.
A Gentle introduction to Kubernetes with more than just the basics is a Git README tutorial with clear steps for how to get started running a Kubernetes cluster.
Anatomy of my Kubernetes Cluster shows how one developer created their own Raspberry Pi cluster that could run Kubernetes to learn more about how it works.
The cult of Kubernetes is a hilarious rant that also manages to teach the reader a lot about how to avoid some big issues the author ran into while working with Kubernetes for simple starter projects.
Kubernetes by Example provides the commands and code for you to get started with the core Kubernetes concepts.
Your instant Kubernetes cluster provide a concise set of instructions for setting up a cluster.
A tutorial introduction to Kubernetes covers a bunch of introductory steps using an example Python application.
An Example Of Real Kubernetes: Bitnami gives instructions for what to do after you have finished creating a Kubernetes cluster and learned the "Hello, World!"-style example.
Kubernetes Production Patterns is a tutorial with good and bad practices so you can learn what to do and what to avoid in your Kubernetes infrastructure.
Django Production Deployment on GCP with Kubernetes uses Helm to make it easier to deploy the example Django web app with a PostgreSQL backend.
K8s YAML Alternative: Python shows how you can use Python scripts instead of YAML to configure your Kubernetes clusters.