02/20/2023 - 02/23/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,495.00
Enroll
04/10/2023 - 04/13/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,495.00
Enroll
05/29/2023 - 06/01/2023
10:00 AM - 06:00 PM
Online Virtual Class
USD $2,495.00
Enroll

All Kubernetes deployments can benefit when these issues are addressed - the sooner the better.   I

n this Advanced Kubernetes for Developers 4-day intensive course, these topics and more are covered. The comprehensive chapters and detailed hands-on labs will introduce you to the concepts, and then give you the opportunity to try them out. Upon course completion, you will be ready to implement what you’ve learned. For complete information on what is covered, view the detailed outline and training objectives below. 

Objectives

Understand Kubernetes deployment strategies like "Ramped", "Canary" and "a/b testing"

Autoscale applications based on network load and available resources

Recognize common K8s design patterns

Configure and take advantage of Kubernetes' built-in logging features

Setup and use cluster-level logging with the ELK logging stack

Design and configure liveness and readiness health check probes

Take advantage of best practices for workload and pods

Learn the correct ways to configure persistent volumes 

Review methods for tightening cluster security 

Understand service mesh capabilities and benefits

Implement observability for your cluster using built-in and 3rd party tools

Audience

This Advanced Kubernetes training course is designed to help DevOps personel, platform engineers and software developers move beyond basic deployments, and make use of advanced features available in Kubernetes and related tools.

Prerequisites

Students registering for this course should have attended one of the Web Age courses listed below, or have equivalent experience and understanding of Docker and Kubernetes basics.  For the labs, students should be familiar with working at a terminal or command prompt. 

WA3003-Docker-and-Kubernetes-Fundamentals

WA3007-Kubernetes-for-Developers

Duration

Four days

 

Outline for Advanced Kubernetes Training

Chapter 1. Deployment Strategies

Rolling Updates

Parameters for Rolling Updates

Strategy Parameters in Deployment Specs

Deployment Strategies

Recreate

Ramped

Blue/Green

Canary

a/b Testing

Deployment Status

History

Versioning of Deployments

Labeling a Deployment Version in Kubernetes

Versioning with Helm

Deployment Tools

 

Chapter 2. Autoscaling

Autoscaling

HorizonalPodAutoscaler (HPA)

Autoscale Command

Autoscale Yaml

Generating Traffic for Testing

Response to Changing Traffic

Get HPA --watch Mode

Scaling Based on Requested Resources

Scaling Based on Direct Value

Metrics Types for Scaling

Scaling Based on Multiple Metrics

 

Chapter 3. Design Patterns

Design Patterns

Core Patterns Overview

Predictable Demands

Health Probe

Automated Placement/Scheduling

Structural Patterns Overview

Init Container

Sidecar

Ambassador

Adapter

Scatter/Gather

Work Queue

Leader/Primary Active Election

Service Mesh Pattern

Behavioral Patterns Overview

Batch

Stateful Service

Service Discovery

Advanced Patterns Overview

Controller

Operator

 

Chapter 4. Logging and Monitoring in K8s

Logging in Kubernetes

Application Logging

Cluster Level Logging

Pod and Container Logs

Log Rotation

Configuring Kubernetes Log Rotation

Kubernetes System Component Logs

Log Locations

 

Chapter 5. External Log Systems

Cluster Level Logging

Node Logging Agent

Sidecar Container Logging

Direct Log Publishing Architecture

Logging Backend Systems

External Log Systems Overview

ELK Logging Stack

EFK Logging Stack

Google Cloud's Operations Suite

 

Chapter 6. K8s Probes and Heath Check Best Practices

Probes in Kubernetes

Health States

Order of Probes

Health as Determined by Controllers

Pod Restart Policies

Probe Handler Types

"exec" Probe Type Example

"tcpSocket" Probe Type Example

"httpGet" Probe Type Example

"httpGet" Endpoint Example Code

Setting a Liveness Probe

Liveness Probe (cont.)

Setting a Readiness Probe

Checking for Probes

Liveness Probe Best Practices

Readiness Probe Best Practices

 

Chapter 7. Workload and Pod Best Practices

Workloads

Best Practices

Keep Kubernetes Updated

The Right K8s Resource for Your Workload

Workload Resources

Use Smaller Container Images

Always Set Resource Requests and Limits

Implement the Appropriate Health Probes

Implement Role Based Access Control (RBAC)

Use Namespaces

 

Chapter 8. Storage and Security Best Practices

Kubernetes Storage

StorageClass Resources

Storage Best Practices

Including PVCs in container configurations

Keeping PVs independent of container configurations

Creating and using default storage classes

Giving StorageClasses meaningful names

Security Best Practices

Use third-party Authentication

Protect the Kubernetes etcd data store

Isolate Kubernetes Nodes

Look for Anomalous Network Communications

Use Process Whitelisting

Turn on Audit Logging

Lock Down Kubelet

 

Chapter 9. Service Mesh

What is a Service Mesh

Service Mesh Advantages

Service Mesh Features

Service Discovery

Load Balancing

Reliability/Failure Recovery

Observability

Security/Encryption

Downsides to Service Mesh

Service Mesh Implementations

Installing a Typical Service Mesh

 

Chapter 10. Observability

Observability

Components of Observability

Logs

Metrics

Performance Metrics

Traces

Observability Tools

FluentD

Prometheus

Prometheous Architecture Diagram

Jaeger

Jaeger User Interface

Grafana

Grafana Visualization Components

Lab Exercises

Lab 01. Playing with Version, History, and Rolling Updates

Lab 02. Autoscaling

Lab 03. Game_Name that Pattern

Lab 04. Logging and Monitoring with native K8s tools

Lab 05. Setting up External Logging in K8s

Lab 06. Setting up Readiness Probes and Health Checks

Lab 07. Design Game_Best Workload for your App

Lab 08. Running CIS checks using kube-bench

Lab 09. Setting up a basic service mesh

Lab 10. Pixie Demo_Tracing

Lab 11. Troubleshooting and Debugging in K8s