logo


your one source for IT & AV

Training Presentation Systems Services & Consulting Cloud Services Purchase Client Center Computer Museum
Arrow Course Schedule | Classroom Rentals | Student Information | Free Seminars | Client Feedback | Partners | Survey | Standby Discounts

Advanced Kubernetes Boot Camp

SS Course: 2001492

Course Overview

TOP
In this advanced Kubernetes training course, an experienced technologist will guide you through critical topics around Kubernetes that will help you build enterprise applications. Moreover, you will explore the vast ecosystem from the Cloud Native Computing Foundation (CNCF) for tools and projects available in Kubernetes. Some of the projects you will explore and use are Helm, Telepresence, Istio, Octant, and Vitess. This course is a 50/50 split between theory and practical exercises.                                                                  

Scheduled Classes

TOP

What You'll Learn

TOP
  • Design patterns that you can implement in Kubernetes to build and run scalable systems in production
  • Apply existing security policies in a Kubernetes ecosystem
  • Extend the Kubernetes API to operate systems more easily
  • Develop stateful services using Kubernetes
  • Use Istio in a microservices system
  • Create, deploy, and test scalable and fault-tolerant applications 
  • Work with Telepresence, GitOps, and Flux

Outline

TOP
Viewing outline for:

Part 1: Core Concepts

We’ll go deep into different terms of Kubernetes to understand what it takes to build and run scalable systems in production. There are design patterns that you can implement in Kubernetes to extend an existing application without having to change the source code, like a sidecar pattern.

  1. Kubernetes architecture
  2. Imperative commands and descriptive manifests
  3. Pods, deployments, services, namespaces, DaemonSets
  4. Exercise: Working with Pods
  5. Exercise: Working with ReplicaSet
  6. Exercise: Working with Deployments
  7. Exercise: Working with Services
  8. Multi-containers
  9. Init containers
  10. ExerciseWorking with StatefulSet
  11. Working with multiple clusters (kubeconfig)
  12. Kubernetes design patterns

Part 2: Networking in Kubernetes

Understanding how networking works in Kubernetes is important because it will help you to configure networking patterns like service discovery for a microservices architecture. But another concept that is taking more relevance are service meshes. We’ll explore what a service mesh is, and we’ll practice using one of the most popular ones: Istio.

  1. Ingress networking
  2. Exercise :Working with Ingress
  3. Networking policies
  4. ExerciseWorking with Networking Policies
  5. What’s a service mesh?
  6. Introduction to Istio
  7. Observability with Istio
  8. Networking security with Istio
  9. Canary releases with Istio
  10. ExerciseWorking with Istio

Part 3: Creating Scalable and Fault-Tolerant Applications

Kubernetes has a lot of great features built in by implementing the controller pattern. But in many cases, our applications need to include small configurations to help Kubernetes make better decisions to support reliable applications. We’ll see what changes are needed in the applications, and then we’ll deploy and test a sample application.

  1. Working with configuration
  2. ExerciseWorking with ConfigMaps
  3. Working with probes
  4. ExerciseWorking with Probes
  5. Configuring requests and limits
  6. Taints and tolerations
  7. ExerciseWorking with Taints and Tolerations
  8. Node selectors
  9. Configuring scaling policies
  10. ExerciseConfiguring scaling policies

Part 4: Development Workflow in Kubernetes

Kubernetes doesn’t have to change the way developers build applications, but they might want to be involved or test in their local workstations when they’re done with their application changes. We’ll discuss some recommended practices and tools.

  1. Packaging and managing applications with Helm
  2. ExerciseWorking with Helm
  3. Continuous delivery in Kubernetes
  4. ExerciseContinuous Delivery with Flux
  5. Logging and monitoring systems
  6. Troubleshooting application failures
  7. ExerciseTroubleshooting Applications
  8. Development Toolbox: State of the art

Part 5: Developing Stateful Services

Stateless services are great for certain use cases, but there are scenarios where an application needs to be able to store data permanently, or at least work with data that is not ephemeral. Databases are one example.

  1. Understanding persistent volumes
  2. ExerciseWorking with PV and PVC
  3. Backup and restore in Kubernetes
  4. ExerciseBackup and restore with Velero
  5. Databases in Kubernetes

Part 6: Security Practices and Recommendations

Kubernetes is not secure by default, and there are many considerations that you need to be aware of if before exposing your applications to the public internet. Companies usually have existing security policies, so we’ll cover how these security practices apply in a Kubernetes ecosystem.

  1. Authentication and Authorization
  2. Integration with AWS and IAM
  3. Docker image and pods security
  4. Pod Security Context and Policies
  5. Secrets encryption using KMS
  6. ExerciseSecurity in Kubernetes

Part 7: Extending the Kubernetes API

There are times where we need to extend the Kubernetes API to operate systems more easily. Not everyone will need to build something to extend the Kubernetes API, but it’s very valuable to understand the what, when, and how of custom resource definitions and the operator pattern.

  1. Custom Resource Definition (CRD)
  2. Custom Controllers
  3. Operator Pattern
  4. Operator Framework
  5. ExerciseCreating an Operator

Part 8: What’s Next for Kubernetes?

We’ll discuss other topics related to Kubernetes that might not fit everyone’s use cases, but that as a Kubernetes user you might want to be aware of. For instance, we’ll talk a little bit about having federated clusters, hybrid workloads, and several important tools from the CNCF.

Prerequisites

TOP

Students need foundational level knowledge DevOps practices, intermediate Kubernetes experience, and familiarity with working on the command line in a Linux environment.

If you don't meet the above requirements, we strongly encourage you to take the Introduction to Kubernetes course before taking this course.

    Who Should Attend

    TOP
    • Software Developers
    • Software Engineers
    • DevOps Engineers
    • Frontend Engineers
    • Backend Engineers
    • Full Stack Developers
    • ML/AI Engineers
    • Cloud Engineers
    • Cloud Architects

    Next Step Courses

    TOP