
Linux Powerstart: Shell Scripting Essentials
- Introduction to Linux Operating System
History and evolution of Linux, Linux distributions, Linux architecture, kernel vs shell, terminal vs GUI - Working with the Linux Shell
Types of shells, bash introduction, terminal commands, command structure, command options and arguments - Basic Linux Commands
Navigation (pwd, cd, ls), file operations (cp, mv, rm, touch, cat, more, less), command chaining, piping, redirection (>, >>, <, |) - Help Commands and Documentation
Using man, info, help, whatis, and –help - Understanding the Linux Filesystem Hierarchy
Root directory /, /bin, /etc, /home, /var, /usr, relative vs absolute path - File and Directory Management
Creating, moving, renaming, deleting, viewing files, using wildcards - Using the Vi/Vim Editor
Vi modes (command, insert, visual), navigation commands, editing text, saving and quitting, search & replace - File Permissions and Ownership
File permission structure (rwx), changing permissions using chmod, ownership using chown, understanding umask - User Management
Creating, modifying, and deleting users (useradd, usermod, userdel), understanding /etc/passwd, /etc/shadow - Group Management
Creating and assigning groups, /etc/group, groupadd, groupmod, groupdel, adding users to groups - Switching and Managing Users
su, sudo, whoami, id, passwd, switching sessions and user privileges - Process Management
Understanding PID, ps, top, htop, foreground/background jobs, kill, nice, renice - Introduction to Shell Scripting
What is a shell script, writing your first script, adding executable permissions, shebang (#!) - Variables and Operators
Defining variables, scope, environment variables, string and numeric operations - Conditional Statements
if, else, elif, test expressions, comparison and logical operators - Loops and Iterations
for, while, until, break, continue, use cases in automation - Basic Functions and Exit Status
Writing functions, function parameters, capturing exit status with $? - Storage Management in Linux
Mounting and unmounting drives, working with df, du, mount, umount, partitions and fstab, disk usage monitoring - Basic Networking Commands
IP address configuration, ifconfig, ip, ping, netstat, ss, traceroute, hostname, nmcli, network troubleshooting - Advanced Shell Scripting Practices
Script input/output with read, echo, redirection in scripts, cron jobs, logging - Real-World Script Examples
Automated backup, system monitoring alert, disk space check script, user creation script
Code & Containers: Git & Docker Fundamentals
- Introduction to Docker & Containers
Containers vs virtual machines, benefits of containerization, Docker architecture (client, daemon, image, container), Docker ecosystem overview - Installing Docker & First Run
Installing Docker on Linux, Windows, macOS, using Docker Desktop, verifying installation, running your first container (hello-world, docker run, docker ps, docker stop) - Working with Docker Images & Containers
Pulling images from Docker Hub, inspecting and removing images, creating containers, interactive vs detached mode, restarting and stopping containers - Dockerfile & Custom Image Builds
Dockerfile structure and instructions (FROM, RUN, COPY, CMD), building images with docker build, tagging, .dockerignore, optimizing layers - Volumes & Data Persistence
Working with volumes and bind mounts, creating named volumes, mounting directories between host and container, docker volume commands - Networking in Docker
Bridge and host networks, exposing ports using -p, basic container-to-container communication, inspecting network settings - Docker Compose Basics
Why use Compose, understanding docker-compose.yml, defining multi-container services, running applications with docker-compose up - Introduction to Git & Setup
What is Git, benefits of version control, Git vs GitHub, installing Git, global configurations (git config), understanding working directory, staging area, and repository - Basic Git Operations
Initializing a repo (git init), cloning (git clone), staging and committing (git add, git commit), checking status (git status), viewing history (git log, git show) - Branching & Collaboration
Creating and switching branches, merging branches and resolving conflicts, .gitignore usage, adding remotes, pushing and pulling from remotes (git push, git pull), basic GitHub workflow - Undo & Reset Operations
Using git stash, resetting changes (git reset, git restore), reverting commits, viewing previous states using reflog - Best Practices & Git Tips
Writing meaningful commit messages, tagging versions, working with forks and pull requests, Git workflow styles (feature branches, Git Flow basics)
CI/CD Kickstart: Jenkins Essentials
- Introduction to Jenkins & CI/CD Concepts
Understanding Continuous Integration and Continuous Delivery, evolution of Jenkins, core Jenkins architecture (controller and agents), benefits of automation in software development, Jenkins use cases - Installing and Setting Up Jenkins
System requirements, installing Jenkins on Windows/Linux/macOS, setting up Jenkins as a service, accessing Jenkins dashboard, initial admin setup and plugin installation - Understanding Jenkins UI and Job Configuration
Navigating the Jenkins dashboard, creating and managing freestyle jobs, understanding build triggers, parameters, workspace, and build environment, adding build steps - Working with Jenkins Plugins
Role and importance of plugins, managing plugins via Plugin Manager, essential plugins (Git, Pipeline, Email, Blue Ocean), troubleshooting plugin issues - Integrating Jenkins with Git
Connecting Jenkins with GitHub/GitLab/Bitbucket, configuring Git credentials and webhooks, polling SCM vs webhook triggers, building on code changes - Build Automation and Execution
Running shell commands in build steps, archiving artifacts, build notifications, running unit tests, post-build actions, console output analysis - Introduction to Jenkins Pipelines
What is a pipeline, differences between freestyle and pipeline jobs, installing Pipeline plugin, basic pipeline syntax using Declarative Pipeline - Writing Jenkins Declarative Pipelines
Structure of a Jenkinsfile, defining stages, steps, agent, and post actions, pipeline-as-code concept, version-controlling Jenkinsfiles with Git - Parallel & Conditional Execution
Using parallel stages in pipelines, adding conditions with when, handling errors and retries, use of input for manual approvals - Credentials & Secrets Management
Adding credentials securely in Jenkins, using credentials in pipelines, storing secrets, environment variables, Jenkins Credential Binding plugin - Basic Security and User Management
Creating users, configuring roles and permissions, securing Jenkins with authentication and authorization, setting up Matrix-based security - Jenkins Best Practices
Organizing folders and jobs, naming conventions, clean workspace policy, backup and restore strategies, monitoring Jenkins performance
KubeControl: Kubernetes Admin Bootcamp
- Introduction to Kubernetes & Container Orchestration
What is Kubernetes, evolution from Docker to K8s, Kubernetes architecture overview (master & worker nodes), core components (API Server, etcd, Controller Manager, Scheduler, kubelet, kube-proxy), advantages of Kubernetes for DevOps - Setting Up Kubernetes Cluster
Installing Kubernetes via kubeadm, system requirements and prerequisites, initializing the master node, joining worker nodes, configuring kubectl, understanding kubeconfig, verifying node status and cluster health - Kubernetes Objects & Workloads
Understanding Pods, ReplicaSets, Deployments, StatefulSets, DaemonSets, creating and managing resources using YAML and kubectl, rolling updates and rollbacks, scaling deployments manually and automatically - Services & Networking in Kubernetes
ClusterIP, NodePort, LoadBalancer services, headless services, service discovery with DNS, kube-proxy internals, ingress controllers and ingress resources, exposing applications securely, network policies basics - Storage in Kubernetes
Volumes vs persistent volumes (PVs), Persistent Volume Claims (PVCs), storage classes, dynamic provisioning, configuring hostPath, emptyDir, NFS, and cloud storage backends, mounting volumes to pods - ConfigMaps & Secrets Management
Using ConfigMaps to externalize configuration, managing sensitive data with Secrets, mounting configs and secrets as files or environment variables, updating resources without redeploying pods - RBAC and Access Control
Role-Based Access Control concepts, Roles vs ClusterRoles, RoleBindings and ClusterRoleBindings, securing access using service accounts, managing permissions for users and workloads - Monitoring & Logging in Kubernetes
Using kubectl top, resource metrics, liveness and readiness probes, logging with kubectl logs, centralized logging concepts, introduction to Prometheus, Grafana, and EFK/ELK stack - Helm Package Management
Introduction to Helm, Helm charts and repositories, installing and configuring Helm, deploying applications with Helm, customizing values, upgrading and rolling back Helm releases - Scheduling & Resource Management
Understanding the scheduler, node selectors, taints and tolerations, affinity and anti-affinity rules, resource limits and requests, managing workloads with QoS classes - Kubernetes Troubleshooting Essentials
Debugging pods and nodes, common error scenarios, checking logs and events, using kubectl describe, checking cluster components’ health, restarting and draining nodes, viewing events - Backup, Restore & Cluster Maintenance
Backing up etcd, restoring from snapshots, upgrading Kubernetes clusters with kubeadm, draining and cordoning nodes, managing cluster certificates, cleanup strategies, understanding long-term operations
