6 May 2016 in Kubernetes, GKE, Tutorial

Spinning Up Your First Kubernetes Cluster on GKE

So you've read about Kubernetes and maybe Google Cloud Platform, but you've never spun up a cluster for yourself. Fret not. In this post, we'll take you through the basics, and by the end of it, you'll have a three node cluster up and running.

Create Your Google Cloud Project

If you don't already have a Google account, you must create one before you continue.

Sign in to your Google Cloud Platform console and create a new project:

Then pick the project name:

Note down the project ID. This is a unique name across all Google Cloud projects. Later in this post, we will refer to this as PROJECT_ID.

Next, enable billing in the console. You need this to access Google Cloud resources. Next, enable the Container Engine API and Compute Engine API. You must complete all three steps before continuing.

Read More
3 May 2016 in Kubernetes, Overview, Series: Kubernetes Overview

Kubernetes Overview, Part Two

In my previous post we looked at kubectl, clusters, the control plane, namespaces, pods, services, replication controllers, and labels.

In this post we take a look at at volumes, secrets, rolling updates, and Helm.

Volumes

A volume is a directory, possibly with some data in it, accessible to a container as part of its filesystem. Volumes are used used, for example, to store stateful app data.

Kubernetes supports several types of volume:

  • emptyDir
  • hostPath
  • gcePersistentDisk
  • awsElasticBlockStore
  • nfs
  • iscsi
  • glusterfs
  • rbd
  • gitRepo
  • secret
  • persistentVolumeClaim
Read More
28 Apr 2016 in Deis Workflow, Announcement, Kubernetes

Deis Workflow, Beta 3

Time keeps on slippin', slippin', slippin', into the future. But not Deis Workflow Beta releases.

The team just cut Beta 3 of Deis Workflow. We've been happy with the two-week release cadence. Keep your eyes out for Beta 4 due May 11th and our Release Candidate May 25th.

Now, for beta highlights!

Read More
27 Apr 2016 in Kubernetes, Overview, Series: Kubernetes Overview

Kubernetes Overview, Part One

Kubernetes is an open-source system for managing containerized applications across multiple hosts in a cluster.

Kubernetes provides mechanisms for application deployment, scheduling, updating, maintenance, and scaling. A key feature of Kubernetes is that it actively manages the containers to ensure the state of the cluster continually matches the user's intentions.

Kubernetes enables you to respond quickly to customer demand by scaling or rolling out new features. It also allows you to make maximal use of your hardware.

Kubernetes is:

  • Lean: lightweight, simple, accessible
  • Portable: public, private, hybrid, multi cloud
  • Extensible: modular, pluggable, hookable, composable, toolable
  • Self-healing: auto-placement, auto-restart, auto-replication

Kubernetes builds on a decade and a half of experience at Google running production workloads at scale, combined with best-of-breed ideas and practices from the community.

Kubernetes supports Docker and rkt containers, with more container types to be supported in a future.

In this miniseries, we’ll cover Kubernetes from the ground up.

Let’s start with the basic components.

Read More
21 Apr 2016 in Deis Workflow, Helm, Wercker, Continuous Deployment

Continuous Deployment With Helm Classic, Deis Workflow, and Wercker

Deis Workflow is already in GA for a while. But what is it like to work with? Well, I created an example repository on GitHub to demo some functionality.

Using this example, we'll build a simple, multi-tier web application using Helm Classic, Deis Workflow, and Wercker for continuous deployment.

When we finish, we'll have:

  • A backend Redis cluster (for storage)
  • A web frontend (installed as a Deis Workflow app) that interacts with Redis via JavaScript
  • Wercker for continuous deployment of your Docker image to Deis Workflow
Read More