Description
In this course, you will :
- learn all of the essential concepts, such as architecture, pods, deployments, services, ingress, and much more.
- Once you've mastered the fundamentals, you'll be able to apply your knowledge in a project where you'll create and run an application in a real Kubernetes cluster.
- By the end of this course, you will be completely confident in deploying and managing Kubernetes clusters.
Syllabus :
1. What Kubernetes Brings to the Table
- How it All Started
- Virtual Machines (VM)
- Introduction to Kubernetes
- Let's Run Our First Application
2. Kubernetes Architecture
- A Kubernetes Cluster
- The Workers and the Master
- Kubectl: Our Swiss Army Knife
3. Pods
- Multi-Container Pods
- Playing with Running Pods
4. Deployments
- Defining Our Deployment Manifest
- Restarting Failed Pods
- Scaling Up/Down Our Application
- Rolling Out Releases
- Controlling the Rollout Rate
- Using a Different Rollout Strategy
- Dealing with Bad Releases
- Keeping Applications Healthy with Liveness Probes
5. Services
- A Quick Example
- Service Types and ClusterIP
- NodePort and LoadBalancer
- ExternalName
- Service Discovery
- DNS
- Environment Variables
6. Ingress
- Defining Rules per Host
- Ingress vs LoadBalancer
7. Configuring Applications with Configmaps
- Passing an Environment Variable to Our Container
- Extracting Configs to a ConfigMap
- Mounting Configs as Files
8. Using Secrets for Sensitive Configs
- Mounting Secrets as Files
9. Running Jobs
- Running Multiple Pods
- When Jobs Fail
- Scheduling Jobs with CronJob
10. Organizing Resources with Namespaces
- Running Resources in a Different Namespace
- How Namespaces Affect Service’s DNS
11. Managing Containers Resource Usage
- Defining Resource Requests
- Defining Resource Limits
- Defining Default Limits and Requests with Limitrange
12. Understanding the Kubeconfig File
- Using Different Contexts