Acumen IT Training, Inc.

DEVOPS TRAINING

COURSE DESCRIPTION

DevOps Training (Docker and Kubernetes)

Docker is a open-source tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and deploy it as one package. By doing so, thanks to the container, the developer can rest assured that the application will run on any other Linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and testing the code.

Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available

COURSE DURATION - 10 days VILT

COURSE OUTLINE

Environment Setup

  • Install Virtual Box / Use AWS / Azure
  • Create Ubuntu/CentOS Virtual Machine
  • Install SSH on the box
  • Connect from Windows through SSH.


Docker Basics

  • Virtualization and Containerization
  • Install git on windows as well as VM
  • Docker Architecture
  • Docker Image Internals
  • Docker Container Internals
  • Docker Lifecycle

Lab:

  • Lab on Docker image
  • Lab on Docker Hub
  • Lab on Docker Container
  • Creating an image from our custom container
  • Pushing our image to Docker Hub
  • Export and import images and Containers
  • Accessing containers from outside the machine.

Understanding the internals

  • Control Groups
  • Filesystem
  • COW
  • How are the images stored?
  • Hands on session
  • How are the containers stored?
  • Hands on session


Build our own Docker image

  • Discuss about each of the Dockerfile commands.
  • Difference between RUN, EntryPoint and Command
  • Difference between Add and Copy


Lab:

  • Create Docker images with
  • FROM
  • RUN
  • ENTRYPOINT
  • CMD
  • ARG
  • Build a Docker image of an existing small application hosted on Tomcat.
  • Volume
  • What is Volume and why do we need them.
  • Different types of Docker volumes


Lab:

  • Create a container attached to volume and understand the internals
  • Bind mounts and understand the internals
  • Understand the various options
  • How to distinguish them
  • Wich volume type to use? When to use them?

Lab:

  • Create Docker web container connected to backend mysql container.
  • Crash and restore of mysql container.

Multi Stage Build

Docker Networking

  • Understanding networking in general
  • Docker networking

Lab:

  • Use the default bridge
  • Understand the internals
  • Create a custom bridge
  • Understand the internals
  • Understand the difference between default and custom bridge
  • Use the host network
  • Understand the internals
  • Use the none network
  • Understand the internals


Kubernetes

  • Introduction to Container Orchestration
  • Architecture
  • On premises considerations
  • Annotations
  • Install a three-node cluster (one master and two worker)
  • Scheduling, eviction, affinity, taints and tolerations


Lab on scheduling a Pod on a Node.

  • Advantages of Kubernetes


Labs: Creating our own Pods

  • Understanding Pods
  • How was the Pod created?
  • Hands on Deep dive into Pods

Lab: Namespaces

  • Labels and selectors


Lab: Labels and selectors

  • Replication Controller
  • Replica Set

Lab:

  • Hands on impact of Replica Set

Deployment

Lab:

  • Create a deployment
  • Scale out and scale in
  • Update and rollback
  • StatefulSet
  • Daemonset
  • Kubernetes Jobs


Lab:

  • Kubernetes jobs
  • Secretes


Lab:

  • Kubernetes Secrets
  • Volumes
  • PV
  • PVC

Lab:

  • Kubernetes volumes

Service Types

  • Clust IP
  • Lab: Cluster IP
  • NodePort

Lab: NodePort

  • Loadbalancer


CI/CD

  • Implement a complete CI/CD using
  • Java
  • Git
  • Jenkins
  • Maven
  • Docker
  • Junit (Illustrative)
  • Kubernetes

For FULL COURSE OUTLINE, please contact us.

Please contact us for the schedules and for booking a private class.

;