Introduction to Docker and Kubernetes


Course Number: CLD-122WA
Duration: 2 days (13 hours)
Format: Live, hands-on

Docker and Kubernetes Training Overview

This Docker and Kubernetes training course teaches students how to create and deploy applications using Docker to create containers and Kubernetes to manage and deploy those containers.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

In addition, some courses are available as live, instructor-led training from one of our partners.

Objectives

  • Understand the basics of Docker and Kubernetes
  • Create and manage Docker images
  • Deploy Docker containers
  • Use Kubernetes to orchestrate containerized applications
  • Troubleshoot Docker and Kubernetes problems

Prerequisites

All students must be somewhat familiar with Linux and have basic programming skills.

Outline

Expand All | Collapse All

Introduction
What is Docker?
  • Where Can I Run Docker?
  • Installing Docker Container Engine
  • Docker Machine
  • Docker Engine Architecture
  • runC
  • Containerd
  • Docker as Platform-as-a-Service (PaaS)
  • Docker and Cloud
  • Docker Services
  • Docker Application Container Public Repository
  • Various Containers
  • Docker Command Line Interface (CLI)
  • Starting, Inspecting, and Stopping Docker Containers
  • Docker Port Publishing
  • Docker Volume
  • Dockerfile
  • Docker Compose
  • Using docker compose
  • Dissecting docker-compose.yml
  • Specifying services
  • Dependencies between containers
  • Injecting Environment Variables
What is Kubernetes?
  • What is a Container?
  • Containers: Uses, Pros, Cons
  • Composition of a Container
  • Control Groups
  • Namespaces
  • Union Filesystems
  • Microservices Concepts
  • Microservices and Containers / Clusters
  • Microservices and Orchestration
  • Microservices and Infrastructure-as-Code
  • Kubernetes Container Networking
  • Kubernetes Networking
Kubernetes – From the Firehose
  • What is Kubernetes?
  • Container Orchestration
  • Kubernetes Architecture
  • Kubernetes Concepts
  • Cluster and Namespace
  • Node
  • Master/Controller
  • Pod
  • Label
  • Annotation
  • Label Selector
  • Replication Controller and Replica Set
  • Service and Service types (ClusterIP, NodePort, LoadBalancer etc)
  • Ingress
  • Persistent Volume Claims(PVC), Persistent Volumes (PV) & Storage Classes
  • Secret
  • ConfigMaps
  • Custom Resource Definitions (CRDs)
  • Operators
  • Resource Quota
  • Authentication and Authorization e.g., RBAC (Role-Based Access Control) 
  • Routing Concepts
  • Registries
  • Using Docker Registry
Kubernetes Workload
  • What is a Kubernetes Workload?
  • Managing Workloads
  • Imperative commands
  • Imperative Object Configuration
  • Declarative Object Configuration
  • Configuration File Schema
  • Understanding API Version
  • Obtaining API Versions
  • Stateless Applications
  • Sample Deployment Manifest File
  • Working with Deployments
  • Stateful Applications
  • Sample Stateful Manifest File
  • Working with StatefulSet
  • Jobs/CronJob/BatchJob
  • Sample Job Manifest File
  • DaemonSets
  • Sample Daemon Manifest File
  • Rolling Updates
Scheduling and Node Management
  • The Kubernetes Scheduler
  • The Scheduling Process
  • The Kubernetes Scheduling Algorithm
  • Scheduling Conflicts
  • Controlling Scheduling
  • Node Affinity and Anti-affinity
  • Taints and Tolerations
  • Predicates and Priorities
Logging, Monitoring, and Troubleshooting
  • Differences Between Logging and Monitoring
  • Basic Logging
  • Logging Agents
  • Fluentd/Fluentbit and Elastic Stack
  • Monitoring with Prometheus
  • Kubernetes and Prometheus - Metrics
  • Alerting
  • Debugging Pods
  • Debugging Nodes
  • Debugging Replication Controllers and Services
  • Upgrading Kubernetes
  • The Upgrade Process
  • Determine Which Version to Upgrade To
  • Upgrade kubeadm
  • Upgrade Control Plane Node
  • Upgrade kubelet and kubectl
  • Upgrade Worker Nodes
  • Recovering From a Failure State
Conclusion

Training Materials

All Docker with Kubernetes training attendees receive comprehensive courseware.

Software Requirements

A complete remote environment is included for each student with the class. You will need Internet access, a modern web browser, and an SSH client to access the environment.



Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan