Kubernetes for App Developers

Start date: TBC

Location: Virtual delivery

Cost: Subsidised rate is €1470

Programme overview

Kubernetes is a high-velocity open source orchestration tool to deploy, scale, and update containerized applications. This Kubernetes for App Developers training 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.

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

Course Outline

 

  1. Introduction

 

  1. Objectives
  2. Who You Are
  3. The Linux Foundation
  4. Linux Foundation Training
  5. Preparing Your System
  6. Course Registration
  7. Labs

 

  1.      Kubernetes Architecture

 

  1. What Is Kubernetes?
  2. Components of Kubernetes
  3. Challenges
  4. The Borg Heritage
  5. Kubernetes Architecture
  6. Terminology
  7. Master Node
  8. Minion (Worker) Nodes
  9. Pods
  10. Services
  11. Controllers
  12. Single IP per Pod
  13. Networking Setup
  14. CNI Network Configuration File
  15. Pod-to-Pod Communication
  16. Cloud Native Computing Foundation
  17. Resource Recommendations
  18. Labs

 

  1.     Build

 

  1. Container Options
  2. Containerizing an Application
  3. Hosting a Local Repository
  4. Creating a Deployment
  5. Running Commands in a Container
  6. Multi-Container Pod
  7. readinessProbe
  8. livenessProbe
  9. Testing
  10. Labs

 

  1.     Design

 

  1. Traditional Applications: Considerations
  2. Decoupled Resources
  3. Transience
  4. Flexible Framework
  5. Managing Resource Usage
  6. Multi-Container Pods
  7. Sidecar Container
  8. Adapter Container
  9. Ambassador
  10. Points to Ponder
  11. Labs

 

  1.      Deployment Configuration

 

  1. Volumes Overview
  2. Introducing Volumes
  3. Volume Spec
  4. Volume Types
  5. Shared Volume Example
  6. Persistent Volumes and Claims
  7. Persistent Volume
  8. Persistent Volume Claim
  9. Dynamic Provisioning
  10. Secrets
  11. Using Secrets via Environment Variables
  12. Mounting Secrets as Volumes
  13. Portable Data with ConfigMaps
  14. Using ConfigMaps
  15. Deployment Configuration Status
  16. Scaling and Rolling Updates
  17. Deployment Rollbacks
  18. Jobs
  19. Labs

       

  1. Security

 

  1. Security Overview
  2. Accessing the API
  3. Authentication
  4. Authorization
  5. ABAC
  6. RBAC
  7. RBAC Process Overview
  8. Admission Controller
  9. Security Contexts
  10. Pod Security Policies
  11. Network Security Policies
  12. Network Security Policy Example
  13. Default Policy Example
  14. Labs

 

  1.      Exposing Applications

 

  1. Service Types
  2. Services Diagram
  3. Service Update Pattern
  4. Accessing an Application with a Service
  5. Service without a Selector
  6. ClusterIP
  7. NodePort
  8. LoadBalancer
  9. ExternalName
  10. Ingress Resource
  11. Ingress Controller
  12. Labs

 

  1. Troubleshooting

 

  1. Troubleshotting Overview
  2. Basic Troubleshooting Steps
  3. Ongoing (Constant) Change
  4. Basic Troubleshooting Flow: Pods
  5. Basic Troubleshooting Flow: Node and Security
  6. Basic Troubleshooting Flow: Agents
  7. Monitoring
  8. Logging Tools
  9. Monitoring Applications
  10. System and Agent Logs
  11. Conformance Testing
  12. More Resource
  13. Labs

Target Audience

  • Developers who want to containerize their applications and run them in production via Kubernetes
  • Operators/System Administrators who want to learn about Kubernetes components, API and security features
  • Cloud Architects who want to take advantage of cloud native technologies in their enterprise
  • This training course is suitable for anyone who wants to learn the skills necessary to build and administer a Kubernetes cluster.

 

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)

To register your interest or make an enquiry please click here

Enquire Now