Kubernetes: Your First Project (2021)
2h 45mIntermediate2021-11-04
Authors

Carlos Nunez
Cloud and Software Consultant | Field Engineer at VMware
Course details
This course walks you through your first Kubernetes project, in which you help a fictional company, Explore California, move their static website, currently running in AWS on virtual machines, into containers through Kubernetes. Instructor Carlos Nunez explores the core concepts of what makes Kubernetes tick: containers, the scheduler, the API server, the controller manager, and kube-proxy. Next, he shows you how to containerize the Explore California site and use Make to automate starting the website with Docker. Carlos steps through using Helm, one of the world’s most popular packaging tools for Kubernetes, to author a “Helm chart” that deploys Explore California onto a local Kubernetes cluster provisioned with Kind, an instance of Kubernetes on top of Docker. Finally, he deploys Explore California into AWS Elastic Kubernetes Service (a traditional managed Kubernetes offering) and AWS Elastic Container Registry (a “private” alternative to Docker Hub).
Skills covered
KubernetesDevOps ToolsDevOpsOpen SourceDeep Dive (X:Y)
Concepts
0. Introduction
- 01 - Your first project on Kubernetes
- 02 - What you should know
- 03 - Configuring AWS access
1. The Project The Mission
- 04 - Our application - Pre-Kubernetes
- 05 - Our application - Post-Kubernetes
2. A Brief Overview of Kubernetes
- 06 - How Docker containers work
- 07 - What is Kubernetes
3. Testing Locally with Docker
- 08 - Installing Docker
- 09 - Writing our project's Dockerfile
- 10 - Building the Docker image from the Dockerfile
- 11 - Writing our project's makefile
- 12 - Testing the website with make
- 13 - Challenge - Write a teardown make target
- 14 - Solution - Write a teardown make target
4. Running Kubernetes Locally with kind
- 15 - What is kind
- 16 - Installing kind
- 17 - Creating the kind cluster
- 18 - Creating the kind cluster with make
- 19 - Creating a local Docker Registry
- 20 - Creating the local Docker Registry with make
- 21 - Linking the local Docker Registry to the kind cluster
- 22 - Linking the kind registry with make
- 23 - Challenge - Deleting kind clusters with make
- 24 - Solution - Deleting kind clusters with make
5. Our First Kubernetes Manifests
- 25 - Understanding Kubernetes manifests - Part 1
- 26 - Understanding Kubernetes manifests - Part 2
- 27 - Creating a Deployment
- 28 - Creating a Service
- 29 - Understanding Ingress and Ingress controllers
- 30 - Creating the Ingress
- 31 - Configuring kind to use Ingress controllers
6. Our First Helm Chart
- 32 - What is Helm
- 33 - Creating our Chart metadata
- 34 - Creating our Chart values
- 35 - Templatizing a Deployment
- 36 - Deploying our Helm Chart with make
- 37 - Challenge - Change the port number
- 38 - Solution - Change the port number
7. We'll Do It Live
- 39 - From local testing to EKS - What's changing
- 40 - Explaining the kubeconfig
- 41 - Logging into an AWS EKS cluster with kubectl
- 42 - Deploy our Docker image into AWS ECR with the Docker CLI
- 43 - Deploying our Helm Chart into AWS EKS with make
- 44 - The smoke test - Does it work
- 45 - Cleaning up
Conclusion
- 46 - Next steps