Docker and Kubernetes
Docker is the world’s leading software containerization platform. It packages your application into one standardised unit, wrapping it into a complete file system that contains everything needed to run on a server. Kubernetes is a system created by Google to automate the deployment, scaling and management of containerized applications (like the ones Docker creates). The two combined make life a breeze for anyone needing to transport, install and maintain complex software applications anywhere.
Course Objectives
This is a hands-on course is designed to teach you how to:
- Set up Docker engine, workstation
- Configure Docker engine
- Build and Manage Docker Images
- Bundle applications in Docker images
- Setup Docker Swarm cluster
- Run applications in Docker swarm cluster
- Run applications on Kubernetes cluster
Target Audience
- Full Stack Developers
- Anyone deploying containerized applications
- Site Reliability Engineers (SREs)
- DevOps Engineers
- Operations Engineers
Course Pre-Requisites
- No prior knowledge of the Docker /Containerization is required. This course is designed for individuals new to the Docker.
- Participants must be comfortable using the terminal or command line.
- Basic understanding of Linux/Unix OS.
Course Duration
- 40 Hours
- 14 Classes
- 3.00 Hours per Class
Fee | 12000/= |
Type | Offline/Online |
Module | 14 |
Duration | 40 Hours |
Session | 14 |
Per Class | 3 Hours |
Details Course Outlines
Module-01
Introduction to Docker
- Theory
- Docker overview
- Images, containers, volumes, networks
- Installing Docker
- Running a container
- Building an image
Module-02
Using Docker
- Best practices
- Image management, Docker Hub and Docker Registry
- Docker volumes
- Docker networks
Module-03
Container Orchestration
- Introduction to Docker swarm
- Install and configure docker swarm
Module-04
Container Orchestration
- Introduction to container orchestration
- Introduction to Kubernetes
- Kubernetes installation and configuration
Module-05
Kubernetes Concepts
- Pods, volumes, labels, annotations
- Deployments, services
- Using Kubernetes
Module-06
Application Lifecycle Management
- Understand deployments and how to perform rolling update and rollbacks
- Know various ways to configure applications
- Know how to scale applications
- Understand the primitives necessary to create a self-healing application
Module-07
Installation, Configuration & Validation
- Design a Kubernetes Cluster
- Install Kubernetes Masters and Nodes
- Configure secure cluster communications
- Configure a highly-available Kubernetes cluster
- Know where to get the Kubernetes release binaries
- Provision underlying infrastructure to deploy a Kubernetes cluster
- Choose a network solution
- Choose your Kubernetes infrastructure configuration
- Run end-to-end tests on your cluster
- Analyze end-to-end test results
- Run Node end-to-end Tests
- Install and use kubeadm to install, configure, and manage Kubernetes clusters
Module-08
Core Concepts
- Understand the Kubernetes API primitives
- Understand the Kubernetes cluster architecture
- Understand Services and other network primitives
Module-09
Networking
- Understand the networking configuration on the cluster nodes
- Understand Pod networking concepts
- Understand Service Networking
- Deploy and configure network load balancer
- Know how to use Ingress rules
- Know how to configure and use the cluster DNS
- Understand CNI
Module-10
Scheduling
- Use label selectors to schedule Pods
- Understand the role of Daemon Sets
- Understand how resource limits can affect Pod scheduling
- Understand how to run multiple schedulers and how to configure Pods to use them
- Manually schedule a pod without a scheduler
- Display scheduler events
Module-11
Security
- Know how to configure authentication and authorization
- Understand Kubernetes security primitives
- Know how to configure network policies
- Create and manage TLS certificates for cluster components
- Work with images securely
- Define security contexts
- Secure persistent key value store
Module-12
Cluster Maintenance
- Understand Kubernetes cluster upgrade process
- Facilitate operating system upgrades
- Implement backup and restore methodologies
- Logging / Monitoring
- Understand how to monitor all cluster components
- Understand how to monitor applications
- Manage cluster component logs
- Manage application logs
Module-13
Storage
- Understand persistent volumes and know how to create them
- Understand access modes for volumes
- Understand persistent volume claims primitive
- Understand Kubernetes storage objects
- Know how to configure applications with persistent storage
Module-14
Troubleshooting
- Troubleshoot application failure
- Troubleshoot control plane failure
- Troubleshoot worker node failure
- Troubleshoot networking