Getting To Know K8s | Lab #1: Deploy a Kubernetes Cluster in AWS with Kops

Kops - Create Cluster

This post was updated on September 18th, 2017 for Kubernetes version 1.7.6 & Kops version 1.7.0

Introduction

In this first lab, we will deploy a Kubernetes cluster in AWS using Kops, the command line tool from Kubernetes for deploying production-grade clusters. The cluster will be located in a single availability zone, with one master and two nodes. You will also see what options to change if you want to deploy a high-availability (HA) cluster spread across different availability zones and with multiple masters.

Once the cluster is operational, you will see how to check the status of the cluster and the cluster controlling services (API server, controller manager, scheduler, etc.) running on the master.

And finally, you will see how to completely delete the cluster and all it’s associated objects in AWS with Kops.

Continue reading

Getting To Know K8s | A Blog Series About All Things Kubernetes

Kubernetes Logo

This post was updated on September 18th, 2017 for Kubernetes version 1.7.6 & Kops version 1.7.0

Introduction

Kubernetes (“K8s” for short) is open-source container orchestration platform used to automate the deployment, scaling and management of containerized applications. It was created by Google in 2014 and is built upon their 10+ years of experience running containerized production workloads on a large scale.

Even though Kubernetes has only be around for a couple years, it has already become the most popular container orchestration tool, beating out other major players in the space such as Apache Mesos and Docker Swarm. And some are saying that it is one of the fastest moving projects in the history of open source, based on an analysis of GitHub repository activity.

For somebody who is new to Kubernetes, it can be difficult to know where to get started. For example, there are currently 40 different ways to deploy a Kubernetes cluster, depending on the IaaS provider you are using, the configuration management system you have in place and what type of networking model you want to use.

The following blog series will take you through various parts of Kubernetes, such as deploying and maintaining a single cluster, deploying & managing applications, integrating a cluster with some common CI/CD tools (e.g., Jenkins, Travis CI, Wercker) and how to setup a federation between multiple clusters.

Continue reading

AWS CloudFormation vs Terraform

I am a firm believer in the benefits of programmable and repeatable infrastructure for organizations of all sizes. There are a wide range of tools that are available to help you along this path but I just want to touch on two of them today: CloudFormation and Terraform.

Continue reading

How to Convince your Boss to Invest in Continuous Delivery

If you are a developer, you might already be aware of the benefits of continuous delivery. This can be frustrating if your management is not also on board. They might not see it as a worthy investment at this point. Maybe they feel your team is too busy fighting fires. Or there are important features to ship and taking time to develop a continuous delivery workflow would take away from that. Perhaps they have decided that an infrequent deploy schedule is best for your application.

Continue reading