Docker and Kubernetes Bootcamp

Hands-on intensive, certification boot-camp to prep you for Docker Certified Associate (DCA) & Certified Kubernetes Administrator (CKA) Exams
Are you ready for it?
course-img
background-dot-image

Docker

Bangalore
Nov 30th, Dec 1st, 7th, 8th - 2019

Kubernetes

Bangalore
Dec 14th, 15th, 21st, 22nd - 2019
book-img8 Classes
time-image10 AM to 5 PM
calendar-imageWeekend Program

Overview

A Hands-on intensive course where you learn by doing. It is geared towards Docker and Kubernetes Certification Docker Certified Associate (DCA) and Certified Kubernetes Administrator (CKA) exam.

Objectives

On completion of this course, participants:
  • Docker
    • Understand the need of Containerization
    • Can explain how docker works and its components
    • Can operate docker containers, images, volumes and networks
    • Can create and manage Swarm clusters and deploy workloads on them
    • Can work on Docker Enterprise products like UCP and DTR
  • Kubernetes
    • Understand the need of Orchestration
    • Can explain the Kubernetes Architecture and its components
    • Can operate various Kubernetes resources
    • Understand the Networking model and write Kube Manifest files
    • Can completely manage a Multi-master Kubernetes Cluster

Good to have

  • Hands-on experience in Linux operating systems
  • Knowledge on General Application architecture
  • Understanding of OS Processes, Threads and Services
  • Basic understanding of Networking such as OSI layers, CIDR, etc
  • Knowledge on YAML syntax will be an additional benefit
  • Participants are expected to bring their own laptops

Delivery Method

  • It is an Instructor-led Classroom Training with more focus on hands-on exercises
  • Scenarios to practice will be shared through our learning portal at the end of every week
  • Other study materials will be accessible at our learning portal
  • Lab environments to practice Docker and Kubernetes is provided during training

Duration

Weekend

Every Saturday & Sunday

Timing

10 AM to 5 PM (IST)

Course Fee (incl. of GST)

Docker

INR 17,700

Kubernetes

INR 17,700

Bundle Offer (Docker + Kubernetes)

INR 29,500

Docker Course Outline

Week 1

Virtualization

  • Why we need it?
    • Resource Restriction
    • Isolation
  • How its works?
  • What's the catch?

Containerization

  • Why containers instead of virtual machines?
  • How does it work?
    • CGroups
    • Namespaces
    • CoW
  • What's the tradeoff?
    • Platform dependent

Docker Editions - Community & Enterprise

Docker Installation - Ubuntu 18.04 server & CentOS 7 server

Understanding Docker Architecture

  • Docker CLI
  • Docker Engine
  • ContainerD
  • ContainerD-shim
  • RunC
  • Libcontainer

Working with Docker Containers

  • Understanding Container Lifecycle
  • Attached and Detached Modes
  • Spawning processes using Exec
  • Port Binding for exposing containers
  • Understanding Restart Policies
  • Monitoring Resource usage statistics
  • Accessing container Logs
  • Passing Environment Variables
  • Setting Health Checks for containers
  • Setting CPU, Memory, Disk IO and Disk space limits to a container
  • Passing DNS servers and setting up Hostnames to containers

Working with Docker Images

  • Understanding the Concept of Layers
  • Dockerfile
    • Instructions - from, entrypoint, cmd, copy, expose, user, workdir, shell, run
    • Building Base images from scratch
    • Creating Multistage builds
    • Best Practices
  • Pushing and Pulling images to Docker Hub
  • Exporting images as tar archives
  • Understanding difference between Docker Import vs. Load
  • Understanding Prune vs. Delete
  • Discussion on different Storage drivers

Working with Docker Volumes

  • Setting up Bind Mounts to a container
  • Creating Volume Mounts
    • Discussion on Volume drivers
  • Understanding Tmpfs Mounts

Working with Docker Networks

  • Creating and using Bridge Network with containers
  • Using Host Network and Null Network
  • Understanding Overlay Network
  • Discussion on Network Drivers
  • Understanding Network Namespace and Container Network Model

Week 2

Docker Logging

  • Discussion on different Logging drivers
    • json-file, syslog, etc.

Configuring Docker

  • Modifying docker daemon settings
  • Editing the docker service
  • Turing on experimental mode in docker daemon
  • Upgrading a docker engine

Working with Docker Swarm

  • Understanding Services
    • Creating a Global service and knowing its need
    • Creating a Replicated service and understanding its purpose
    • Setting up Placement preference and Placement constraints in services
    • Scaling the services in and out
    • Publishing ports to expose the service containers
      • Understanding ingress routing mesh
    • Troubleshooting services
  • Grouping resources into Stack
    • Creating stacks with Docker compose file
    • Learning Docker compose structure and syntax
  • Managing Nodes in a swarm cluster
    • Draining containers from a node
    • Understanding Manager and Worker nodes
    • Locking and unlocking a swarm node
  • Using Docker Secrets to pass confidential data to containers
  • Using Docker Configs to pass configuration files to containers

Working with Docker Enterprise

  • Universal Control Plane
    • Role Based Access Control with roles, users and role-grants
    • Using Client Bundles to Authenticate with Docker enterprise cluster
  • Docker Trusted Repository
    • Setting up Promotions and Policies
    • Scanning image for Vulnerabilities
    • Understanding Backups in DTR
  • Discussions on Load balancing the UCP and DTR APIs

Docker Security

  • Signing images with Docker Content Trust
  • Working with Authentication and Authorization
  • Understanding Swarm MTLS

Docker Certified Associate - Preparation

Kubernetes Course Outline

Week 1

Need of Orchestration

  • The role of Hypervisor manager in Cloud services
  • Comparing the above with Container layer

History of Kubernetes

Why Kubernetes and why not others orchestrators?

Understanding Kubernetes Architecture

  • Segregating the responsibilities of the Master node and the Worker node
  • Understanding various Kubernetes components
    • Etcd
    • Kube API server
    • Kube Controller Manager
      • Node Controller
      • Replication Controller
      • Endpoints Controller
      • Service Accounts Controller
      • Token Controller
    • Cloud Controller Manager
      • Node Controller
      • Route Controller
      • Service Controller
      • Volume Controller
    • Kube Scheduler
    • Kubelet
    • Kube proxy
    • OCI Runtime
      • Docker
      • ContainerD
      • CRI-O
      • Frakti
    • CoreDNS
    • CNI Services

Working with different Kubernetes Resources

  • Creating and managing Pods
    • Image pull policies
    • Pod Scheduling
    • Liveness probe
    • Readiness probe
    • Startup probe
    • Requests
    • Limits
    • Creating tolerations for node taints
    • Node Selector
    • Affinity
  • Load balancing through Services
    • Cluster IP
    • Node Port
    • Load Balancer
    • External Name
    • Understanding Endpoints
  • Managing pods with ReplicaSet
    • Scaling the pods
    • Discussion on Self-healing
  • Using DaemonSet to create pods
    • Using Host Port to expose pods instead of services
  • Managing Declarative updates with Deployment
    • Rolling Update Strategy
    • Recreate Strategy
  • Managing Nodes
    • Applying and removing taints from nodes
    • Cordon & Uncordon a node
    • Draining all pods from a node
  • Creating Namespaces
  • Deploying an Ingress Controller like NginxIngress
    • Setting up Ingress rules for
      • Host based routing
      • Path based routing
  • Discussions on other resource types
    • StatefulSet
    • Job
    • CronJob
    • HorizontalPodAutoScalers
    • Events
    • Network Policy

Week 2

Structure of Kubeconfig file

  • Creating and using Contexts
  • Adding Clusters and managing Users

Understanding Kubernetes Networking Model

  • Types of Network
    • Flat Routed Network
    • Overlay Network
  • Discussions on various CNI plugins
    • Flannel
    • Calico
    • Canal
    • Weavenet

Understanding Kube Manifest structure and syntax

  • Using Labels and Selectors
  • Passing meta-data with Annotations

Providing Storage for pods

  • Volumes
  • Persistent Volumes
    • Hostpath
    • NFS
  • Understanding Persistent Volume Claims and Storage Classes
  • Understanding different Access Modes

Passing configuration to pods

  • Secret
  • Config Map

Authentication and Authorization in Kubernetes

  • Discussion on CA & TLS Certificates
  • Implementing Role Based Access Control
    • Subjects
      • Users
      • Service Accounts
    • Roles
      • Role Bindings
    • Cluster Role
      • Cluster Role Bindings

Cluster Administration

  • Single Master cluster and Multi master cluster installation with Kubeadm
  • Deploying Kubernetes Dashboard
  • Monitoring with Prometheus and Grafana
  • Upgrading Kubernetes cluster

Design Patterns

  • Sidecar Pattern
  • Ambassador Pattern
  • Adapter Pattern

API Calls & SDK

Certified Kubernetes Administrator - Preparation

Connect with us linkedin linkedin twitter