Kubernetes Hands-On – Deploy Microservices to the AWS Cloud
Use Kubernetes to deploy a Microservice architecture. You’ll deploy, manage and monitor a live Kubernetes cluster.
- Deploy containers to a Kubenetes Cluster
- Run Kubernetes in AWS using the Kops management tool
- Monitor a live Kubernetes cluster using Prometheus and Grafana
- Analyse system-wide logs using the ELK Stack (ElasticStack); Kibana and ElasticSearch
- Handle Alerts in a Kubernetes cluster by notifying Slack Channels
- Understand how Requests and Limits work in Kubernetes
- Use Kubernetes Horizontal Pod Autoscaling
- Use RBAC to restrict access to a Kubernetes cluster
- Configure Ingress Control on a live Kubernetes deployment
- Understand Kubernetes StatefulSets
- Integrate Kubernetes with a Continuous Deployment System (CD)
- Some previous knowledge of Docker is useful, but an overview is provided as part of the course
- Previous knowledge of AWS is useful for the later sections of the course; however all the concepts are explained in detail and this would serve as a great first project on AWS
- We’ll be using the terminal throughout the course so some (basic) familiarity of terminal operations is assumed
- You will need a modern computer with at least 8Gb of RAM to run the practical sessions
Kubernetes is one of the hottest topics right now, and engineers with Kubernetes skills are in big demand.
Get those skills with this course! It’s is a great chance to work on a real Kubernetes project, and to get yourself to a high professional standard on real projects.
All the way through the course you’ll be working on realistic requirements – but you don’t need to be a coder or know any particular programming language – I’ve prepared for you a set of Docker images, and your job is to use Kubernetes to get these images running.
The system is a Microservice based architecture, and along the way we’ll look at design decisions and trade-offs you need to make when managing these complex systems. Note the course isn’t about how to design Microservices (although we’ll certainly be talking about that); the development work is done and we need to get the system running on a production cluster.
We’ll also discover that the developers have made some bad mistakes in their code, by analysing the run time performance of the cluster!
You can do the first part of the course on your local development computer (PC/Mac/Laptop). The second part (from Chapter 13 onwards) moves to the cloud. You’ll use a real AWS account, and we go ahead to set up monitoring with the ELK/Elastic Stack and monitor with Prometheus and Grafana.
I’ve designed this course for a wide audience – whether you’re a DevOps engineer, a developer or if you’re quite new to the whole field, I’ll explain everything along the way. Just some basic knowledge of working with computers, and maybe a bit of command line experience will suffice.
You will need an AWS account for chapters 13-17 if you want to work on the system yourself. If you’re new to AWS then don’t worry, I’ve got you covered -but Amazon will charge you for running the system (as with all/most cloud providers). Expect to pay no more than around 10USD for this (this is a safe overestimate), but you are expected to manage this spend yourself and you must delete your Kubernetes cluster at the end of your session. Don’t let that put you off, it’s a great investment.
As always, I’m here to answer questions and I aim to respond within 48 hours.
Who this course is for:
- Anyone wanting to use Kubernetes on live production projects
- We will be using AWS in the later sections of the course (optional); all AWS concepts are explained so this is a great start if you’re new to the cloud, but be aware that AWS do charge for usage.
Created by Richard Chesterwood, Virtual Pair Programmers
Last updated 6/2019
Size: 9.59 GB