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