Book a one-on-one call with one of our senior team members to find out what it takes to learn this course!
No cost Whether or not you decide to work with us, the consultation is absolutely free. There is no commitment or obligation.
Personalized quote Get custom (but not cookie cutter) pricing based on YOUR learning needs and goals.
All-in-one solution Invest in the most profitable channels and services that grow your skills.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Walk Away with Clarity, Confidence, and a Growth Plan in 3 Easy Steps:
Submit the form. Help us get to know your interest.
Schedule a call. Choose a day and time that works for you.
Chat 1:1 with a senior team member. Discover new opportunities for growth!
Kubernetes for Developers
In this Kubernetes for Developers training course students learn how to containerize, host, deploy, and configure an application in a multi-node cluster.
Benefits
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
Outline
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
Kubernetes Architecture
Architecture Diagram
Components
Kubernetes Cluster
Master Node
Kube-Control-Manager
Nodes
Other Components
Interacting with Kubernetes
Summary
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
Stop at a Specific Build Stage
RUN
EXPOSE
COPY
ADD
CMD
ENTRYPOINT
CMD vs. ENTRYPOINT
VOLUME
Build the Image
.dockerignore
Dockerfile – Best Practices
Published Ports
Docker Documentation
Docker Registry
Hosting a Local Registry
Deploying to Kubernetes
Running Commands in a Container
Multi-Container Pod
Summary
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
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
Security
Security Overview
API Server
API & Security
~/.kube/config
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
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
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. Creating a Docker Account and Obtain an Access Token
Lab 2. Configuring Minikube/Kubernetes to Use a Custom Docker Account