Course Outline

DEVOPS PREREQUISITES:

  • Basic IT (Information Technology) Knowledge
  • An understanding of networking concepts
  • Hardware /Software required
  • PC /Laptop with minimum 08 GB RAM and Virtualisation features
  • Oracle Virtual Box or VMWare

01. LINUX ESSENTIALS

  • Introduction
  • Differences between Windows, OS X, and Linux
  • Installation
  • File system
  • Linux Basic Commands
  • Shell scripting
  • Directory structure / permission
  • Storage / configuration
  • Archiving and compression
  • System monitoring tools
  • Job scheduling
  • Services
  • Rpm / yum

02. GIT

  • Version Control System
  • Git Introduction
  • Installation of Git
  • Configuration of Git
  • Local Repository
  • Initialising Git Repository
  • Git Basic Example
  • Git branch, Git Merge
  • Git Diff
  • Git Clone
  • Securing Git using ssh-keys
  • Git Remote Repository
  • Git Logs

03. DOCKER

  • Introduction to Docker
  • Install & Setup Docker on Linux
  • Remove, Downgrade, Upgrade
  • Storage & Logging driver
  • Docker Registry
  • Docker Images
  • Docker Containers
  • Docker Diagnose
  • Docker file
  • Docker Compose
  • Docker Swarm
  • Docker Stack
  • Docker Networking
  • Docker Services
  • Docker Volume
  • Docker Swarm vs Kubernetes

04. KUBERNETES

  • Kubernetes and its importance
  • Background & future
  • Need of Kubernetes & Big picture
  • What is Kubernetes for
  • Micro-services, What, Why and How
  • Containerisation and Kubernetes
  • Docker and Container Lifecycle
  • Working with Docker images

4.1 KUBERNETES WALKTHROUGH

  • Architecture of Kubernetes
  • Cluster Architecture
  • Kubernetes core concepts
  • Overview of other installations’ options
  • Kubernetes API primitives

4.2 APPLICATION ENVIRONMENT, CONFIGURATION

  • Pods, labels/selectors, replication controllers, services, API Services and other network primitives
  • Deployments, jobs, and services
  • Declarative vs imperative mode
  • Getting Started with YAML
  • Interacting with kubectl

4.3 OBSERVABILITY & MAINTENANCE

  •  Pods health checks
  • Readiness/Liveness Probe
  • Understand how to monitor applications.
  • Manage application logs.
  • Use label selectors to schedule Pods.
  • Understand how resource limits

4.4 APPLICATION DEPLOYMENT & LIFECYCLE MANAGEMENT

  • Understand Deployments and how to perform rolling updates and rollbacks.
  • Know various ways to configure applications.
  • Know how to scale applications.
  • Understand the primitives necessary to create a self- healing application.

4.5 STORAGE / PERSISTENCE

  • Understand persistent volumes and know how to create them.
  • Understand access modes for volumes.
  • Understand persistent volume claims primitive.
  • Understand Kubernetes storage objects
  • Know how to configure applications with persistent storage.

4.6 SERVICES & NETWORKING

  • Services Know how
  • Understand the networking configuration on the cluster nodes.
  • Understand Pod networking concepts.
  • Understand service networking.
  • Deploy and configure network load balancer.
  • Know how to use Ingress rules.

4.7 TROUBLESHOOTING BEST PRACTICES

  • Troubleshoot application failure.
  • Troubleshoot control/worker plane failure.
  • Troubleshoot networking.

4.8 BONUS TOPICS

  • Managed Kubernetes.
  • Getting Started with Kubernetes on EKS.
  • Guide to pass CKAD / CKA exam.

05. JENKINS

  •  Introduction
  • Download and Install Jenkins
  • Jenkins Configuration
  •  Jenkins Plugins
  • Security Management
  • Freestyle jobs
  • Integration of Jenkins with GIT
  • Build Web via Code
  • Building a Jenkins Pipeline (CI/CD)

06. ANSIBLE

  • About Ansible
  • How to Install Ansible
  • Configuring SSH and Sudo for Ansible
  • The Ansible Configuration File
  • Setting Up the Ansible Inventory
  • The Ansible Command
  • The Shell and Command Modules
  • Ansible course summary