Concourse CI on Kubernetes (GKE), Part 1: Terraform

Let’s deploy Concourse, a continuous-integration, continuous delivery (CI/CD) application (similar to Jenkins and CircleCI). We’ll deploy it to Google Cloud, to our Google Kubernetes Engine (GKE). In this post, we’ll use HashiCorp’s Terraform to create our cluster. We assume you’ve already installed the terraform command-line interface (CLI) and created a Google Cloud account. mkdir -p ~/workspace/gke cd ~/workspace/gke Next we download the terraform templates and terraform vars file: curl -OL https://raw.githubusercontent.com/cunnie/deployments/6b230118399f4326094b4d60e21cda32e8c6f321/terraform/gcp/gke/gke.tf curl -OL https://raw.githubusercontent.com/cunnie/deployments/6b230118399f4326094b4d60e21cda32e8c6f321/terraform/gcp/gke/vpc.tf curl -OL https://raw.githubusercontent.com/cunnie/deployments/6b230118399f4326094b4d60e21cda32e8c6f321/terraform/gcp/gke/terraform.tfvars curl -OL https://raw.githubusercontent.com/cunnie/deployments/6b230118399f4326094b4d60e21cda32e8c6f321/terraform/gcp/gke/outputs.tf At this point we hear cries of protest, “What?! Downloading dubious files from sketchy software developers on the internet? Files whose provenance is murky at best?” ...

August 6, 2021 · 5 min · Brian Cunnie

The Old Blog is Dead. Long Live the New Blog!

Why am I creating a new blog? What was wrong with the old blog? Why don’t I use Medium? The short version: The old blog is frozen in time, like a prince caught in amber 1 or a dandy in aspic 2. I can no longer post to it. The old blog, the Pivotal Engineering Journal, which many of Pivotal’s engineers contributed to, was archived a year after VMware acquired Pivotal. Every acquisition brings changes, and this was, in the scheme of things, a very minor one. At least VMware kept the blog instead of simply discarding it. ...

July 18, 2021 · 2 min · Brian Cunnie

Flow Your Tests Like Your Code

My co-worker Belinda Liu turned to me and said, “I don’t like these tests at all; they’re hard to follow, and I’m not sure what they’re testing.” I looked at the tests that I had spent much of yesterday afternoon working on. She was right: they were hard to follow (even for me, who had written some of them!). How had we gotten here? Our code was straightforward, but our tests were byzantine (excessively complicated). We identified two problems: ...

February 16, 2020 · 6 min · Brian Cunnie

How To Enable IPv6 on Your Cloud Foundry's HAProxy

0. Abstract HAProxy is an optional load balancer included in the canonical open source Cloud Foundry deployment. Its intended use is on IaaSes (Infrastructures as a Service) that do not offer built-in load balancers [0]. On vSphere, this means without the optional network virtualization solutions, NSX-T and NSX-V. This blog post describes how to assign an IPv6 address to an HAProxy load balancer in a Cloud Foundry deployment. 1. Pre-requisites Users following this blog post should be familiar with BOSH, BOSH’s manifest operations files, IPv6, and deploying Cloud Foundry using cf-deployment. ...

February 1, 2020 · 7 min · Brian Cunnie

A High-performing Mid-range NAS Server, Part 3: 10 GbE

Abstract “How much faster will my VM’s disks be if I upgrade my ZFS-based (Z File System) NAS to 10 GbE?” The disks will be faster, in some cases, much faster. Our experience is that sequential read throughput will be 1.4✕ faster, write throughput, 10✕ faster, and IOPS, 1.6✕ faster. We ran a three-hour benchmark on our NAS server before and after upgrading to 10 GbE. We ran the benchmark again after upgrading. The benchmark looped through write-read-iops tests continuously. ...

May 25, 2019 · 6 min · Brian Cunnie