7885  Reviews star_rate star_rate star_rate star_rate star_half

Kubernetes Administration Fundamentals

Web Age's Kubernetes Administration training teaches attendees how to deploy, scale, and manage containerized applications. This K8s course also prepares learners for the Certified Kubernetes...

Read More
$2,090 USD
Course Code WA3434
Duration 3 days
Available Formats Classroom

Web Age's Kubernetes Administration training teaches attendees how to deploy, scale, and manage containerized applications. This K8s course also prepares learners for the Certified Kubernetes Administrator (CKA) certification exam that tests your ability to administer Kubernetes clusters.

Skills Gained

  • Plan and create a Kubernetes cluster, including installing the necessary components, configuring the cluster, and adding nodes
  • Deploy applications to Kubernetes by creating pods, services, and storage
  • Manage Kubernetes resources with scaling, autoscaling, and updating applications
  • Integrate Kubernetes into a Continuous Integration pipeline using Jenkins
  • Troubleshoot Kubernetes by monitoring logs, diagnosing application failures, and troubleshooting network access

Prerequisites

  • Understand Linux administration skills
  • Be comfortable using the command line
  • Be able to edit files using a command-line text editor
  • Experience with containers and networking

Course Details

Course Outline

Kubernetes Architecture

  • Kubernetes Basics
  • What is Kubernetes?
  • Container Orchestration
  • Architecture Diagram
  • Components
  • Kubernetes Cluster
  • Master Node
  • Kube-Control-Manager
  • Nodes
  • Pod
  • Using Pods to Group Containers
  • Label
  • Label Syntax
  • Label Selector
  • Annotation
  • Persistent Storage
  • Resource Quota
  • Interacting with Kubernetes

Working with Kubernetes

  • Installation
  • Startup
  • Kubernetes Tools
  • kubectl Command Line Interface
  • API Proxy
  • Dashboard
  • Kubernetes Component Hierarchy
  • Deployments
  • Deployment Commands
  • Updating Deployments
  • Network Considerations
  • Services
  • Namespaces
  • Labels
  • Annotations
  • Other Useful Commands

Kubernetes Workload

  • Kubernetes Workload
  • Managing Workloads
  • Imperative commands
  • Imperative Object Configuration
  • Declarative Object Configuration
  • Configuration File Schema
  • Understanding API Version
  • Obtaining API Versions
  • Stateless Applications
  • Sample Deployment Manifest File
  • Working with Deployments
  • Stateful Applications
  • Sample Stateful Manifest File
  • Working with StatefulSet
  • Jobs
  • Sample Job Manifest File
  • Working with Batch Job
  • DaemonSets
  • Sample Daemon Manifest File
  • Rolling Updates

Scheduling and Node Management

  • Kubernetes Scheduler
  • Skip Kubernetes Scheduler
  • Scheduling Process
  • Scheduling Process - Predicates
  • Scheduling Process - Priorities
  • Scheduling Algorithm
  • Kubernetes Scheduling Algorithm
  • Scheduling Conflicts
  • Controlling Scheduling
  • Label Selectors
  • Node Affinity and Anti-affinity
  • Node Affinity Example
  • Node Antiaffinity Example
  • Taints and Tolerations

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

Managing Persistent Storage

  • Storage Methods
  • Container OS file system storage
  • Docker Volumes
  • Kubernetes Volumes
  • K8S Volume Types
  • Cloud Resource Types
  • configMaps
  • Creating configMaps from Literals
  • Creating configMaps from files
  • Using configMaps
  • emptyDir
  • Using an emptyDir Volume
  • Other Volume Types
  • Persistent Volumes
  • Creating a Volume
  • Persistent Volume Claim
  • Persistent Volume
  • Pod that uses Persistent Volume
  • Secrets
  • Creating Secrets from Files
  • Creating Secrets from Literals
  • Using Secrets
  • Security Context
  • Security Context Usage

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

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
  • Alerting
  • Debugging Pods
  • 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

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 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

Kubernetes Cluster Administration Overview

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

Planning and Designing a Kubernetes Cluster

  • Cloud Native Security
  • Code Security
  • Container Security
  • Cluster Security
  • Cloud/Data Source Security
  • Access Management
  • API Server Ports
  • API Access
  • Security Policies
  • RBAC Role Based Access Control
  • Role Example
  • ClusterRole Example
  • Granting Roles to Users
  • Security Contexts
  • Kubernetes Namespaces
  • Namespace Advantages
  • Initial Namespaces
  • Custom Namespaces
  • Namespaced Objects
  • kubectl Commands and Namespaces
  • Uses for Namespaces

Managing Kubernetes Clusters

  • Kubernetes Cluster
  • Points of Configuration
  • Sizing a Cluster
  • Resizing a Cluster
  • Horizontal auto-scaling
  • Maintenance on a Node
  • Kubernetes Cluster Limits
  • Considerations for Running Large Clusters
  • Considerations for Running Multiple Clusters
  • Multi-Cluster Architectural Choices
  • Resource Quotas
  • Example Resource Allocation
  • Cluster Failure Modes
  • Cluster Troubleshooting Workflow

Deployment Strategies

  • Rolling Updates
  • Parameters for Rolling Updates
  • Strategy Parameters in Deployment Specs
  • Deployment Strategies
  • Recreate
  • Ramped
  • Blue/Green
  • Canary
  • a/b Testing
  • Deployment Status
  • History
  • Versioning of Deployments
  • Labeling a Deployment Version in Kubernetes
  • Versioning with Helm
  • Deployment Tools

Autoscaling

  • Autoscaling
  • HorizonalPodAutoscaler (HPA)
  • Autoscale Command
  • Autoscale Yaml
  • Generating Traffic for Testing
  • Response to Changing Traffic
  • Get HPA --watch Mode
  • Scaling Based on Requested Resources
  • Scaling Based on Direct Value
  • Metrics Types for Scaling
  • Scaling Based on Multiple Metrics

Lab Exercises

  • Lab 1. Creating a Docker Account and Obtain an Access Token
  • Lab 2. Configuring Minikube/Kubernetes to Use a Custom Docker Account
  • Lab 3. Accessing the Kubernetes API
  • Lab 4. Working with Kubernetes Workloads
  • Lab 5. Scheduling and Node Management
  • Lab 6. Accessing Applications
  • Lab 7. Using Persistent Storage
  • Lab 8. Getting Started with Helm
  • Lab 9. Build CI Pipeline with Jenkins
  • Lab 10. Kubernetes Cluster Overview
  • Lab 11. Planning a Kubernetes Cluster