Docker & Kubernetes Fundamentals

Course Description

This is a practical, hands-on training course for software developers and systems administrators seeking to gain a good understanding of Docker and Kubernetes. The course will show how they can be used to solve real-world DevOps problems.
5 days
Contact us for pricing
 

Prerequisites

Participants should have:
Familiarity with linux command line operations
Understanding of web applications

Course Objectives

Participants will benefit from hands-on experience of the Kubernetes tools and utilities; they will:

Understand Docker Images and Containers
Use pre-configured Docker images from Docker Hub
Understand Kubernetes Architecture
Understand and configure the various Kubernetes components
Use Kubernetes to Orchestrate Docker Containers
Gain Experience in Configuring Scalable Fault-tolerant Web Applications

Introduction

What is virtualisation?
The history of virtualisation
What is Docker?
What is Kubernetes?
Linux command-line techniques for this course

Docker Fundamentals

Installing Docker
Creating a Docker image
Running a Docker image
Interacting with a Docker image
Configuring a Docker image using Docker-compose
Dockerhub and pre-configured images
Configuring an image from Docker Hub
Persistence and Docker
Communicating between two Docker images

Kubernetes Fundamentals

K8s Architecture
The main K8s components
Cluster
Node
Deployment
Pod
Service
ConfigMap
Secret
Namespace


Getting started with Kubernetes

Course Environment
Minikube
Creating a cluster
Creating a deployment
Basic kubectl commands

Kubernetes Configuration Files

YAML format
Configuration file sections
Creating a deployment using a yaml file
Launching your deployment
Updating your deployment
Deleting your deployment

Workshop - Create a K8s Cluster

Configuring a Kubernetes cluster that has persistence and a front-end
Identifying docker images to use
Understanding the configuration of these images
Creating the persistence deployment
Configuring username and password using secret
Externalising other configuration information
Creating the front-end deployment
Configuring services
Troubleshooting your cluster

Controlling Access To Applications

Different types of Service
Accessing an application using a Service
ClusterIP
NodePort
LoadBalancer
Ingress Resources

Scaling And Managing Persistent Apps

What are the challenges when working with persistence?
StatefulSet
Configuring a Stateful set
Workshop - scaling a persistent app

Helm

What is Helm?
Installing and configuring Helm
Helm Charts
Configuring a cluster using Helm

DockerKubernetesDevOpsLinuxUnixHelm