Kubernetes Microservices
Tags:
Use Kubernetes to deploy a Microservice architecture. You'll deploy, manage and monitor a live Kubernetes cluster.
Last updated 2022-01-10 | 4.7
- Deploy containers to a Kubernetes Cluster- Run Kubernetes in AWS using either EKS or Kops
- Monitor a live Kubernetes cluster using Prometheus and Grafana
What you'll learn
* Requirements
* 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
Description
- Deploy containers to a Kubernetes Cluster
- Run Kubernetes in AWS using either EKS or Kops
- 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
- Configure Ingress Control on a live Kubernetes deployment
- Understand Kubernetes StatefulSets
- Integrate Kubernetes with a Continuous Deployment System (CD)
- Use Helm to Manage Charts and to Dynamically Update your Kubernetes YAML
Course content
35 sections • 173 lectures
Introduction to Kubernetes Microservices course Preview 03:05
Code for the course Preview 00:28
Support for Apple M1 users Preview 00:30
Introducing Kubernetes Preview 09:34
Hands-on Project Preview 02:49
Extra note for Linux Users Preview 00:18
If you already have Docker installed... Preview 01:41
In the upcoming videos, we're going to install minikube, which is an excellent way to work with Kubernetes locally.
Minikube usually uses a Virtual Machine image which contains a full Kubernetes distribution. This works quite well, but as you'll see, it can be a pain to set up. You don't need to install Docker to use minikube, as minikube ships with its own Docker installation inside it.
However: if you already have Docker installed and running, then you now have an alternative available, called the "Docker Driver". This runs minikube inside a docker container. If you don't have Docker installed, don't worry, you can just follow the upcoming videos.
The advantage of the Docker driver: there's no need to set up any virtual machines and because minikube is a docker container, it is much more likely to run without problems. 80% of our support calls for this course are problems with virtualization and local environment problems!
There is one minor disadvantage, which I'll come to shortly...
To use the docker driver
Go straight to the video called "Installing kubectl and minikube".
Once minikube is installed, ensure Docker is running
Now start minikube with the command "minikube start --memory 4096 --driver docker". Actually, you don't need the --driver argument, because the docker driver becomes the default when you have Docker running. But let's include it to remind ourselves what is happening.
Now minikube should start up in the usual way
You can now proceed with the rest of the course.
You will need an additional command to access the application. This is the minor disadvantage! I'll show you this in the lecture called "Important note for Docker Driver Users" when we get there!
Alternative: if you have Docker Desktop, things are even easier...
Go straight to the video called "Installing kubectl and minikube", but you don't need to install minikube!
Instead of installing minikube, you can go to the Docker Dekstop settings, under the "Kubernetes" entry tick "Enable Kubernetes" and then apply and restart.
After a delay, you should now be able to run "kubectl version" and if you have a version number returned for client and server, you're good to go!