Web Age Solutions Inc
Providing Technology Training and Mentoring For Modern Technology Adoption
Web Age Aniversary Logo
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887
Course #:WA3007

Kubernetes for Developers Training

In this Kubernetes for Developers training course students learn how to containerize, host, deploy, and configure an application in a multi-node cluster. Students begin with a simple script, then define application resources and use core primitives to build, monitor and troubleshoot scalable applications in Kubernetes.

Students in this Kubernetes for Developers Training course will be working with network plugins, security and cloud storage, and will be exposed to many of the features needed to deploy an application in a production environment. 

 

Objectives for Kubernetes for Developers Training

  • Learn how to containerize and deploy a new Python script
  • Understand and configure the deployment with ConfigMaps, Secrets and SecurityContexts
  • Understand multi-container pod design
  • Learn to configure probes for pod health
  • Learn to update and roll back an application
  • Understand how to implement services and set NetworkPolicies
  • Learn how to use PersistentVolumeClaims for state persistence

Kubernetes for Developers Training Audience

This Kubernetes for Developers Training is intended for developers that need to understand all aspects of how to containerize, host, deploy, and configure an application in a multi-node cluster.

Prerequisites for Kubernetes for Developers Training

WA2675 Architecting Microservices with Kubernetes, Docker, and Continuous Integration Training – or equivalent experience.  Students should be familiar with a programming language and be comfortable with basic Linux command line and file editing skills.

Duration

Three days

 

WATCH NOW!
5 Key Features of Kubernetes in 2021!

 

Outline of Kubernetes for Developers Training

Chapter 1. Kubernetes Core Concepts

  • Kubernetes Basics
  • What is Kubernetes?
  • Container Orchestration
  • Kubernetes Architecture
  • Kubernetes Concepts
  • Cluster and Namespace
  • Nodes
  • Master
  • Pod
  • Using Pods to Group Containers
  • Label
  • Label Syntax
  • Annotation
  • Label Selector
  • Replication Controller and Replica Set
  • Service
  • Storage Volume
  • Secret
  • Resource Quota
  • Authentication and Authorization
  • Routing
  • Docker Registry
  • Summary

Chapter 2. Kubernetes Architecture

  • Architecture Diagram
  • Components
  • Kubernetes Cluster
  • Master Node
  • Kube-Control-Manager
  • Nodes
  • Other Components
  • Interacting with Kubernetes
  • Summary

Chapter 3. Build

  • What is Docker
  • Where Can I Run Docker?
  • Docker and Containerization on Linux
  • Linux Kernel Features: cgroups and namespaces
  • The Docker-Linux Kernel Interfaces
  • Containerizing an Application
  • Building a Docker Images using
  • Dockerfile
  • Sample Dockerfile
  • Environment Variables
  • Environment Variables - Example
  • Arguments
  • Multi-stage Builds
  • Multi-stage Builds (Contd.)
  • Stop at a Specific Build Stage
  • RUN
  • EXPOSE
  • EXPOSE (Contd.)
  • COPY
  • ADD
  • CMD
  • ENTRYPOINT
  • CMD vs. ENTRYPOINT
  • VOLUME
  • Build the Image
  • Build the Image (contd.)
  • .dockerignore
  • Dockerfile – Best Practices
  • Dockerfile - Best Practices (contd.)
  • Published Ports
  • Docker Documentation
  • Docker Registry
  • Hosting a Local Registry
  • Hosting a Local Registry (contd.)
  • Deploying to Kubernetes
  • Deploying to Kubernetes (contd.)
  • Running Commands in a Container
  • Multi-Container Pod
  • Multi-Container Pod (contd.)
  • Summary

Chapter 4. Design

  • Traditional Applications
  • Virtual Machines
  • Containerized Applications
  • Decoupled Resources
  • Transience
  • Flexible Framework
  • Application Resource Usage
  • Measuring Resource Usage
  • Docker Resource Usage Statistics
  • Docker Container Resource Constraints
  • Docker Run Command Resource Flags
  • Using Label Selectors
  • Equality Based Label Selector
  • Set Based Label Selector
  • Multi-Container Pods
  • Sidecar Container
  • Sidecar Container Uses
  • Adapter Container
  • Summary

Chapter 5. Deployment Configuration

  • Introduction to Volumes
  • Container OS file system storage
  • Docker Volumes
  • Kubernetes Volumes
  • Volume Specs
  • K8S Volume Types
  • Cloud Resource Types
  • emptyDir
  • Using an emptyDir Volume
  • Other Volume Types
  • Persistent Volumes
  • Creating a Volume
  • Persistent Volume Claim
  • Persistent Volume
  • Pod that uses Persistent Volume
  • Dynamic Volume Provisioning
  • Requesting Dynamic Storage
  • Secrets
  • Creating Secrets from Files
  • Creating Secrets from Literals
  • Using Secrets
  • configMaps
  • Creating configMaps from Literals
  • Creating configMaps from files
  • Using configMaps
  • Security Context
  • Security Context Usage
  • Deployment Configuration Status
  • Replicas
  • Scaling
  • Rolling Updates
  • Summary

Chapter 6. Security

  • Security Overview
  • API Server
  • API & Security
  • ~/.kube/config
  • ~/.kube/config (contd.)
  • Kubernetes Access Control Layers
  • Authentication
  • Authorization
  • ABAC Authorization
  • ABAC - Policy Format
  • ABAC - Examples
  • RBAC Authorization
  • Role and ClusterRole
  • Role - Example
  • ClusterRole - Example
  • RoleBinding and ClusterRoleBinding
  • RoleBinding - Example
  • ClusterRoleBinding - Example
  • Authorization Modes - Node
  • Authorization Modes - ABAC
  • Admission Controller
  • Network
  • Policies
  • Network Policies - Examples
  • Network Policies - Pod Isolation
  • Network Policies - Internet Access for Pods
  • Network Policies - New Deployments
  • Summary

Chapter 7. Exposing Applications

  • Kubernetes Services
  • Service Resources
  • Service Type
  • ClusterIP
  • NodePort
  • NodePort from Service Spec
  • LoadBalancer
  • LoadBalancer from Service Spec
  • ExternalName
  • Accessing Applications
  • Service Without a Selector
  • Ingress
  • Ingress Resource Example
  • Ingress Controller
  • Service Mesh
  • Summary

Chapter 8. Troubleshooting Kubernetes

  • Troubleshooting Overview
  • Objects in Kubernetes
  • Relationships in Kubernetes
  • Operations in Kubernetes
  • Understanding the Issue
  • Troubleshooting Tools
  • Troubleshooting Commands
  • Troubleshooting Pods
  • Troubleshooting the Cluster
  • Cluster Failure Modes
  • Monitoring
  • Monitoring Applications
  • Accessing Logs
  • Logging Tools
  • Conformance Testing
  • Summary

Lab Exercises

Lab 1. Getting Started with Kubernetes
Lab 2. Building a Docker Image with Dockerfile
Lab 3. Deploying to Kubernetes
Lab 4. Implementing the Sidecar Pattern
Lab 5. Deploying Applications
Lab 6. Implementing RBAC Security
Lab 7. Accessing Applications
Lab 8. Troubleshooting

 

Proven Results in Kubernetes for Developers Training

 

For over 20 years, we have trained thousands of developers at some of the country’s largest tech companies – including many Fortune 500 companies. Here are a few of the clients we have delivered Kubernetes training to:

 

Kubernetes for Developers training           kubernetes for developers training              kubernetes for developers training          Kubernetes for Developers training     Kubernetes for Developers Training

 

 

Here are some reviews from past students who completed our Kubernetes for Developers Training:

 

“Very happy with this course. Overview of lots of tools.”

“The instructor was very knowledgeable.”

“The instructor did a good job with the training. He definitely knows the topics.”

“Great job!”

“Instructor was excellent and exceeded our expectations”

 

WATCH NOW!
Kubernetes Made Easier Explore the AWS Elastic Kubernetes Service

Kubernetes is all the rage nowadays with pundits exclaiming its multi-cloud and DevOps-native attributes. But what if you are new to the Kubernetes landscape and are already using AWS? When AWS first released its Elastic Kubernetes Service in June 2018, it was an underwhelming release that didn’t add much value to a plain vanilla K8s installation. Fast forward to 2021 and the Elastic Kubernetes Service has made incredible strides in features and value-add. Come and explore this rich K8s service with a short demo highlighting how quickly and easily you can deploy a production-grade cluster on AWS.

 

kubernetes for developers training

Frequently Asked Kubernetes Training Questions

 What is Kubernetes?

Kubernetes (k8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
It groups containers that make up an application into logical units for easy management and discovery.

Why take Kubernetes for Developers training with Web Age?

The use of container technology has seen a massive increase in the past few years as more and more organizations are realizing the potential of containers. These enterprises deploy a huge number of containers and thus require technologies and frameworks that help in automation and management of these containers. Technologies such as Kubernetes that help in automating deployment, scaling, and management of containerized applications are thus in much demand.

Kubernetes is an open source; container management system created by Google to automate deployment and manage containerized applications. It acts as a portable cloud platform that orchestrates computing and networking. It has become an integral part of DevOps teams since it helps them manage the containers easily.

The usage of Kubernetes continues to grow in container environments globally. Hence, the demand for professionals who have knowledge of Kubernetes is high, since organizations need experts who can help manage these containers.

Can I take Kubernetes for Developers Training online?

Yes! Our Kubernetes for Developers training is available as “onsite live training” or “online live training”. Onsite live Kubernetes for Developers training classroom-style can be carried out locally on customer premises or in Web Age corporate training centers. Our live online Kubernetes for Developers training classroom is carried out by way of an interactive, remote desktop.

How does Kubernetes simplify containerized Deployment?

As a typical application would have a cluster of containers running across multiple hosts, all these containers would need to talk to each other. So, to do this you need something that would load balance, scale & monitor the containers. Since Kubernetes is cloud-agnostic and can run on any public/private providers it should be used to simplify containerized deployment.

What are the features of Kubernetes?

  • Automated scheduling: Kubernetes provides advanced scheduler to launch container on cluster nodes.
  • Self-healing capabilities: Rescheduling, replacing, and restarting the containers that crash.
  • Automated  rollouts and rollback: Kubernetes supports rollouts and rollbacks for the desired state of the containerized application.
  • Horizontal scaling and load balancing: Kubernetes has built-in Horizontal Pod Autoscheduler (HPA) that can scale out/in the application based on the load on the system.

What is ConfigMap in Kubernetes?

A ConfigMap is an API object that lets you store configuration for other objects to use. Unlike most Kubernetes objects that have a spec, a ConfigMap has a data section to store items (keys) and their values. The name of a ConfigMap must be a valid DNS subdomain name.

 

 

 

 

We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.
US Inquiries / 1.877.517.6540
Canadian Inquiries / 1.877.812.8887