Docker with Kubernetes

Live Online (VILT) & Classroom Corporate Training Course

Docker is a popular platform for containerization & using this application components and infrastructure can be separately containerized and run by a single OS kernel. Using Kubernetes, you can automate the deployment, management, and scaling of your containers.
Kubernetes

How can we help you?

  • CloudLabs
    CloudLabs
  • Projects
    Projects
  • Assignments
    Assignments
  • 24x7 Support
    24x7 Support
  • Lifetime Access
    Lifetime Access
Box

Overview

Docker and Kubernetes represent how modern systems are developed and deployed for the highest degree of agility, scalability, and reliability. The first half of this training covers how to use Docker containers for speeding-up development and test cycles. The second half of this training covers how to use Kubernetes with containers for easy and reliable deployment of large-scale distributed systems and help them scale and self-heal as and when needed.

Box

Objectives

At the end of this training, participants will be able to

  • Create Docker images
  • Create and manage Docker containers
  • Use Docker bridge network for development and testing distributed systems
  • Use Docker Volumes to manage persistent data
  • Use Docker Compose to build multi-container applications
  • Use Docker Compose to build multi-container applications
  • Create Kubernetes cluster on Cloud
  • Configuring application components for Kubernetes deployment
  • Deploy and scale applications using Kubernetes
  • Use persistent storage, networking, automating deployment, scaling, and management of containerized applications
  • Logging and monitoring in Kubernetes
Box

Prerequisites

Participants should have:

  • Understanding of basic LINUX shell commands for
  • Navigating through filesystem – ls, cd
  • Editing files – vi/vim/nano/emacs or any other LINUX editor
  • Executing commands – ps, kill, cat
Box

Course Outline

Docker Container Overview

  • What are containers?
  • Comparison with Virtual Machines
  • Why use containers?
  • Docker container and alternatives
  • Docker architecture
  • Docker registry

Docker Setup

  • Install Docker
  • Install Docker Compose
  • Start the Docker Daemon
  • Validate Docker Install

Docker Images

  • Dockerfile configuration for image creation
  • Building images
  • Management of images
  • Listing and Removing Images
  • Searching for Images
  • Downloading Images
  • Uploading Images
  • Export/Import Images
  • Save/Load Images
  • Lab Exercise
  • Create docker images for
  • UI
  • Microservices
  • Database
  • Verify installation of software dependencies

Docker Containers

  • Starting containers
  • Managing containers
  • Listing Containers
  •  Stopping, Starting, and Removing Containers
  • Running Commands in a running container
  • Copying files in/out of Containers
  • Monitoring container logs
  • Networking for containers
  • Docker DNS
  • Host Network
  • Bridge Network
  • Lab Exercise
  • Run docker containers for
  • UI
  • Microservices
  • Database
  • Verify end-to-end container communication

Docker Volumes

  • Volumes for persistence
  • Managing volumes
  • Create volumes
  • Remove volumes
  • Lab Exercise
  • Create volumes for
  • DB data
  • Application logs
  • Verify DB data and application log persistence

Docker Compose

  • Working with multiple containers
  • Configuring docker-compose
  • Managing containers with docker-compose
  • Build, Start, Stop, Remove, Log
  • Scaling containers
  • Lab Exercise
  • Start & stop containers
  • UI, Microservices, Database
  • Verify scalability with multiple instances

Kubernetes Overview

  • Docker Swarm for multi-machine deployment
  • Kubernetes as the superior alternative
  • Kubernetes Architecture
  • Cluster
  • Control plane
  • Nodes
  • Cluster Topology
  • DNS
  • Workloads
  • Pods
  • Deployment
  • Statefulset
  • Job
  • Services
  • Load balancer
  • Node port
  • Ingress
  • Operations
  • Autoscaling
  • Health Checks
  • High Availability
  • Rolling upgrades

Kubernetes Setup

  • Install kubectl
  • Creating Kubernetes cluster on cloud
  • Creating cluster nodepool
  • Creating container registry on cloud
  • Uploading docker images to container registry
  • Lab Exercise
  • Upload docker images to registry
  • UI, Microservices, Database
  • Create K8s cluster and nodepool

Kubernetes Configuration

  • Service configuration
  • Load Balancer
  • Node Port
  • Workload configuration
  • Pods
  • Deployment
  • Statefulset
  • Job
  • Volume configuration
  • Persistent volumes
  • Persistent volume claims
  • Config maps
  • Secrets
  • Resource limits
  • Horizontal pod autoscaler
  • Lab Exercise
  • Create configuration files for:
  • Webapp, Microservices, Database
  • Environment variables
  • Resources
  • Liveness & Readiness probes

Kubernetes Deployment & Operations

  • Kubectl commands
  • Apply/Create/Delete configuration
  • Viewing pods and services
  • Connecting to pods and containers
  • Viewing logs
  • Lab Exercise
  • Create persistent volumes and claims
  • Create/Apply & Delete configurations
  • Start/Stop Services
  • Load-balancers
  • Start/Stop Workloads
  • WebApp, Microservices, Database
  • Verify autoscaler under user load
  • Verify high availability by killing some instances
  • Verify rolling upgrade
  • Delete nodes and clusters
Box

Testimonials