Kubernetes Design Patterns and Extensions

Course Description Overview

Course Number:
035426
Course Length:
1 day
Course Description Overview:

Kubernetes is an open source platform that automates the scaling, deployment, and management of container-based applications.

This is a 1-day course which balances theory and hand-on applications that are focused on practical takeaways. The course starts by explaining the basics of container orchestration and then moves on to explain how the components of a complex system, such as Kubernetes, interact with each other. The course will help you to develop vital skills for troubleshooting Kubernetes clusters and applications running in Kubernetes clusters.

Once you are done with the course, you will be able to easily develop and deploy your own applications with Kubernetes in no time.

This course complies with instructional designing principles for all the 3 lessons. This will ensure that you repeat and reinforce your gained knowledge at every step. Each and every minute spent during this 1-day course will incrementally take you to a next level.
Course Objectives:

To ensure that your container-based applications sail into production without hiccups, you need robust container orchestration. This course teaches you the art of container management with Kubernetes.

The course will provide enough knowledge of the following:

  • Understand and classify software designs patterns as per the cloud-native paradigm
  • Apply best practices in Kubernetes with design patterns
  • Access the Kubernetes API programmatically using client libraries
  • Extend Kubernetes with custom resources and controllers
  • Integrate access control mechanisms and interact with the resource lifecycle in Kubernetes
  • Develop and run custom schedulers in Kubernetes
Target Student:

DevOps engineers with basic knowledge of Docker will find this course useful.

Anyone who is interested in configuring and troubleshooting Kubernetes clusters and developing microservices-based applications on Kubernetes clusters, will find this course very useful.

Prerequisites:
-
Course-specific Technical Requirements Software:

· Access to a Kubernetes cluster with a version equal to or higher than 1.10 Local Kubernetes solutions such as minikube or clusters living in cloud providers: https://github.com/kubernetes/minikube

· The Kubernetes command-line tool kubectl is required for accessing Kubernetes from the Terminal: https://kubernetes.io/docs/tasks/tools/install-kubectl/

· The Docker client and server with a minimum version of 18.03 are required for building and testing the client libraries:https: //www.docker.com/get-started

· Python and Go installation is not required but is recommended for playing around with the client libraries locally: https://www.python.org/downloads/

https://golang.org/


Course-specific Technical Requirements Hardware:

For an optimal experience with hands-on labs and other practical activities, we recommend the following hardware configuration:

  • Processor: Intel Core i7 or equivalent
  • Memory: 8GB RAM
  • Storage: 35 GB available space
Certification reference (where applicable)
-
Course Content:

LESSON 1: KUBERNETES DESIGN PATTERNS

  • Software Design Patterns
  • Kubernetes Design Patterns

LESSON 2: KUBERNETES CLIENT LIBRARIES

  • Accessing Kubernetes API
  • Official Client Libraries
  • Community Maintained Client Libraries

LESSON 3: KUBERNETES EXTENSIONS

  • Kubernetes Extension Points
  • Extending Kubernetes Clients
  • Extending Kubernetes API
  • Kubernetes Dynamic Admission Control
  • Extending Kubernetes Scheduler
  • Extending Kubernetes Infrastructure
Registration
Register Now