Course 960:
Hands-On Kubernetes

(3 days)

 

Course Description

Kubernetes is an open-source, cross-platform, container orchestration system. It is supported by all major public cloud providers, and can also be used on-premises. It is an industry-standard for deploying cloud-native applications that can be deployed anywhere. This course provides the knowledge necessary to use Docker and Kubernetes to deploy your microservice applications to any cloud.

Learning Objectives

  • Leverage Kubernetes for container orchestra and automated deployment
  • Build, run, and deploy container applications using Docker
  • Configure Kubernetes clusters in the cloud and locally
  • Automate application management using the kubectl CLI and configuration
  • Deploy scalable, fault-tolerant applications using Kubernetes Deployments, Services, Jobs, CronJobs, and DaemonSets
  • Migrate to new versions of services safely with zero downtime
  • Save data in Kubernetes using Persistent Volumes, StatefulSets, ConfigMaps, and Secrets
  • Simplify Kubernetes deployments with Helm
  • Manage Kubernetes security with Role-Based Access Control (RBAC)
  • Enhance Kubernetes networking with Istio

Who Should Attend

Architects, engineers, and developers who want to learn to use Kubernetes to build cloud-native, microservice applications and automate their deployment using Kubernetes.


Course Outline

 

1. Overview of Kubernetes

  • Introduction to Kubernetes
    • Google Borg
    • Open-Source Kubernetes
    • Containerization
    • Advantages of Containers
    • Container Orchestration
  • Kubernetes Advantages
    • Open-Source
    • Cross-Platform
    • Portability
    • Support for Multi- and Hybrid-Cloud Architecture
    • Automation

2. Docker

  • Understanding Docker
    • Containers
    • Advantages of Containers
    • Images
  • Docker Images
    • Basic Docker Commands
    • Building Docker Images
    • Dockerfile
    • Activity: Building Docker Images
  • Docker Containers
    • Starting Containers
    • Stopping Containers
    • Deleting Containers and Images
    • Activity: Starting and Stopping Containers
  • Deploying Docker Images
    • Container Registries
    • Push and Pull
    • Activity: Using Docker Hub

3. Kubernetes Clusters

  • Architecture
    • Clusters
    • Master Node
    • Master Components
    • Worker Nodes
  • Configuring Clusters
    • Software Requirements
    • Configuring Clusters
  • Managed Clusters in the Cloud
    • Google GKE
    • Amazon EKS
    • Microsoft AKS
    • Activity: Creating a Managed Cluster
  • Minikube
    • Minikube Introduction
    • Installing Minikube
    • Starting Minikube
    • Deploying Apps to Minikube
    • Minikube Dashboard
    • Activity: Using MiniKube

4. Kubernetes Basics

  • Kubernetes Application Architecture
    • Objects
    • Pods
    • Deployments
    • Services
    • Namespaces
    • Configuration
  • kubectl CLI
    • Basic Commands
    • Creating Deployments
    • Creating Services
    • Retrieving Information
    • Executing Commands with a Pod
    • Accessing Pod Logs
    • Deleting Resources
    • Configuration Basics
    • Deploying Resources with Configuration
    • Activity: Using the kubectl CLI
  • Generating Configuration
    • Leveraging the CLI
    • Using the Dashboard
    • Activity: Generating Configuration with the CLI

5. Deployments and Services

  • Understanding Deployments
    • Basic Configuration
    • Labels
    • Replica Sets
    • Configuring Pods
  • Exposing Deployments
    • Kubernetes Services
    • ClusterIP
    • NodePort
    • LoadBalancer
    • Service Configuration
    • Activity: Creating a Load Balancer
  • Communicating Between Services
    • Kubernetes DNS
    • Configuring Environment Variables
  • Controlling Resources
    • Resources
    • Requests
    • Limits
    • Activity: Adding Resource Requests and Limits to Configuration
  • Fault-Tolerance and Scalability
    • Liveness Probes
    • Readiness Probes
    • Auto-healing
    • Autoscaling
    • Creating a Horizontal Pod Autoscaler using the CLI
    • Configuring Autoscalers
    • Activity: Autoscaling

6. Version Management

  • Deploying New Versions
    • Update Policies
    • Rolling Updates
    • Accessing Version History
    • Rolling Back Deployments
    • Activity: Performing a Rolling Update
  • Testing New Versions
    • Blue/Green Deployments
    • Canary Deployments
    • Activity: Blue/Green and Canary Deployments

7. Saving Data

  • Allocating Disk Space for Pods
    • Persistent Volumes
    • Persistent Volume  Claims
    • Storage Types
    • Mounting Volumes
    • MySQL Example
  • StatefulSets
    • Configuration
    • Volume Claim Templates
    • Cassandra Example
    • Activity: Deploying StatefulSets
  • Configuration Data
    • ConfigMaps
    • Secrets

8. Kubernetes Workloads

  • Jobs
    • Configuration
    • Use Cases
  • CronJobs
    • Configuration
    • Use Cases
  • DaemonSets
    • Configuration
    • Use Cases
    • Activity: Running Kubernetes Jobs

9. Simplifying Kubernetes Deployments

  • Helm
    • What is Helm?
    • Charts
    • Installing Applications with Helm
    • Deleting Applications with Helm
    • Activity: Using Helm to Install a Database
  • Knative
    • What is Knative?
    • Installing Knative
    • Creating Event-Driven Apps with Knative
    • Activity: Using Knative

10. Kubernetes Security

  • Role-Based Access Control
    • Roles
    • Permissions
    • RoleBinding
    • ClusterRoles and ClusterRoleBindings
    • Activity: Using Kubernetes RBAC

11. Deploying to the Cloud

  • Google Kubernetes Engine
    • Creating a GKE Cluster
    • Connecting to a GKE Cluster
    • Deploying to GKE
    • Activity: Deploying to a GKE Cluster

12. Advanced Networking with Istio

  • Istio Introduction
    • Benefits
    • Installing Istio
    • Features
    • Configuring Istio
    • Activity: Using Istio

13. Course Summary

Please Contact Your ROI Representative to Discuss Course Tailoring!