Hands-On Introduction to Kubernetes

Internals Based Approach

Ratings 4.31 / 5.00
Hands-On Introduction to Kubernetes

What You Will Learn!

  • Provides an introduction to Kubernetes technology - architecture, internals, deployment, testing
  • Focuses on the internals of Kubernetes
  • Includes sessions on containers, networking, packaging, service mesh, monitoring and development tools
  • All concepts are reinforced with hands-on exercises
  • At the end of course, attendees will be able to prototype, debug applications in Kubernetes, and evaluate tools, distributions in the Kubernetes ecosystem

Description

Objective

Provides an introduction to Kubernetes technology - architecture, internals, deployment, and testing. At the end of the course, participants would have a good understanding of the technology, and would be able to

  • Transition their applications to Kubernetes

  • Evaluate Kubernetes distributions, CNI plugins

  • Evaluate tools in the Kubernetes ecosystem

All concepts are reinforced with hands-on exercises.


Infrastructure Requirements

  • Google Cloud based VMs (ubuntu 18.04) for each participant

    • 2core/7.5 GB/100 GB - Nos: 1

    • 1core/3.75GB/100GB - Nos: 3

  • Internet Access for the VMs

  • Account created on container registry such as quay io for storing container images

Participants need to take an account in the Google Cloud Platform (credit card needed), and provision the VMs​​. The Google cloud platform has a free plan which the participants can explore.


Course Structure

The course is structured as 16 modules with lecture videos and exercises, and the estimated completion time is 32 hours.

The course begins with lectures on containers, and container images as a good grasp of these technologies is essential for understanding Kubernetes. Virtualization, namespaces, cgroups, container runtimes, overlay filesystems, and container filesystems are covered. Next, we attempt to install a Kubernetes cluster on the Google Cloud platform using kubeadm, and explore Kubernetes resources for compute and storage - pods, and volumes.

The course then moves on to examine the Kubernetes architecture in detail such as the etcd, API server, scheduler, etc. We then take an in-depth look at the networking internals, and discuss how the Calico CNI plugin works. We then discuss advanced objects of Kubernetes which use pods, volumes and services as building blocks. These include deployments, statefulsets, daemonsets, configmaps, probes. Next, we install a sample web application using django and postgres onto Kubernetes to illustrate the various Kubernetes resources discussed so far.

Ingress and load balancer which is used by external clients to access applications is discussed next, and helm packaging is introduced. We then examine authentication, authorisation, and admission control which are important aspects for deployment of applications.

Network policy and service mesh (istio) are covered next and help in providing platform agnostic firewall type rules, and tools for managing microservice complexity. We then take a look at monitoring and logging which are critical for devops. Development tools such as skaffold that are needed to speed up the code, test, debug loop are covered next. Finally, we wrap-up the course and introduce operators and GitOps for further reading.


Non-Goals

Description of other Kubernetes installation tools such as kops, or of Kubernetes distributions - cloud or on-prem - is not provided.

Who Should Attend!

  • Devops engineers, developers, managers starting their Kubernetes journey

TAKE THIS COURSE

Tags

  • Kubernetes

Subscribers

59

Lectures

62

TAKE THIS COURSE



Related Courses