Go: Helm, Kubernetes & Docker Desktop

nwillc
Level Up Coding
Published in
8 min readSep 21, 2020

--

Photo by Josh Redd on Unsplash

I wanted to really understand the flow of Go code to production at my work. I looked at all the IaC code they had in place and was overwhelmed — so many tools involved, so much configuration. So I did the code monkey thing, and went off to a dark corner and implemented the bare minimum myself to learn.

This is a long post, but stick with it, look in the associated repository, and you’ll be able to create a program and deploy it into a Kubernetes cluster all on your own machine — not too shabby.

The Plan

The overall lesson plan here is to achieve, all on a single Mac:

  • Write a simple Go program
  • Get it into a docker container
  • Use Helm to get the container into Kubernetes

Additional specific goals for each of the above will be covered as we go.

Prerequisites

We’ll need a bunch of tools, and recent versions of all of them should work, but I grabbed:

  • Docker Desktop 2.3.0.5
  • golang 1.15.1
  • helm 3.3.3
  • kubectl 1.19.2
  • kubectx 0.9.1

Getting the Prerequisites

--

--

Graybeard code monkey, started on an Apple IIe, got a CS degree in the 80’s, and coded my way through C, C++, Objective-C, Java, Kotlin — and now Go.