Have a question?
Message sent Close

Linux, Docker, Kubernetes, Ci/CD and Microservices

Instructor
LeanSys IT
0
0 reviews
  • Description
  • Reviews
Linux, Docker, Kubernetes, Ci &CD and Microservices1

8 Days Training Duration / Virtual Instructor-Led or Classroom Based Training

TRAINING PLAN

COURSE DURATION

• 56+ Hours (8 days) Approx.

PREREQUISITES

• A foundational understanding of IT infrastructure

• Basic knowledge about Software Development Life Cycle

LEARNING OUTCOMES

This course is intended for:

• Learn concepts of Virtualization and Containerization.

• Learn how Applications can be deployed and managed on a cluster of servers.

COURSE OVERVIEW – DOCKER & KUBERNETES

Environment Setup

• AWS or local VM’s

• Connectivity tool: Putty, puttygen and WinSCP

Day 1

Linux Course Overview

• Linux Basics

• Linux Directory Structure

• Linux Basic Command

o clear

o pwd

o cd

o echo

o ls

o history

o whoami

o sudo su

• Copy, Remove, Move and Time Commands

• Touch and cat

Day 2

• Watch

• Env

• Dif and Grep Commands

• Head, tail, sort and more commands

• Zip and tar

• Tr and wc commands

• Disk utilities like free, fdisk, df and du commands

• Getting Help from Command Line user Interface

• W, who, hostname, hostnamectl and uname commands

• Search for files and directories using find and locate commands

• Top command its output explanation

• User and group management commands

o Id

▪ id -u <user>

▪ id -g <group>

o sudo useradd <user>

o sudo passwd <user>

o sudo userdel <user>

o sudo groupadd <group>

o sudo groupdel <group>

• Sed, awk, vmstat and nestat commands

• Vnstat command

• Cut command

• Merge multiple files using paste command

• Connect and manage remote machine using SSH

• Changing files and directory permissions

• Tar and zip commands

• Scheduling future jobs using crontab

• PATH environment variable

• Curl

• Short tutorial on ssh

• Short tutorial on vi text editor

• Ifconfig, ip, netstat, nslookup

• Short tutorial on apt-get and yum

Day 3

o Environment Setup

▪ Get an aws ec2 instance

▪ Install SSH on the box

▪ Connect from Windows through SSH.

▪ Install Docker

o Docker Basics

▪ Virtualization and Containerization

▪ Install git on windows as well as VM

▪ Containerization and Virtualization

▪ Docker Architecture

▪ Docker Image Internals

▪ Docker Container Internals

▪ Docker Lifecycle

▪ Lab:

Lab on Docker image

Lab on pushing image Docker Hub

Lab on Docker Container

Creating an image from our custom container

Export and import images and Containers

Accessing containers from outside the machine.

Day 4

o Understanding the internals

▪ Namespaces.

▪ Control Groups

▪ Filesystem

COW

▪ How are the images stored?

Hands on session

▪ How are the containers stored?

Hands on session

o 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

1. FROM

2. RUN

3. ENTRYPOINT

4. CMD

5. ARG

6. Ect.

▪ Build a Docker image of an existing small application hosted on Tomcat.

o Volume

▪ What is Volume and why do we need them.

▪ Different types of Docker volumes

Lab

• Create a container attached to

1. volume and understand the internals

2. Bind mounts and understand the internals

• Understand the various options

1. How to distinguish them

2. Which volume type to use? When to use them?

▪ Lab:

Create Docker web container connected to backend mysql container.

Backup, crash and restore of mysql container.

o Multi Stage Build

Day 5

o 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

o 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

▪ Pods

Labs: Creating our own Pods

▪ Understanding Pods

▪ How was the Pod created?

Hands on Deep dive into Pods

▪ Namespaces

Lab: Namespaces

▪ Labels and selectors

Lab: Labels and selectors

▪ Replication Controller

▪ Replica Set

Lab:

o Hands on impact of Replica Set

Day 6

o Deployment

▪ Lab:

Create a deployment

Scale out and scale in

Update and rollback

o StatefulSet

o Daemonset

o Kubernetes Jobs

o Lab:

▪ Kubernetes jobs

o Secretes

o Lab:

▪ Kubernetes Secrets

o Kubernetes Volumes

▪ PV

▪ PVC

o Lab:

▪ Kubernetes volumes

Day 7

• Microservices

o Lab: Implement Companies-Employee–Rating microservices

o What is a Monolith application?

o Challenges of Monolith applications

o How microservices solves it

o Microservices Architecture

o Migrating from monolith to microservices

o Designing a microservice from scratch

▪ Decomposition patterns

• Decompose by business capability

• Decompose by subdomain

o 12 Factor applications

o Richardson Maturity Model

Day 8

o ServiceTypes

▪ Clust IP

Lab: Cluster IP

▪ NodePort

Lab: NodePort

▪ Loadbalancer

o CI/CD

▪ Implement a complete CI/CD using

Git

Jenkins

Maven

Docker and DockerHub

Junit (Illustrative)

Kubernetes