Kubernetes

About

Devops TechLab Kubernetes Training introduces the advantages provided by containers over the virtual machines. With the rise of containerization in the world of Devops, the need of a platform to effectively orchestrate these containers also grew. Kubernetes, a platform built by Google, steps into this space to help in automating the process of deployment, scaling and managing the containerized applications across the clusters.

Course Objective

The objective of a Kubernetes course is to provide participants with a comprehensive understanding of Kubernetes and its ecosystem, including its core concepts, architecture, and components, as well as how it manages containerized applications and orchestrates their deployment.

Program Outcome

Upon completing the Kubernetes course, participants will:

  • Develop a deep understanding of Kubernetes and its key concepts.
  • Gain knowledge of Kubernetes architecture and components.
  •  Acquire practical skills to deploy and manage containerized applications using Kubernetes.
  •  Learn how to scale and monitor applications in a Kubernetes cluster.
  •  Understand advanced Kubernetes features like networking, storage, and security.
  •  Become proficient in troubleshooting and debugging Kubernetes deployments.
  • Prepare for industry-recognized Kubernetes certifications, if applicable.
  •  Gain the confidence to effectively leverage Kubernetes for container orchestration in real-world scenarios.
Course Content

Introduction to Kubernetes

  • Understanding the need for a system like Kubernetes
  • Understanding what containers are
  • Comparing virtual machines to containers
  • Introducing the Docker container platform
  • Understanding docker concepts
  • Understanding the architecture of a Kubernetes cluster
  • Understanding the benefits of using Kubernetes

Docker

  • Installing Docker and running a Hello World container
  • Create Container
  • Exploring the inside of a running container
  • List Container
  • Stopping and removing a container
  • Creating a Dockerfile for the image
  • Building the container image
  • Create Version of Image
  • Pushing the image to an image registry

Kubernetes Basics

  • Setting up a multi node Kubernetes cluster
  • Running your first app on Kubernetes
  • Introduction to PODS
  • Understanding why we need pods
  • Accessing your web application
  • What is a Service?
  • Creating a Service
  • Working with a replication controller
  • Creating a replication controller
  • Getting information of a replication controller
  • Changing the configuration of a replication controller
  • Removing a replication controller
  • Creating pods from YAML or JSON descriptors
  • Organizing pods with labels
  • Modifying labels of existing pods
  • Scheduling pods to specific nodes using NodeSelector

Advanced Topics

  • Keeping pods healthy
  • Introducing liveness probes
  • Seeing a liveness probe in action
  • ReplicaSet
  • Creating and examining a ReplicaSet
  • DaemonSets
  • Using a DaemonSet to run a pod on every node
  • Creating a service through a YAML descriptor
  • Introducing service endpoints
  • Exposing a service through an external load balancer
  • Introducing readiness probes
  • Adding a readiness probe to a pod
  • Introducing volumes
  • Using volumes to share data between containers
  • Introducing PersistentVolumes and PersistentVolumeClaims
  • Creating a PersistentVolume
  • Claiming a PersistentVolume by creating a PersistentVolumeClaim
  • Using a PersistentVolumeClaim in a pod
  • Understanding the benefits of using PersistentVolumes and claims
  • Using Deployments for updating apps declaratively
  • Creating the Deployment Resource
  • Configmap
  • Taints and Tolerations
  • Rolling Update
  • Rolling back a deployment
  • Creating pods with resource requests
  • Limiting resources available to a container
  • Affinity  Anti-Affinity
  • Interpod Affinity and Anti-affinity

Kubernetes Administration

  • Using namespaces to group resources
  • Understanding the need for namespaces
  • Creating Namespace
  • Understanding the isolation provided by namespaces
  • Namespace Quotas
  • Networking
  • Node Maintenance
  • Questions & Answers
All Rights Reserved © 2018 DevOps TechLab