Logo

Maxtrain.com - [email protected] - 513-322-8888 - 866-595-6863

WA-3003

Docker and Kubernetes Administration

Description

Containers are one of the most powerful tools that have emerged for developing and managing software. When combined with DevOps and Cloud Native practices, it enables organizations to efficiently deliver applications and services at high velocity.

Students in this Docker and Kubernetes training course will gain a foundation of the Docker and Kubernetes technologies. They will be introduced to the core components of both Docker and Kubernetes as they apply to both development and production/staging environments.

Topics in this Docker and Kubernetes training include: containers, tools for local management, pods, labels, volumes, networking, replication controllers, services, and stateful sets. Students will get hands-on experience with how the technologies can be used to deliver software according to DevOps practices.

At the end of this Docker and Kubernetes Training course, participants and teams will understand how to build secure, robust, highly available services that are resilient and able to adapt to rigorous application demands.

After Completion of this Course students will:

  • Learn the fundamental uses of container technology and the architectural principles of how to apply containers to technical challenges.
  • Create containers with both packaged solutions and custom software.
  • Learn how stateful services – such as databases, streaming solutions such as Kafka, and other specialty applications such as ElasticSearch – can be deployed in highly-available configurations with redundancy and service-discovery/load-balancing.
  • Use the Docker and Kubernetes CLI environments to deploy solutions in local (Docker) and cluster (Kubernetes) environments.
  • See how other components – such as Kafka Connect – can be used to integrate services within the Kubernetes platform.
  • Explore how Docker and technologies such as Jenkins can be used to continuously test and build containers based on changes to source code.

Outline

Module 1 - Docker and Linux Container Technology: Introduction and Use-Cases

  • Modern Infrastructure Terminology
  • Virtualization
  • Hypervisors
  • Hypervisor Types
  • Type 1 Hypervisors
  • Type 2 Hypervisors
  • Type 1 vs Type 2 Processing
  • Paravirtualization
  • Virtualization Qualities (1/2)
  • Virtualization Qualities (2/2)
  • Disadvantages of Virtualization
  • Containerization
  • Virtualization vs Containerization
  • Where to Use Virtualization and Containerization
  • Containerization: High-Level
  • Popular Containerization Systems
  • What are Linux Containers
  • Docker
  • OpenVZ
  • Solaris Zones (Containers)
  • Container Orchestration Tools
  • Docker Swarm
  • Kubernetes
  • Mesos and Marathon
  • Mesos and Marathon (contd.)
  • Docker Use-Cases
  • Microservices
  • Microservices and Containers / Clusters
  • Summary

Module 2 - Docker in Action

  • Docker Basics
  • Where Can I Run Docker?
  • Installing Docker Container Engine
  • Docker Toolbox
  • What is Docker?
  • Docker Architecture
  • Docker Architecture Diagram
  • Docker Images
  • Docker Containers
  • Docker Integration
  • Docker Services
  • Docker Application Container Public Repository
  • Docker Run Command
  • Starting, Inspecting, and Stopping Docker Containers
  • Docker Volume
  • Dockerfile
  • Docker Compose
  • Using Docker Compose
  • Dissecting docker-compose.yml
  • Specifying services
  • Dependencies between containers
  • Injecting Environment Variables
  • Summary

Module 3 - Managing Docker State

  • State and Data in Docker
  • Volumes
  • More About Volumes
  • Uses for Volumes
  • Working With Volumes
  • Create Volume
  • Use Volumes with Containers
  • Bind Mounts
  • Using Bind Mounts
  • tmpfs Mounts
  • Storing Data in the Container
  • Storage Drivers
  • Remote Data Storage
  • Networking
  • The Default Bridge Network
  • User-Defined Bridge Networks
  • Docker Network Commands
  • Creating a User-Defined Bridge Network
  • Summary

Module 4 - Kubernetes Core Concepts

  • Kubernetes Basics
  • What is Kubernetes?
  • Container Orchestration
  • Kubernetes Architecture
  • Kubernetes Concepts
  • Cluster and Namespace
  • Nodes
  • Master
  • Pod
  • Using Pods to Group Containers
  • Label
  • Label Syntax
  • Annotation
  • Label Selector
  • Replication Controller and Replica Set
  • Service
  • Storage Volume
  • Secret
  • Resource Quota
  • Authentication and Authorization
  • Routing
  • Docker Registry
  • Summary

Module 5 - Kubernetes Architecture

  • Architecture Diagram
  • Components
  • Kubernetes Cluster
  • Master Node
  • Kube-Control-Manager
  • Nodes
  • Other Components
  • Interacting with Kubernetes
  • Summary

Module 6 - Working with Kubernetes

  • Installation
  • Startup
  • Kubernetes Tools
  • kubectl Command Line Interface
  • API Proxy
  • Dashboard
  • Kubernetes Component Hierarchy
  • Deployments
  • Deployment Commands
  • Updating Deployments
  • Network Considerations
  • Services
  • Namespaces
  • Other Useful Commands
  •  
  • Summary

Module 7 - Scheduling and Node Management

  • Kubernetes Scheduler Overview
  • Trusting the Kubernetes Scheduler
  • Scheduling Process
  • Scheduling Process – Predicates
  • Scheduling Process – Priorities
  • Scheduling Algorithm
  • Kubernetes Scheduling Algorithm
  • Scheduling Conflicts
  • Controlling Scheduling
  • Label Selectors
  • Label Selectors (Contd.)
  • Node Affinity and Anti-affinity
  • Node Affinity Example
  • Node Antiaffinity Example
  • Taints and Tolerations
  • Taints and Tolerations (Contd.)
  • Taints and Tolerations – Example
  • Summary

Module 8 - Managing Networking

  • Kubernetes Networking Components
  • The Kubernetes Network Model
  • Networking Scenarios
  • Container-Container Communication
  • Pod-Pod Communication
  • 1.3 Pod-Service Communication
  • External-Service Communication
  • Accessing Applications
  • Useful Commands
  • Summary

Module 9 - Managing Persistent Storage

  • Storage Methods
  • Container OS file system storage
  • Docker Volumes
  • Kubernetes Volumes
  • K8S Volume Types
  • Cloud Resource Types
  • configMaps
  • Creating configMaps from Literals
  • Creating configMaps from files
  • Using configMaps
  • emptyDir
  • Using an emptyDir Volume
  • Other Volume Types
  • Persistent Volumes
  • Creating a Volume
  • Persistent Volume Claim
  • Persistent Volume
  • Pod that uses Persistent Volume
  • Secrets
  • Creating Secrets from Files
  • Creating Secrets from Literals
  • Using Secrets
  • Security Context
  • Security Context Usage
  • Summary

Module 10 - Working with Helm

  • What is Helm?
  • Installing Helm
  • Helm and KUBECONFIG
  • Helm Features
  • Helm Terminology
  • Searching for Charts with helm CLI
  • Adding Repositories
  • Helm Hub – Search
  • Helm Hub – Chart Page
  • Installing a Chart
  • Upgrading a Release
  • Rolling Back a Release
  • Creating Custom Charts
  • Common Chart Files
  • Helm Templates
  • Installing A Custom Chart
  • Packaging Custom Charts
  • Summary

Module 11 - Continuous Integration Fundamentals

  • Jenkins Continuous Integration
  • Jenkins Features
  • Running Jenkins
  • Downloading and Installing Jenkins
  • Running Jenkins as a Stand-Alone Application
  • Running Jenkins on an Application Server
  • Installing Jenkins as a Windows Service
  • Different types of Jenkins job
  • Configuring Source Code Management(SCM)
  • Working with Subversion
  • Working with Subversion (cont’d)
  • Working with Git
  • Build Triggers
  • Schedule Build Jobs
  • Polling the SCM
  • Maven Build Steps
  • Configuring Jenkins to Access Kubernetes
  • Jenkins Pipeline
  • Jenkins Pipeline Output
  • Installing Jenkins Plugins
  • Summary

Lab Exercises

Lab 1. Managing Containers
Lab 2. Building Images
Lab 3. Dockerfiles
Lab 4. Deploying Stateful Services in Docker
Lab 5. Custom Network Management
Lab 6. Docker Volumes
Lab 7. Accessing the Kubernetes API
Lab 8. Working with Kubernetes Workloads
Lab 9. Scheduling and Node Management
Lab 10. Accessing Applications
Lab 11. Using Persistent Storage
Lab 12. Getting Started with Helm
Lab 13. Build CI Pipeline with Jenkins

PreRequisites

  • Proficiency with the Linux Command Line Interface (CLI)
  • Broad understanding of Linux system administration: Linux file system, networking, and bash scripting.
  • Computer programming concepts and methodologies. Full code examples for the course are provided in the Python and Java programming languages.

Audience

Developers, system architects, technical team leads, systems administrators, and DevOps professionals who want to understand and use Kubernetes in cloud environments.

$1995.00 List Price

3 Days Course

Class Dates

$1995.00
Remote Live

This class runs from 09:00 AM to 05:00 PM EDT
$1995.00
Remote Live

This class runs from 09:00 AM to 05:00 PM EDT
$1995.00
Remote Live

This class runs from 09:00 AM to 05:00 PM EDT
$1995.00
Remote Live

This class runs from 09:00 AM to 05:00 PM EDT

MAX Educ. Savings
Category:
Loading ...