Detailed Course Outline
Module 1: Introduction
- Cloud computing in general
- Cloud types
- Cloud native computing
- Application containers
- Containers on Linux
- Container runtime
- Container orchestration
- Kubernetes
- Kubernetes concepts
- Kubernetes objects categories
- Kubernetes architecture
- Kubernetes master
- Kubernetes node
- Lab 1
Module 2: Installing Kubernetes
- Picking the right solution.
- One node Kubernetes install
- Kubernetes universal installer
- Install using kubeadm on CentOS
- Kubernetes Networking
- Lab 2
Module 3: Accessing Kubernetes
- Accessing the Kubernetes cluster
- Controlling access to the API
- Authorization
- Role Based Access Control
- Roles and ClusterRoles
- Role bindings
- Lab 3
Module 4: Kubernetes Workloads
- The pod
- RestartPolicy examples
- InitContainers
- Our first Pod
- Operations on pods
- Replication Controller
- Working with Replication Controller
- Deployments
- Working with Deployments
- Jobs, CronJobs
- Jobs example
- CronJobs example
- DaemonSets
- Lab 4
Module 5: Scheduling and node management
- The Kubernetes Scheduler
- Assigning Pods to Nodes
- Assigning Pods to Nodes – node affinities
- Assigning Pods to Nodes – Pod affinities
- Taints and tolerations
- Managing nodes
- Lab 5
Module 6: Accessing the applications
- Services
- Service types
- Working with Services
- Working with Services
- Ingress
- Ingress definition
- Working with Ingress
- Network Policies
- Network Policy example
- Lab 6
Module 7: Persistent storage in Kubernetes
- Volumes
- Volume types
- Persistent Volumes
- Secrets
- Using Secrets as environmental variables
- Using Secrets as volumes
- ConfigMaps
- Lab 7
Module 8: Logging, monitoring and troubleshooting
- Logging architecture
- Monitoring
- Troubleshooting
PART II. Day 4: Helm Package Manager (preliminary content)
Module 1: Introduction to Helm
- Its Purpose
- Main Helm Concepts
- Helm Components
- Helm Implementation
Module 2: Installing Helm and Tiller
- Installing Helm client
- Installing Tiller, the Server Side of Helm
- Upgrading Tiller
- Deleting or Reinstalling Tiller
Module 3: Using Helm
- Helm Search: Finding Charts
- Helm Install: Installing A Package
- Helm Upgrade and Helm Rollback: Upgrading A Release, And
- Recovering on Failure
- Helm Delete: Deleting a Release
- Helm Repo: Working with Repositories
- Creating Your Own Charts
- Tiller, Namespaces and RBAC
Module 4: Helm Charts
- Intro to Charts
- Chart Lifecycle Hooks
- Charts Tips and Tricks
- Charts Repository Guides
- Syncing your Chart Repo
- Signing Charts
- Chart Tests
Module 5: Chart Templates
- Getting started
- Built-in Objects
- Values Files
- Template Functions and Pipelines
- Flow Control
- Variables
- Named Templates
- Accessing Files Inside Templates
- Creating a NOTES.txt file
- Sub charts and Global Values
- Debugging Templates
Module 6: Helm plugins
- Overview
- Installing a Plugin
- Building Plugins
- Downloader Plugins
- Environment Variables
Module 7: Helm Security
- Role-based Access Control (RBAC) Intro
- Tiller and Role-Based Access Control
- Helm and Role-Based Access Control
- Using SSL Between Helm and Tiller: Overview
- Generating Certificate Authorities and Certificates
- Creating a Custom Tiller Installation
- Configuring the Helm Client
- Best Practices for Securing Helm and Tiller