KBS104 - Kubernetes Administration with Helm

Need something different? Guru Labs has other Linux and security courses and can build a custom course that covers exactly what you need!

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