IN THIS KUBERNETES AND DOCKER TRAINING YOU WILL LEARN
Learn the fundamental uses of container technology and the architectural principles of how to apply containers to technical challenges.
Create containers with both packaged solutions and custom software.
Use the Docker and Kubernetes CLI environments to deploy solutions in local (Docker) and cluster (Kubernetes) environments.
Learn how stateful services – such as databases, streaming solutions , and other specialty applications – can be deployed in highly-available configurations with redundancy and service-discovery/load-balancing.
Show how other components – can be used to integrate services within the Kubernetes platform.
Explore how Docker and technologies such as Jenkins can be used to continuously test and build containers based on changes to source code.
Developers, system architects, technical team leads, systems administrators, and DevOps professionals who want to understand and use Kubernetes in cloud environments.
PREREQUISITES FOR KUBERNETES AND DOCKER TRAINING
Proficiency with the Linux Command Line Interface (CLI)
Broad understanding of Linux system administration: Linux file system, networking, and bash scripting.
Computer programming concepts and methodologies. Full code examples for the course are provided in the Python and Java programming languages.
5 Key Features of Kubernetes in 2021!
Outline for Docker and Kubernetes Fundamentals
Chapter 1. Docker and Linux Container Technology: Introduction and Use-Cases
- Modern Infrastructure Terminology
- Hypervisor Types
- Type 1 Hypervisors
- Type 2 Hypervisors
- Type 1 vs Type 2 Processing
- Virtualization Qualities (1/2)
- Virtualization Qualities (2/2)
- Disadvantages of Virtualization
- Virtualization vs Containerization
- Where to Use Virtualization and Containerization
- Containerization: High-Level
- Popular Containerization Systems
- What are Linux Containers
- Solaris Zones (Containers)
- Container Orchestration Tools
- Docker Swarm
- Mesos and Marathon
- Mesos and Marathon (contd.)
- Docker Use-Cases
- Microservices and Containers / Clusters
Chapter 2. Docker in Action
- Docker Basics
- Where Can I Run Docker?
- Installing Docker Container Engine
- Docker Toolbox
- What is Docker?
- Docker Architecture
- Docker Architecture Diagram
- Docker Images
- Docker Containers
- Docker Integration
- Docker Services
- Docker Application Container Public Repository
- Docker Run Command
- Starting, Inspecting, and Stopping Docker Containers
- Docker Volume
- Docker Compose
- Using Docker Compose
- Dissecting docker-compose.yml
- Specifying services
- Dependencies between containers
- Injecting Environment Variables
Chapter 3. Managing Docker State
- State and Data in Docker
- More About Volumes
- Uses for Volumes
- Working With Volumes
- Create Volume
- Use Volumes with Containers
- Bind Mounts
- Using Bind Mounts
- tmpfs Mounts
- Storing Data in the Container
- Storage Drivers
- Remote Data Storage
- The Default Bridge Network
- User-Defined Bridge Networks
- Docker Network Commands
- Creating a User-Defined Bridge Network
Chapter 4. Open Container Initiative and Container Runtime Interface
- Open Container Initiative (OCI)
- Docker Engine Architecture
- containerd Benefits
- CRI-O Components
- Kubernetes and CRI-O
- Using Container Runtimes with Minikube
- Docker Runtime and Kubernetes
- Putting Things Together
Chapter 5. Kubernetes Architecture
- Kubernetes Basics
- What is Kubernetes?
- Container Orchestration
- Architecture Diagram
- Kubernetes Cluster
- Master Node
- Using Pods to Group Containers
- Label Syntax
- Label Selector
- Persistent Storage
- Resource Quota
- Interacting with Kubernetes
Chapter 6. Working with Kubernetes
- Kubernetes Tools
- kubectl Command Line Interface
- API Proxy
- Kubernetes Component Hierarchy
- Deployment Commands
- Updating Deployments
- Network Considerations
- Other Useful Commands
Chapter 7. Kubernetes Workload
- Kubernetes Workload
- Kubernetes Workload (contd.)
- Managing Workloads
- Imperative commands
- Imperative Object Configuration
- Declarative Object Configuration
- Configuration File Schema
- Understanding API Version
- Obtaining API Versions
- Obtaining API Versions (contd.)
- Stateless Applications
- Sample Deployment Manifest File
- Working with Deployments
- Stateful Applications
- Sample Stateful Manifest File
- Sample Stateful Manifest File (Contd.)
- Working with StatefulSet
- Sample Job Manifest File
- Sample Job Manifest File (Contd.)
- Working with Batch Job
- DaemonSets (contd.)
- Sample Daemon Manifest File
- Rolling Updates
- Rolling Updates (Contd.)
Chapter 8. Scheduling and Node Management
- Kubernetes Scheduler
- Kubernetes Scheduler Overview (contd.)
- Skip Kubernetes Scheduler
- Scheduling Process
- Scheduling Process - Predicates
- Scheduling Process - Priorities
- Scheduling Algorithm
- Kubernetes Scheduling Algorithm
- Scheduling Conflicts
- Controlling Scheduling
- Label Selectors
- Label Selectors (contd.)
- Label Selectors (Contd.)
- Node Affinity and Anti-affinity
- Node Affinity Example
- Node Antiaffinity Example
- Taints and Tolerations
- Taints and Tolerations (Contd.)
- Taints and Tolerations - Example
Chapter 9. Managing Networking
- Kubernetes Networking Components
- The Kubernetes Network Model
- Networking Scenarios
- Container-Container Communication
- Pod-Pod Communication
- 1.3 Pod-Service Communication
- External-Service Communication
- Accessing Applications
- Useful Commands
- Container Network Interface (CNI)
- What is CNI’s Role?
- CNI Configuration Format
- Sample CNI Configuration
- Running the CNI Plugins
Chapter 10. Managing Persistent Storage
- Storage Methods
- Container OS file system storage
- Docker Volumes
- Kubernetes Volumes
- K8S Volume Types
- Cloud Resource Types
- Creating configMaps from Literals
- Creating configMaps from files
- Using configMaps
- Using an emptyDir Volume
- Other Volume Types
- Persistent Volumes
- Creating a Volume
- Persistent Volume Claim
- Persistent Volume
- Pod that uses Persistent Volume
- Creating Secrets from Files
- Creating Secrets from Literals
- Using Secrets
- Security Context
- Security Context Usage
Chapter 11. Working with Helm
- What is Helm?
- Installing Helm
- Helm and KUBECONFIG
- Helm Features
- Helm Terminology
- Searching for Charts with helm CLI
- Adding Repositories
- Helm Hub - Search
- Helm Hub - Chart Page
- Installing a Chart
- Upgrading a Release
- Rolling Back a Release
- Creating Custom Charts
- Common Chart Files
- Helm Templates
- Installing A Custom Chart
- Packaging Custom Charts
Chapter 12. Logging, Monitoring, and Troubleshooting
- Differences Between Logging and Monitoring
- Logging in Kubernetes
- Basic Logging
- Logging Agents
- Fluentd and Elastic Stack
- Monitoring with Prometheus
- Kubernetes and Prometheus - Metrics
- Debugging Pods
- Debugging Pods (Contd.)
- Debugging Nodes
- Debugging Replication Controllers and Services
- Upgrading Kubernetes
- Upgrade Process
- Determine Which Version to Upgrade To
- Upgrade kubeadm
- Upgrade Control Plane Node
- Upgrade kubelet and kubectl
- Upgrade Worker Nodes
- Recovering From a Failure State
Chapter 13. Continuous Integration Fundamentals
- Jenkins Continuous Integration
- Jenkins Features
- Running Jenkins
- Downloading and Installing Jenkins
- Running Jenkins as a Stand-Alone Application
- Running Jenkins on an Application Server
- Installing Jenkins as a Windows Service
- Different types of Jenkins job
- Configuring Source Code Management(SCM)
- Working with Subversion
- Working with Subversion (cont'd)
- Working with Git
- Build Triggers
- Schedule Build Jobs
- Polling the SCM
- Maven Build Steps
- Configuring Jenkins to Access Kubernetes
- Jenkins Pipeline
- Jenkins Pipeline Output
- Installing Jenkins Plugins
Lab 1. Managing Containers
Lab 2. Building Images
Lab 3. Dockerfiles
Lab 4. Deploying Stateful Services in Docker
Lab 5. Custom Network Management
Lab 6. Docker Volumes
Lab 7. Accessing the Kubernetes API
Lab 8. Working with Kubernetes Workloads
Lab 9. Scheduling and Node Management
Lab 10. Accessing Applications
Lab 11. Using Persistent Storage
Lab 12. Getting Started with Helm
Lab 13. Build CI Pipeline with Jenkins
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.
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 and Docker 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 and Docker Training online?
Yes! Our Kubernetes and Docker training is available as “onsite live training” or “online live training”. Onsite live Kubernetes and Docker training can be carried out locally on customer premises or in Web Age corporate training centers. Our live online Kubernetes and Docker training 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.