Docker & Kubernetes on Azure | 3-day Virtual Class
Prefer to attend a class with a live instructor?
This is the live instructor-led version of our technical "workshop style" class that covers the core Docker and Kubernetes concepts and guides you to build, deploy and monitor containers on Azure and Azure Kubernetes Service. Developers, DevOps, Site Reliability Engineers and I.T. Pros will learn how to use containers locally and on Azure. You’ll experience several demos and hands-on "follow along" activities with the trainer throughout the course as you learn how to build, deploy and monitor containers on Azure. No coding experience is required for the hands-on activities but you'll use the terminal, command prompt and VS Code extensively.
Need to organize a private class for your team? A minimum of 4 participants is required.
In Canada? With the Canada Job Grant (CJG), receive up to 100% in employee training grants! Get more infoView Public ScheduleContact us to organize a Private Class
Learn how to containerize applications by the Docker CLI and Visual Studio Code. Push and pull container images on Docker Hub, a container registry. Learn how to create multi-container applications using Docker Compose.
Learn about the Kubernetes architecture and how it works. Run it locally and use the Kubernetes CLI and Visual Studio Code to run, debug and troubleshoot applications and services. Learn about pods and the different workloads available. Configure networking, storage and set liveness and readiness probes.
Azure App Service
Deploy and manage single and multiple container applications on App Service. Perfect for smaller workloads that don't require a full blown orchestration service like Kubernetes.
Azure Container Registry (ACR)
Build, store, secure, scan, and manage container images and artefacts (Helm charts) with ACR, a fully managed container registry.
Azure Kubernetes Service (AKS)
Deploy and manage containerized applications with a fully managed Kubernetes service. Learn how to configure persistence using Azure Storage. Scale pods using the Horizontal Pod Autoscaler and Nodes using the Cluster Autoscaler.
Collect, analyze and act on telemetry data gathered from your Kubernetes clusters and containers using Azure Monitor. Learn also how to use Prometheus and Grafana.
Tools and Service Mesh
Learn how to use Helm to package and deploy applications. Learn about the benefits of using a service mesh by "meshing" and troubleshooting an application using Linkerd.
The Learning Experience
Learn about containers and Kubernetes with a live instructor that will guide you thru a series of short lectures immediately followed by a quick lab.
Apply the concepts learned with a series of short hands-on labs where the instructor guides you with a series of clear step by step instructions.
This isn’t just another one of those “watch me build something and try not to fall asleep” courses. Questions, participation, and discussions are welcomed and encouraged.
Includes the Self-Paced version
Includes a one year unlimited access to the on-demand video version. This way, you'll be able to revisit and try again some labs at work or even watch a lesson that you missed because of a call during the live training.
In the following course outline, the gear icon denotes a topic with hands-on “follow along” activity
- Course Introduction
- Cloud Native
- Cloud Native Foundation
- Cloud Native Concepts
- Containers concepts
- What is Docker?
- Using Docker Desktop
- Choosing between Linux or Windows images
- Containers on Azure
- Using Docker
- Using the Docker CLI
- Containerize an existing application
- Run containers locally
- Using VS Code to build and manage containers
- Benefits of multi stage builds
- Persisting data using volumes
- Multi-Containers with Docker Compose
- The YAML file format
- Using the docker-compose command
- Build and run multi containers apps
- Container registry
- Push and pull containers to Docker Hub
- Push and pull containers to Azure Container Registry (ACR)
- Web App for Containers (App Service)
- Running containers on Web App for Containers
- How to enable logging
- Setting environnent variables
- Multi-Containers on Web App for Containers
- Benefits & Drawbacks of App Service
- What is Kubernetes?
- Running Kubernetes locally
- Docker Desktop
- Minikube, MicroK8s, Kind
- Kubernetes CLI
- The declarative way vs the imperative way
- Using Kubectl
- YAML files
- Master & Worker Nodes
- Pods concepts
- Pods lifecycle
- Create and run containers in pods
- YAML files
- Multi container pods common patterns
- Communication between pods
- Reaching from the outside world
- Using Init Containers to initialize pods
- Using Selectors
- Rolling Updates
- Blue-Green Deployments
- Load Balancer
- Storage & Persistance
- The Static Way vs The Dynamic Way
- Persistent Volumes and Claims
- Using Azure Storage with Storage Classes
- App settings
- Startup, Readiness & Liveness probes
- Kubernetes Web UI
- Lens: a dashboard running in an app
- K9s: a dashboard in a terminal!
- Azure Kukernetes Service
- Concepts, SLA, Pricing model
- Create an AKS cluster using the Portal
- Create an AKS cluster using the CLI
- Connect to your cluster
- Using the Azure Shell
- Stopping a cluster to save money
- Persistance using Azure Storage
- Azure Files
- Azure Disks
- Auto scaling Pods using the Horizontal Pod Autoscaler
- Auto scaling Nodes using the Cluster Autoscaler
- Burst to serverless Virtual Nodes using Virtual Kubelet
- Save money using Spot Node Pools
- Upgrading a cluster to a newer K8s version
- Using Helm 3
- Helm concepts
- Use a chart and deploy an app
- Create a chart to deploy an app
- Update and Rollback
- Logging & Monitoring
- Monitoring using Azure Monitor
- Enabling Live Data Monitoring in Azure Monitor
- Prometheus use cases
- Installing Prometheus & Grafana
- Using Azure Monitor as a data source for Grafana
- Service Mesh
- Use cases
- What are Istio and Linkerd
- Installing Linkerd on AKS
- Troubleshooting an app using Linkerd
- Why use an Ingress Controller
- Setting up Nginx-Ingress
- Configuring routes
Meet your Instructor
Guy Barrette is a developer/trainer with more then 25 years of experience. He worked for many years as a developer, solutions architect, Microsoft Certified Trainer and now he shares his passion for containers and microservices teaching Docker and Kubernetes. He was awarded Microsoft Most Valuable Professional in the Azure category and passed the following certifications: Kubernetes and Cloud Native Associate, Certified Kubernetes Application Developer (CKAD), Terraform Certified Associate, AWS Cloud Practitioner, Google Cloud Associate Cloud Engineer, Azure Fundamentals, Azure Developer Associate and Azure Architect Design.
This is a very hands-on course with plenty of demonstrations and several labs periods.
Attendees must have a laptop or PC. Heavy locked down corporate laptops will likely not work. Windows, Mac and Linux (Ubuntu) are supported.