devops

Deploying a Haskell Web Service to Kubernetes

Posted on

Haskell is a statically typed purely functional programming language from which other languages such as Scala, Elm, Purescript etc draws a lot of inpsiration. I’ve been interested in learning Haskell for a quite while and I’m still in the beginning of this phase so feel free to point out any obvious flaws in the comment […]

devops

Solving access problems after GKE cluster upgrade to v1.3

Posted on

In this post I’m just going to briefly describe a work-around to a problem I encountered when upgrading our Kubernetes cluster on Google Container Engine (GKE). The Problem The problem occurred after upgrading from Kubernetes version 1.2.5 to 1.3.5 on Google Container Engine. After this upgrade I could only perform read operations on the cluster […]

devops

Distributed Coordination with Kubernetes

Posted on

At Parkster we’re in the process of migrating a large monolithic application into smaller services. We’ve already been using Kubernetes for quite a while and the only application that (previously) had not been moved to Kubernetes is the (still quite large) remnants of this monolith. Fully splitting the monolith into its smaller parts is a […]

devops

Kubernetes Caveats and Workarounds

Posted on

In a previous blog post I talked about how we came to use Kubernetes on Google Container Engine (GKE). In this post I’ll mention some of the caveats and workarounds we’ve come across so far when using this combination. The intension of this blog post is not to discredit the awesome work made by the […]

devops

Why We Chose Kubernetes

Posted on

A couple of months ago I set out to investigate some orchestration tools for Docker containers. I.e. something that would help us schedule Docker containers onto nodes in a cluster and make sure that our services stays up in case of various failures. But let’s start at the beginning, why would we need this in […]

devops

Restrict Google CloudSQL to a Kubernetes cluster

Posted on

If you’re on the Google cloud and are using a SQL database it’s not unlikely that you’re using a Google CloudSQL instance or two. When creating a Cloud SQL instance you want to lock down the access so that only authorized networks can to connect to your instance. This is typically done by configuring the […]

bash

Simple templating engine in Bash

Posted on

TL;DR: Checkout the template engine at github. When working with pods in Kubernetes I had the need to define environment variables for the pod from a file. This is currently not supported in the currently released version of Kubernetes (1.1). What I wanted to do was to have a template file, for example `pod-template.yaml`, that […]

devops

Tail logs from multiple pods simultaneously in Kubernetes

Posted on

I’ve recently started working quite extensively with Kubernetes on Google Container Engine. But one thing that bugged me was that I couldn’t get logs from multiple pods simultaneously using the Google Cloud SDK (`kubectl`). This is something that you often want to do, at least if you run multiple instances of a pod behind a […]