The Ultimate Kubernetes Bootcamp by School of Devops®

Video description

Kubernetes is the gold standard in the world of container orchestration. It was originally created by Google, based on their experience of building and managing containers at scale (at Google Scale). However it's now driven by Cloud Native Compute Foundation (CNCF), an open body, which also offers the official certification, Kubernetes Certified Administrator. Kubernetes comes with mindboggling features, is very reliable, and is an extremely sophisticated container orchestration engine. It lets you convert your infrastructure into a container as a service (Platform), bringing in some of the awe-inspiring features such as zero down time deployments, fault tolerance, auto scaling, and cloud and storage integrations, which were previously extremely difficult to implement. And it brings it to the masses with its truly open, lock in free eco system. With Kubernetes' sophistication however, comes complexity too. You definitely need a guide while you navigate the complex world of Kubernetes, and this coursedoes just that. It's been created in such a way that you start learning Kubernetes from the ground up, one small step at a time, feature by feature. This course brings you a distilled experience with the author's knowledge of building and managing infrastructures, experience of helping companies with their DevOps journey and more than 300 corporate training sessions. This is a well-researched program in which many variants of applications, with different flows, have been trialled and iterated many times, according to feedback. We have also started incorporating some new and useful techniques including glassboard and mindmaps to explain the concepts better and make things easier.

What You Will Learn

  • Understand the need of a container orchestration system and key features of Kubernetes
  • Install and configure a Kubernetes cluster
  • Create deployments with replica sets and set up highly available self-healing application infrastructures
  • Set up service discovery and load balancing with Kubernetes Services, understand the service networking
  • Manage different types of workloads with Daemonsets, Statefulsets, Crons, and Jobs
  • Understand how persistent storage works with PVs, PVCs, Storageclasses and dynamic provisioners

Audience

Developers who would like to deploy their applications with containers and like to understand how to leverage Kubernetes featuresOperations or DevOps folks who would like to build a Container as a Service and/or operate it. Anyone who would like to understand Kubernetes from the ground up. Anyone who wants to run containers in production or production-like environmentsAnyone who wants to sit the Kubernetes Certified Administrator Exam from CNCF.

About The Author

Gourav Shah: Gourav comes with more than a decade of experience in building, managing, and automating systems at scale. He has helped organizations design and implements DevOps practices. He left his corporate job in 2012 to start Initcron, a niche DevOps consulting firm. He eventually got into delivering DevOps workshops for the corporates in India and then internationally. He has conducted more than 300 instructor-led training.

Table of contents

  1. Chapter 1 : Introduction to Kubernetes
    1. The need for a Container Orchestration Engine
    2. Battles of COEs, which one to choose
    3. Key Features of a COE
    4. What makes Kubernetes the de facto COE choice
    5. Negatives of using Kubernetes
  2. Chapter 2 : Path to Automation with Kubernetes
    1. Section Intro - Path to Automation with Kubernetes
    2. Namespaces
    3. Pods
    4. Replication Controller, Replica Sets and Deployments
    5. Service Discovery and Load Balancing
    6. Applying kubernetes primitives to your Application Stack
    7. Configmaps and , Storage, Network, RBAC etc.
    8. Daemonsets, Statefulsets, Crons and Jobs
    9. Kubernetes Architecture Run Down
    10. Building production grade Hight Available Kubernetes Cluster
  3. Chapter 3 : Setting up Environment
    1. Section Intro- Setting up Environment
    2. Provisioning and configuring Digital Ocean Nodes
    3. Initialise Cluster with Kubeadm
    4. Setting up Weave CNI
    5. Launching Kubernetes Dashboard
    6. Setting up a kubernetes Visualizer
    7. Resetting cluster created with kubeadm
  4. Chapter 4 : Building Blocks – Pods
    1. Section Intro - Pods
    2. Writing pod Specification
    3. Launching and Operating Pods
    4. Troubleshooting Pods Issues
    5. Attaching a volume to a Pod
    6. Launching Multi-Container Pods
    7. Connecting to Individual Containers
  5. Chapter 5 : Replication Controllers and Replica Sets
    1. Section Intro - Replication Controllers
    2. Setting up namespace and switching context
    3. Writing Replica Set Specification
    4. Launching Replica Set and Fault Tolerance
  6. Chapter 6 : Service Discovery and Load Balancing
    1. Section intro – Services
    2. Writing Service Specification
    3. Exposting services outside the Cluster
    4. Service Discovery
  7. Chapter 7 : Application Deployments and Updates
    1. Section Intro – Deployments
    2. Writing Deployment Specification
    3. Rolling Out a Deployment
    4. Update and Rollback
    5. Rollbacks
    6. Solution part I - Deploying a worker App
    7. Solution part II - Deploying DB service
    8. Solutions part III - Results App
  8. Chapter 8 : Managing Application Configurations with ConfigMaps and Secrets
    1. Section intro - Coonfigmaps and Secrets
    2. Creating Config Map for Vote app Options
    3. Setting up Environment Specific Configs
    4. Adding Configs from Files
    5. Creating Secrets to Encrypt Database Credentials
    6. Setting Environment vars using Secrets
  9. Chapter 9 : Persisting data and dynamic volumes provisioning
    1. Section Intro- Persistent Volumes
    2. Setting up RBAC for NFS Provisioner
    3. Setting up NFS provisioner with Statefulset
    4. Creating storage class for NFS
    5. Claiming a persistent volume and mounting it
    6. Dynamically provisioning of persistent volumes
  10. Chapter 10 : Creating Release Strategies - Blue/Green, Canary
    1. Section Intro- Release Strategies
    2. Defining Recreate as a Release Strategy
    3. Canary Releases
    4. Blue Green Deployments
    5. Pausing and fixing rollouts
  11. Chapter 11 : Application routing with Ingress Controllers
    1. Section Intro HPA
    2. Setting up code monitoring with Metrics Server
    3. Defining Resource Requests and Limits
    4. Creating a Horizontal Pod Autoscaler
    5. Writing load test Job definition
    6. Laying a siege with loadtest jobs
    7. Autoscaling in action with HPA
  12. Chapter 12 : Dynamically scaling apps with Horizontal Pod Autoscaler
    1. Section Intro Ingress
    2. Ingress Controllers and Ingress
    3. Choosing Traefik as a ingress controller and DaemonSet as a deployment type
    4. Creating DaemonSet for Traefik
    5. Writing Ingress definition for vote app with named based routing
    6. Testing ingress and accessing the application
    7. Annotations and setting up basic auth for vote app
  13. Chapter 13 : Setting up firewall with Network Policies
    1. Creating default network policy for instavote namespace
    2. Exposing public facing apps and allowing inter namespace communication

Product information

  • Title: The Ultimate Kubernetes Bootcamp by School of Devops®
  • Author(s): Gourav Shah, Vijayboopathy Elangovan
  • Release date: July 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789534115