Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications.
This course introduces participants to the basic concepts and architecture of Kubernetes, its initial install & setup, Kubernetes Pods, Deployments and Services, Persistent Storage, Networking, Automating Deployment, Scaling & Management Of Containerized Applications, the Kubernetes Helm Package Manager, and finally, it's logging and monitoring facilities.
This course doesn’t only prepare delegates for the daily administration of Docker & Kubernetes systems but also for the official Certified Kubernetes Administrator (CKA) exam of the Cloud Native Computing Foundation (CNCF).
Structure: 50% theory 50% hands on lab exercises
Target audience: System administrators and Devops professionals who want to understand and use Kubernetes in cloud and data center environments
Prerequisites:
- Proficiency with the Linux CLI (GL120 "Linux Fundamentals")
- A broad understanding of Linux system administration (GL250 "Enterprise Linux Systems Administration").
- Basic knowledge of Linux containers, e.g. Docker (GL340 "Docker")
Supported Distributions:
Red Hat Enterprise Linux 7
Course Outline:
- Introduction
- Cloud computing in general
- Cloud types
- Cloud native computing
- Application containers
- Containers on Linux
- Container runtime
- Container orchestration
- Kubernetes
- Kubernetes concepts, objects categories, and architecture
- Kubernetes master and node
- Installing Kubernetes
- Picking the right solution
- One node Kubernetes install
- Kubernetes universal installer
- Install using kubeadm on CentOS
- Kubernetes Networking
- Accessing Kubernetes
- Accessing the Kubernetes cluster
- Controlling access to the API
- Authorization
- Role Based Access Control
- Roles and ClusterRoles
- Role bindings
- Kubernetes Workloads
- The pod
- Restart Policy 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
- 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
- Accessing the applications
- Services
- Service types
- Working with Services
- Ingress
- Ingress definition
- Network Policies
- Network Policy example
- Persistent storage in Kubernetes
- Volumes
- Volume types
- Persistent Volumes
- Secrets
- Using Secrets as environmental variables
- Using Secrets as volumes
- ConfigMaps
- Logging, monitoring and troubleshooting
- Logging architecture
- Monitoring
- Troubleshooting
- Introduction to Helm Package Manager
- Its Purpose
- Main Helm Concepts
- Helm Components
- Helm Implementation
- Installing Helm and Tiller
- Installing Helm client
- Installing Tiller, the Server Side of Helm
- Upgrading Tiller
- Deleting or Reinstalling Tiller
- 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
- Helm Charts
- Intro to Charts
- Chart Lifecycle Hooks
- Charts Tips and Tricks
- Charts Repository Guides
- Syncing your Chart Repo
- Signing Charts
- Chart Tests
- 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
- Helm plugins
- Overview
- Installing a Plugin
- Building Plugins
- Downloader Plugins
- Environment Variables
- 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/li>
- Generating Certificate Authorities and Certificates
- Creating a Custom Tiller Installation
- Configuring the Helm Client
- Best Practices for Securing Helm and Tiller