Getting to Know K8s - A Blog Series About All Things Kubernetes
The repository for the Getting to Know K8s blog series on KumoriLabs.com:
- Introduction: A Blog Series About All Things Kubernetes
- Lab #1: Deploy a Kubernetes Cluster in AWS with Kops
- Lab #2: Maintaining your Kubernetes Cluster
- Lab #3: Creating Deployments & Services in Kubernetes
- Lab #4: Deployment Strategies: Rolling Updates, Canary & Blue-Green
- Lab #5: Setup Horizontal Pod & Cluster Autoscaling in Kubernetes
- Lab #6: Integrating Jenkins and Kubernetes
- Lab #7: Continuous Deployment with Jenkins and Kubernetes
- Lab #8: Continuous Deployment with Travis CI and Kubernetes
- Lab #9: Continuous Deployment with Wercker and Kubernetes
- Lab #10: Setup Kubernetes Federation Between Clusters in Different AWS Regions
Getting Started
All of the posts in the blog series are structured as individual labs and although it is not required to go through them sequentially, it is recommended.
Prerequisites
AWS Account: Amazon will be the IaaS provider we will be using and therefore you will need to have an AWS account. If you don't have an account, you can sign-up for an AWS Free Tier account, which will give you a certain amount of usage of specific AWS resources for free each month for 12 months.
AWS Route 53 Domain: In addition to the AWS account, you will also need to have a public domain hosted in AWS Route 53, which is a requirement to deploy clusters with Kops. If you don't already have a domain in Route 53 that you can use, refer to the Kops documentation for instructions on how to setup one of the three supported scenarios.
GitHub Account: We will be creating a demo website with Hugo, which will be used in multiple labs. The source for the Hugo site will need to be stored in a GitHub repository owned by you. If you don't already have a GitHub account, you can create a free account here.
Docker Hub Account: The Docker images for the Hugo site need to be stored in a Docker Hub repository owned by you. If you don't already have a Docker Hub account, you can create a free account here.
Lab Environment
For the execution of the labs, you can choose to use the provided Vagrantfile to provision a Vagrant box which has everything you will need already installed or you can install the required tools on your local host: