Docker Review
This module starts by providing an overview of docker foundations, then gets into more details of creating and managing images using registries.
- What is Docker
- Datacenter evolution (monolithic to containers)
- Container concepts
- Docker platform
Kubernetes: Containers at Scale
This module explains why Kubernetes was created and how it solves the container scaling problem.
- Story of Kubernetes
- Kubernetes at Google
Use-Cases
There are many use cases where Kubernetes can be applied as an infrastructure management service. In this module, you will learn about the following:
- Cloud-Native Applications
- Elastic Services
- CI/CD Pipeline Integration
- CI in Production at Scale
- Platform as a Service
Architecture
Understanding the design of Kubernetes will make you a better engineer. This module provides a high-level understanding of the Kubernetes architecture.
- Cluster Architecture
- Master Components
- Node Components
- Cluster Deployment Options
Workload Introduction
In this module, you will learn about critical components for servicing Kubernetes workloads, such as:
- Pods
- Application Pattern Controllers
- ReplicaSets
- Services
Pod Deep Dive
This module provides a detailed explanation of what Pods are, their most salient features, how they work, and how to manage them using commands.
- What is a Pod?
- Pod Features
- Pod Manifest Syntax
- Pod Command-Line Management
- Pod Labeling
- Pod Scheduling
Network Models
This module will teach you how to design networks to facilitate communication between pods and Kubernetes applications.
- Network Design
- Same Pod Communication
- Abstraction Through Services
- Network Addons
Services
After completing this module, you will better understand how to create and manage services using Kubernetes. The module includes the following service-related lessons:
- Design Goals
- Service Manifest Syntax
- Different Types of Services
- Label Selectors
- Command-Line Management
- Service Discovery
- DNS
- Environment Variables
Deployments
This module focuses on the creation of Kubernetes deployments. You will learn about the following:
- Overview
- Stateful Application Schemes
- ReplicaSet Controller
- Deployment Manifest Syntax
- Command-Line Management
Scaling Deployments
Production deployments might fail to meet demand in specific scenarios, so resources must scale accordingly. In this module, you will learn about different ways for scaling deployments, including but not limited to:
- Microservices
- Scaling Strategies
- Manual
- Autoscaling
- Horizontal Pod Autoscaler (HPA)
- External Service Integrations
Deployment Strategies
This module focuses on various deployment strategies that can be used when deploying Kubernetes Workloads. You will learn about the following tried and tested strategies:
- Recreate
- RollingUpdate
- Canary
- Blue/Green
Persistent Volumes
In this module, you will learn how persistent volumes are created and used to store data that needs to be persisted across the lifecycle of a pod.
- Types of Storage
- Volumes
- Claims
ConfigMap
In Kubernetes, a ConfigMap is a resource that allows you to store configuration data that your applications can use. They are helpful for storing configuration data that is not sensitive and does not need to be stored as part of an image. In this module, you will learn how to create and reference ConfigMaps.
- Overview
- Manifest Syntax
- Using ConfigMap values
- ConfigMap Restrictions
Secrets
This module explains how to create, store and use secrets securely in Kubernetes deployments.
- Overview
- Manifest Syntax
- Using Secret Values
Role-Based Access Controls
This module focuses on using Role Based Access Controls to provide fine-grained access control to Kubernetes resources.
- Roles
- ClusterRole
- RoleBinding
- Manifest Syntax
Run Kubernetes Locally
In this module, you will learn how to deploy and run Kubernetes workloads locally using Docker Desktop and Minikube.