Using Helm to deploy to Kubernetes

Introduction In this post I will be showing how to use Helm (https://helm.sh) to build and deploy your own charts to a Kubernetes cluster. Preface What is Helm? Well, think of it as the apt-get / yum of Kubernetes, it’s a package manager for Kubernetes developed by the guys from Deis (https://deis.com/). If you deploy applications to Kubernetes, Helm makes it incredibly easy to version those deployments, package it, make a release of it, and deploy, delete, upgrade and even rollback those deployments as charts.

Kubernetes nginx-ingress-controller

Introduction In this post I will explain, how I expose applications running on Kubernetes clusters to the internet with the help of Ingress controllers. But first a little bit about Kubernetes Ingresses and Services. On a very simplistic level a Service is a logical abstraction communication layer to pods. During normal operations pods get’s created, destroyed, scaled out, etc. A Service make’s it easy to always connect to the pods by connecting to their service which stays stable during the pod life cycle.

Kubernetes on AWS

In this post I will be explaining how I setup Kubernetes clusters on Amazon. I use kops (https://github.com/kubernetes/kops) to setup and manage my Kubernetes clusters. For my day job, I create multiple Kubernetes stacks often on Amazon and nothing, so far, comes close to how well kops works for me. I briefly flirted with kube-aws (https://github.com/coreos/kube-aws) from CoreOS, and while it’s a good tool, Kops just works better for me.