Docker Kubernetes Online Workshop

Duration : 8 Half Days (9 AM to 1 PM)

Date : 21, 22, 23, 24, 26, 28, 29, 30 March 2021

Overview

This boot camp introduces participants to docker and its ecosystem, help them get started using Docker to build, package and run their applications inside containers. This course also covers container orchestration with Kubernetes.

Prerequisites

  • Linux/Unix Systems Fundaments
  • Understanding of Command Line Interface
  • Basic knowledge of editors on Linux (any one of vi/nano/emacs)
  • Understanding of YAML syntax and familiarity with reading/writing basic YAML specifications


Course Contents

  1. Introduction
    • Basics of Docker
    • Dockerfile
    • Networking
  1. Creating and Running Containers
    • Container Images
    • Building Application Images with Docker
    • Storing Images in a Remote Registry
    • The Docker Container Runtime
  2. Deploying a Kubernetes Cluster
    • Installing Kubernetes on a Public Cloud Provider
    • Installing Kubernetes Locally Using minikube
    • Running Kubernetes on Raspberry Pi
    • The Kubernetes Client
    • Cluster Components
  3. Common kubectl Commands
    • Namespaces
    • Contexts
    • Viewing Kubernetes API Objects
    • Creating, Updating, and Destroying Kubernetes Objects
    • Labelling and Annotating Objects
    • Debugging Commands
  4. Pods
    • Pods in Kubernetes
    • Thinking with Pods
    • The Pod Manifest
    • Running Pods
    • Accessing Pod
    • Health Checks
    • Resource Management
    • Persisting Data with Volumes
    • The Distributed System ToolKit
      • Sidecar containers
      • Ambassador containers
      • Adapter containers
  5. Labels and Annotations
    • Labels
    • Annotations
  6. Resource Quotas
    • Enabling Resource Quota
    • Compute Resource Quota
    • Storage Resource Quota
    • Object Count Quota
    • Quota Scopes
    • Requests vs Limits
    • Viewing and Setting Quotas
    • Quota and Cluster Capacity
    • Limit Priority Class consumption by default
  7. Service Discovery
    • What Is Service Discovery?
    • Using CoreDNS for Service Discovery
    • About CoreDNS
    • Upgrading an existing cluster with kubeadm
    • Installing kube-dns instead of CoreDNS with kubeadm
    • The Service Object
    • Looking Beyond the Cluster
    • Cloud Integration
    • Advanced Details
  8. ReplicaSets
    • Reconciliation Loops
    • Relating Pods and ReplicaSets
    • Designing with ReplicaSets
    • ReplicaSet Spec
    • Creating a ReplicaSet
    • Inspecting a ReplicaSet
    • Scaling ReplicaSets
    • Deleting ReplicaSets
  9. DaemonSets
    • DaemonSet Scheduler
    • Creating DaemonSets
    • Limiting DaemonSets to Specific Nodes
    • Updating a DaemonSet
    • Deleting a DaemonSet
  10. Jobs
    • The Job Object
    • Job Patterns
  11. ConfigMaps and Secrets
    • ConfigMaps
    • Secrets
    • Naming Constraints
    • Managing ConfigMaps and Secrets
  12. Deployments
    • First Deployment
    • Creating Deployments
    • Managing Deployments
    • Updating Deployments
    • Deployment Strategies
    • Deleting a Deployment
  13. Integrating Storage Solutions and Kubernetes
    • Importing External Services
    • Running Reliable Singletons
    • Kubernetes-Native Storage with StatefulSets
  14. The Ecosystem
    • Installing Helm, the Kubernetes Package Manager
    • Using Helm to Install Applications
    • Creating Your Own Chart to Package Your Application with Helm
    • Converting Your Docker Compose Files to Kubernetes Manifests
    • Creating a Kubernetes Cluster with kubicorn
    • Storing Encrypted Secrets in Version Control
    • Deploying Functions with kubeless
  15. Deploying Real-World Applications
    • Parse
    • Ghost
    • Redis
  1. Service Mesh
    • Why service mesh?
    • Conduit and Istio
    • Managing microservices with Istio
  2. Authorization Overview
    • Determine Whether a Request is Allowed or Denied
    • Review Your Request Attributes
    • Determine the Request Verb
    • Authorization Modules
    • Using Flags for Your Authorization Module
    • Privilege escalation via pod creation
  3. Networking
    • Calico
    • Flannel
  4. Scaling
    • Scaling a Deployment
    • Automatically Resizing a Cluster in GKE
    • Automatically Resizing a Cluster in AWS
    • Using Horizontal Pod Autoscaling on GKE
  5. Security
    • Providing a Unique Identity for an Application
    • Listing and Viewing Access Control Information
    • Controlling Access to Resources
    • Securing Pods
  6. Ingress Controller
    • What is Ingress?
    • Prerequisites
    • The Ingress Resource
    • Ingress controllers
    • Before you begin
    • Types of Ingress
    • Updating an Ingress
    • Failing across availability zones
    • Future Work
    • Alternatives
  7. Monitoring and Logging
    • Accessing the Logs of a Container
    • Recover from a Broken State with a Liveness Probe
    • Controlling Traffic Flow to a Pod Using a Readiness Probe
    • Adding Liveness and Readiness Probes to Your Deployments
    • Enabling Heapster on Minikube to Monitor Resources
    • Using Prometheus on Minikube
    • Using Elasticsearch–Fluentd–Kibana (EFK) on Minikube

Date

Mar 21 - 30 2021
Expired!

Time

Half Day Training from 9 AM to 1 PM
9:00 AM - 1:00 PM

ENQUIRE NOW