Kubernetes for App Developers (LFD459)

3 days (21 hours)

Course overview

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.

The topics covered are directly aligned with the knowledge domains tested by the Cloud Native Computing Foundation Certified Kubernetes Application Developer (CKAD) Program, and will substantially increase students’ ability to become certified.

Learning outcomes

This course teaches participants the following skills:

  • 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, participants should have:

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 the free Introduction to Kubernetes edX MOOC) is helpful for this course.

Target audience

This course is intended for the following participants:

This course is designed to be vendor- and distribution-neutral, so you will be able to apply these concepts universally.

Course Outline

  1. Introduction
  2. Objectives
  3. Who You Are
  4. The Linux Foundation
  5. Linux Foundation Training
  6. Certification Programs and Digital Badging
  7. Preparing Your System
  8. Course Registration
  9. Labs

  10. Kubernetes Architecture

  11. What Is Kubernetes?

  12. Components of Kubernetes

  13. Challenges

  14. The Borg Heritage

  15. Kubernetes Architecture

  16. Terminology

  17. Master Node

  18. Minion (Worker) Nodes

  19. Pods

  20. Services

  21. Controllers / Operators

  22. Single IP per Pod

  23. Networking Setup

  24. CNI Network Configuration File

  25. Pod-to-Pod Communication

  26. Cloud Native Computing Foundation

  27. Resource Recommendations

  28. Labs

  29. Build

  30. Container Options

  31. Containerizing an Application

  32. Creating the Dockerfile

  33. Hosting a Local Repository

  34. Creating a Deployment

  35. Running Commands in a Container

  36. Multi-Container Pod

  37. readinessProbe

  38. livenessProbe

  39. Testing

  40. Labs

  41. Design

  42. Traditional Applications: Considerations

  43. Decoupled Resources

  44. Transience

  45. Flexible Framework

  46. Managing Resource Usage

  47. Using Label Selectors

  48. Multi-Container Pods

  49. Sidecar Container

  50. Adapter Container

  51. Ambassador

  52. Points to Ponder

  53. Jobs

  54. Labs

  55. Deployment Configuration

  56. Volumes Overview

  57. Introducing Volumes

  58. Volume Spec

  59. Volume Types

  60. Shared Volume Example

  61. Persistent Volumes and Claims

  62. Persistent Volume

  63. Persistent Volume Claim

  64. Dynamic Provisioning

  65. Secrets

  66. Using Secrets via Environment Variables

  67. Mounting Secrets as Volumes

  68. Portable Data with ConfigMaps

  69. Using ConfigMaps

  70. Deployment Configuration Status

  71. Scaling and Rolling Updates

  72. Deployment Rollbacks

  73. Labs

  74. Security

  75. Security Overview

  76. Accessing the API

  77. Authentication

  78. Authorization

  79. ABAC

  80. RBAC

  81. RBAC Process Overview

  82. Admission Controller

  83. Security Contexts

  84. Pod Security Policies

  85. Network Security Policies

  86. Network Security Policy Example

  87. Default Policy Example

  88. Labs

  89. Exposing Applications

  90. Service Types

  91. Services Diagram

  92. Service Update Pattern

  93. Accessing an Application with a Service

  94. Service without a Selector

  95. ClusterIP

  96. NodePort

  97. LoadBalancer

  98. ExternalName

  99. Ingress Resource

  100. Ingress Controller

  101. Service Mesh

  102. Labs

  103. Troubleshooting

  104. Troubleshooting Overview

  105. Basic Troubleshooting Steps

  106. Ongoing (Constant) Change

  107. Basic Troubleshooting Flow: Pods

  108. Basic Troubleshooting Flow: Node and Security

  109. Basic Troubleshooting Flow: Agents

  110. Monitoring

  111. Logging Tools

  112. Monitoring Applications

  113. System and Agent Logs

  114. Conformance Testing

  115. More Resource

  116. Labs

  117. Closing and Evaluation Survey

€2150 ex. VAT

Suggested courses

LFS458
Kubernetes Administration (LFS458)
This course covers the core concepts typically used to build and administer a Kubernetes cluster in production, using vendor-independent tools. We build a cluster, determine network configuration, grow the cluster, deploy applications and configure the storage, security and other objects necessary for typical use. This course offers exposure to the many skills necessary to administer Kubernetes in a production environment and is excellent preparation for the Certified Kubernetes Administrator (CKA) exam. This course does not focus on one vendor’s tools. Most courses are vendor-locked. We use kubeadm to deploy the cluster and focus on tools that would work on anyone’s Kubernetes cluster.

Contact us

You can unsubscribe from our communications at any time.

In order to take into account your request, we must store and process your personal data. If you authorize us to store your personal data for this purpose, check the box below.

By clicking on « Send » below, you authorize SFEIR to store and process the personal data submitted above so that it can provide you with the requested content.