Deploying with Helm v2.0

Update: This post is now available at a new location:
https://blog.ngeor.com/2018/09/01/deploying-with-helm-v2-0.html

In the series with Helm and Continuous Delivery nine months ago, I used helm to deploy the application to the kubernetes cluster. To be able to do that from the CI server, I had to make a workaround. I had punched a hole in the cluster with a NodePort service for Tiller. This allows pretty much anyone to reach Tiller (the server side component of Helm) and interact with it. Great for a demo blog post, but not so great for security.

Continue reading Deploying with Helm v2.0

Advertisements

Using AWS ECR as a Docker registry

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/30/using-aws-ecr-as-a-docker-registry.html

In this post, I’ll modify the pipeline from the previous posts to use a Docker registry powered by AWS ECR (Amazon Elastic Container Registry).

Continue reading Using AWS ECR as a Docker registry

Waiting for the correct version after deployment

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/29/waiting-for-the-correct-version-after-deployment.html

In this post, I’ll implement a post deployment check that waits until the application is running with the expected version.
Continue reading Waiting for the correct version after deployment

CD with Helm part 8: DTAP

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/09/cd-with-helm-part-8-dtap.html

In the series so far, we have build a CI pipeline that produces a Docker image and a Helm chart. They are linked together with a unique version, allowing us to use Helm to deploy any feature branch we want. Now we’ll see how to implement a traditional DTAP and use Helm to deploy whatever, wherever.

Continue reading CD with Helm part 8: DTAP

CD with Helm part 7: Docker registry

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/09/cd-with-helm-part-7-docker-registry.html

In a previous post, we had taken a shortcut: we had TeamCity running inside Kubernetes, sharing its Docker daemon. That trick allowed Kubernetes to access the Docker images produced by our builds. In this post, we’ll setup our own Docker registry and publish Docker images there.

Continue reading CD with Helm part 7: Docker registry

CD with Helm part 6: networking interlude

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/03/cd-with-helm-part-6-networking-interlude.html

Before we continue with setting up the multiple environments that comprise our DTAP, I’d like to take a break and discuss a bit about networks. This way we can understand better what is going on inside and outside of Kubernetes.

Continue reading CD with Helm part 6: networking interlude

CD with Helm part 5: versioned artifacts

Update: This post is now available at a new location:
https://blog.ngeor.com/2017/12/02/cd-with-helm-part-5-versioned-artifacts.html

In the previous post we created the Helm chart for our hello world blog-helm application. The Helm chart contains all the information we need to deploy our application to a Kubernetes cluster. But so far, we always deploy the latest version. In a CD setup, we’d like to be able to deploy any version, from any feature branch, at any given point in time, to any environment (DTAP). Let’s start by looking at versioning.

Continue reading CD with Helm part 5: versioned artifacts