Kubernetes for App Developers

  • Tuition USD $3,250
  • Reviews star_rate star_rate star_rate star_rate star_half 1172 Ratings
  • Course Code LFD459
  • Duration 3 days
  • Available Formats Classroom, Virtual

This course will teach you how to containerize, host, deploy, and configure an application in a multi-node cluster. Starting with a simple Python script, you will define application resources and use core primitives to build, monitor and troubleshoot scalable applications in Kubernetes. Working with network plugins, security and cloud storage, you will be exposed to many of the features needed to deploy an application in a production environment.

Skills Gained

In this course you’ll learn how to:

  • Containerize and deploy a new Python script
  • Configure the deployment with ConfigMaps, Secrets and SecurityContexts
  • Understand multi-container pod design
  • Configure probes for pod health
  • Update and roll back an application
  • Implement services and NetworkPolicies
  • Use PersistentVolumeClaims for state persistence
  • And more

Prerequisites

To get the most out of this course, you should have basic Linux command line and file editing skills and be familiar with using a programming language (such as Python, Node.js, Go). A knowledge of Cloud Native application concepts and architectures (such as is taught in our free Introduction to Kubernetes edX MOOC) is helpful for this course.

Course Details

Course Outline

Introduction

  • Objectives
  • Who You Are
  • The Linux Foundation
  • Linux Foundation Training
  • Preparing Your System
  • Course Registration
  • Labs

Kubernetes Architecture

  • What Is Kubernetes?
  • Components of Kubernetes
  • Challenges
  • The Borg Heritage
  • Kubernetes Architecture
  • Terminology
  • Master Node
  • Minion (Worker) Nodes
  • Pods
  • Services
  • Controllers
  • Single IP per Pod
  • Networking Setup
  • CNI Network Configuration File
  • Pod-to-Pod Communication
  • Cloud Native Computing Foundation
  • Resource Recommendations
  • Labs

Build

  • Container Options
  • Containerizing an Application
  • Hosting a Local Repository
  • Creating a Deployment
  • Running Commands in a Container
  • Multi-Container Pod
  • readinessProbe
  • livenessProbe
  • Testing
  • Labs

Design

  • Traditional Applications: Considerations
  • Decoupled Resources
  • Transience
  • Flexible Framework
  • Managing Resource Usage
  • Multi-Container Pods
  • Sidecar Container
  • Adapter Container
  • Ambassador
  • Points to Ponder
  • Labs

Deployment Configuration

  • Volumes Overview
  • Introducing Volumes
  • Volume Spec
  • Volume Types
  • Shared Volume Example
  • Persistent Volumes and Claims
  • Persistent Volume
  • Persistent Volume Claim
  • Dynamic Provisioning
  • Secrets
  • Using Secrets via Environment Variables
  • Mounting Secrets as Volumes
  • Portable Data with ConfigMaps
  • Using ConfigMaps
  • Deployment Configuration Status
  • Scaling and Rolling Updates
  • Deployment Rollbacks
  • Jobs
  • Labs

Security

  • Security Overview
  • Accessing the API
  • Authentication
  • Authorization
  • ABAC
  • RBAC
  • RBAC Process Overview
  • Admission Controller
  • Security Contexts
  • Pod Security Policies
  • Network Security Policies
  • Network Security Policy Example
  • Default Policy Example
  • Labs

Exposing Applications

  • Service Types
  • Services Diagram
  • Service Update Pattern
  • Accessing an Application with a Service
  • Service without a Selector
  • ClusterIP
  • NodePort
  • LoadBalancer
  • ExternalName
  • Ingress Resource
  • Ingress Controller
  • Labs

Troubleshooting

  • Troubleshotting Overview
  • Basic Troubleshooting Steps
  • Ongoing (Constant) Change
  • Basic Troubleshooting Flow: Pods
  • Basic Troubleshooting Flow: Node and Security
  • Basic Troubleshooting Flow: Agents
  • Monitoring
  • Logging Tools
  • Monitoring Applications
  • System and Agent Logs
  • Conformance Testing
  • More Resource
  • Labs

Closing and Evaluation Survey

When does class start/end?

Classes begin promptly at 9:00 am, and typically end at 5:00 pm.

Does the course schedule include a Lunchbreak?

Lunch is normally an hour long and begins at noon. Coffee, tea, hot chocolate and juice are available all day in the kitchen. Fruit, muffins and bagels are served each morning. There are numerous restaurants near each of our centers, and some popular ones are indicated on the Area Map in the Student Welcome Handbooks - these can be picked up in the lobby or requested from one of our ExitCertified staff.

How can someone reach me during class?

If someone should need to contact you while you are in class, please have them call the center telephone number and leave a message with the receptionist.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

Does ExitCertified deliver group training?

Yes, we provide training for groups, individuals, and private on sites. View our group training page for more information.

instructor was very knowledgeable, enjoyed all the discussions with him, and his explanations to all our questions were very clear.

Really enjoyed the training. Well delivered by an instructor who knows the subject in depth and didn t just read out the documentation.

Instructor took the time to draw things out when there were questions to help everyone see how the whole framework pieces together.

zoom virtual classroom was very well performing with good audio quality

Instructor Tim was very good. he knows the subject materials and was very patient with us as we learn.

5 options available

undo
  • Nov 2, 2020 Nov 4, 2020 (3 days)
    Location
    Virtual
    Language
    English
    Time
    9:00 AM 5:00 PM CST
    Enroll
    Enroll
  • Dec 7, 2020 Dec 9, 2020 (3 days)
    Location
    Virtual, virtual
    Language
    English
    Time
    9:00 AM 5:00 PM CST
    Enroll
    Enroll
  • Jan 11, 2021 Jan 13, 2021 (3 days)
    Location
    Virtual, virtual
    Language
    English
    Time
    9:00 AM 5:00 PM CST
    Enroll
    Enroll
  • Feb 22, 2021 Feb 24, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    9:00 AM 5:00 PM CST
    Enroll
    Enroll
  • Mar 29, 2021 Mar 31, 2021 (3 days)
    Location
    Virtual
    Language
    English
    Time
    9:00 AM 5:00 PM CST
    Enroll
    Enroll
Contact Us 1-800-803-3948
Contact Us Live Chat
FAQ Get immediate answers to our most frequently asked qestions. View FAQs arrow_forward