DevOps Capsule
This course takes you from the basics of Linux, Docker, and Kubernetes to advanced DevOps automation techniques. You’ll learn how to leverage Linux for system administration, Docker for containerization, and Kubernetes for orchestration. Through hands-on exercises and real-world scenarios, you’ll gain practical experience in managing containers, deploying applications, and automating workflows. By the end of the course, you’ll be equipped with the skills to optimize your DevOps operations using Linux, Docker, and Kubernetes.
Course Objectives
Gaining extensive knowledge in Linux, Docker, and Kubernetes to streamline DevOps processes, automate application deployments, and manage containerized applications.Target Audience
This course is designed for System Engineers, System Administrators, DevOps engineers, or beginners looking to enhance their skills in Linux, Docker, and Kubernetes. Whether you’re a novice or an experienced professional, this course provides valuable insights and practical knowledge to streamline your DevOps processes and manage containerized applications effectively.Course Pre-Requisites
Prior familiarity with Linux operating systems and Docker fundamentals is recommended to maximize your learning experience.Course Summary
Course Fee
৳ 15,000
Training Method
Offline/Online
Total Modules
28
Course Duration
64 Hours
Total Session
32
Class Duration
2 Hours
Details Course Outlines
Part-01 (Linux security and automation)
Module-01
Introduction to Linux & Basic Commands
- Overview of Linux distributions
- Navigating the file system (ls, cd, cp, mv, rm)
- File permissions and ownership (chmod, chown)
Module-02
Text Processing & File Management
- Managing files with cat, grep, find, awk, sed
- File compression (gzip, tar, zip)
- Creating and editing files with vi, nano
Module-03
Process Management & Job Control
- Understanding processes and jobs (ps, top, htop)
- Managing foreground and background jobs
- Killing processes and using nice for priority control
Module-04
User and Group Management
- Creating and managing users and groups
- Understanding /etc/passwd and /etc/group
- Using sudo and setting up user privileges
Module-05
Linux Networking Basics
- Configuring IP, DNS, and routes
- Network commands: ping, netstat, ifconfig, ip
- Using ssh for remote connections
Module-06
Disk Management and Partitioning
- Creating and managing partitions with fdisk, parted
- Mounting and unmounting file systems
- Understanding filesystems (ext4, xfs, etc.)
Module-07
File Permissions & ACLs
- Understanding chmod, chown, and chgrp
- Configuring Access Control Lists (ACLs)
- Managing file attributes with lsattr, chattr
Module-08
Linux Security Basics
- Firewall configuration with iptables and ufw
- Configuring SSH keys for secure access
- Basic Linux hardening techniques
- Install Git on a Linux server.
- Create a repository on a GitHub account.
- Clone a repository from GitHub.
- Push and pull a repository.
- Install and configure a Jenkins server.
- Integrate Jenkins with GitHub.
- Create a CI/CD pipeline in Jenkins.
Part-02 (AWS Fundamentals)
Module-09
Introduction to AWS Cloud & Setup
- Introduction to AWS services and console overview
- Creating and managing AWS accounts
- AWS pricing and cost management
Module-10
AWS Identity and Access Management (IAM)
- Creating users, groups, and roles
- IAM policies and permissions
- Multi-Factor Authentication (MFA) and security best practices
Module-11
Networking in AWS
- VPC, subnets, route tables, and internet gateways
- Setting up NAT gateways and bastion hosts
- AWS Security Groups and Network ACLs
Module-12
Compute in AWS: EC2 Instances
- Launching, managing, and configuring EC2 instances
- EC2 instance types and pricing models
- Auto Scaling and Elastic Load Balancers (ELB)
Module-13
AWS Storage Services
- Amazon S3: Buckets, objects, and policies
- EBS volumes, snapshots, and backup strategies
- Elastic File System (EFS) for shared storage
Module-14
AWS Security & Monitoring
- Using AWS CloudTrail and CloudWatch for monitoring
- Security best practices with AWS Shield and WAF
- AWS encryption options (KMS, S3 encryption)
Module-15
Elastic Load Balancing & Auto Scaling
- Setting up Application and Network Load Balancers
- Configuring auto-scaling for EC2 instances
- Monitoring and managing scalability
Module-16
Advanced AWS Networking
- Setting up Virtual Private Networks (VPN)
- AWS Direct Connect and Peering
- PrivateLink and Endpoint configurations
Module-17
Introduction to Kubernetes
- What is Kubernetes?
- Docker Swarm vs Kubernetes
- Kubernetes architecture & components
- Kubernetes installation and configuration
- Add Kubernetes Masters and Worker nodes
- Know where to get the Kubernetes release binaries
- Lab 01:
Part-03 (Docker Essentials)
Module-18
Introduction to Containers & Docker
- What are containers? Introduction to Docker
- Installing Docker on Linux
- Running your first container: Docker CLI basics
Module-19
Working with Docker Images
- Understanding Docker images and layers
- Pulling and running images from Docker Hub
- Building custom images with Dockerfile
Module-20
Docker Volumes & Persistent Storage
- Mounting volumes to containers
- Managing data with Docker volumes
- Bind mounts and data persistence strategies
Module-21
Docker Networking Basics
- Container networking: bridge, host, and overlay networks
- Exposing ports and managing container communication
- Using Docker network commands
Module-22
Docker Compose for Multi-Container Applications
- Introduction to Docker Compose
- Defining services, networks, and volumes in a docker-compose.yml
- Managing multi-container applications with docker-compose
Module-23
Docker Security Essentials
- Securing Docker containers
- Limiting container privileges
- Image vulnerability scanning
Module-24
Managing Docker Containers
- Start, stop, restart, and remove containers
- Managing container logs and stats
- Using docker exec to run commands inside containers
Module-25
.Optimizing Docker Images
- Reducing image size with multi-stage builds
- Best practices for Dockerfile optimization
- Caching and image layer management
Module-26
Logging and Monitoring
- Understand how to monitor all cluster components
- Understand how to monitor applications
- Manage cluster component logs
- Manage application logs
- Install and configure metric server
- Install and configure Kubernetes dashboard
- Lab 10:
Part-04 (Kubernetes Essentials)
Module-27
Introduction to Kubernetes
- What is Kubernetes? Overview of core concepts
- Kubernetes architecture: Master and Worker nodes
- Pods, Nodes, and Cluster overview
Module-28
Setting Up a Kubernetes Cluster
- Installing Minikube or Kubernetes on AWS
- Setting up kubectl for cluster interaction
- Understanding kubeconfig and context management
Module-29
Kubernetes Pods & Deployments
- Understanding pods and multi-container pods
- Creating and managing deployments
- Rolling updates and rollbacks in Kubernetes
Module-30
Kubernetes Services
- Service types: ClusterIP, NodePort, LoadBalancer
- Exposing services and accessing applications
- Setting up Ingress Controllers for external access
Module-31
Kubernetes ConfigMaps & Secrets
- Managing environment configurations with ConfigMaps
- Storing sensitive data using Secrets
- Injecting configurations into pods
Module-32
Kubernetes Storage Management
- Persistent Volumes (PVs) and Persistent Volume Claims (PVCs)
- Dynamic volume provisioning
- StatefulSets for stateful applications
Module-33
Scaling Applications in Kubernetes
- Horizontal Pod Autoscaler (HPA)
- Manual and automatic scaling of applications
- Managing resource requests and limits for pods
Module-34
Kubernetes Security & RBAC
- Role-Based Access Control (RBAC) in Kubernetes
- Securing API access and Kubernetes components
- Network policies for securing pod communication
Details Course Outlines
Module-01
Introduction to Linux Operating System
- What is Linux ?
- History of Linux
- Distributions of Linux
- Architecture of Linux
- Basic Components of Operating Systems
- Linux Boot Sequences
Module-02
Linux Installation and Configuration
- Install VirtualBox and create a VM instance
- Install a Linux operating system
- Configure network interfaces and IPv4 address settings
- Update packages and change the hostname
- Edit the /etc/hosts file for local DNS
- Understand Linux runlevels
- Learn the Linux file system hierarchy
- Lab 01:
Module-03
Working with Command Line Interface
- Introduce basic commands (ls, cp, mkdir, cd, mv, rm, touch, echo, less, head, tail).
- List of Linux shells
- Text editors and file compression and archival tools
- Search for files and patterns for system troubleshooting.
- Important system performance and process monitoring commands.
- Lab 02:
Module-04
User, Group and Password Management
- Create a user and group in Linux.
- Add a user to the sudo group.
- Change the password policy.
- Explore the /etc/passwd, /etc/shadow, and /etc/group files.
- Configure the SSH server for remote access.
- Create SSH key pairs and configure passwordless authentication.
- Edit the /etc/sudoers file.
- Lab 03:
Module-05
File permissions, Ownership and ACL
- Default Linux file and folder permissions.
- Change file and folder permissions.
- Change file and folder ownership
- Linux special permissions and the sticky bit.
- Default UMASK value
- Implement ACL on a Linux system.
- Lab 04:
Module-06
Linux Package Management and Firewall
- Various Linux package management tools (yum, dnf, apt, aptget, rpm, dpkg).
- Install and configure Apache web server and PHP.
- Configure Apache for virtual hosting using IP-based, portbased, and name-based methods.
- Install and configure SSL self-signed certificates.
- Install and configure Tomcat server for Java-based applications.
- Install and configure MySQL database server.
- Create a user and database, and allow remote access
- Enable and disable the firewall.
- Allow services through the firewall.
- Lab 05:
Module-07
Cron job and Bash scripting
- Install cron job packages.
- Schedule a job to execute at a specific time and date.
- Explore the /etc/crontab file.
- Basics of Bash scripting.
- Write a Bash script to install Apache2, PHP, and Node.js packages.
- Write a Bash script to take a database backup.
- Lab 06:
Module-08
Linux Filesystem,LVM and Networking
- Disk partitioning and mounting the file system.
- Formatting disk partitions and /etc/fstab file entry.
- Mounting and unmounting filesystem commands.
- Auto-mounting of the file system.
- Logical Volume Manager (LVM).
- Install the net-tools package and various network-related commands.
- How to monitor listening ports and services.
- IPv4 address classes.
- Static and dynamic IP settings on a Linux server.
- Lab 07:
Module-09
Git and Jenkins Installation & Configuration
- Install Git on a Linux server.
- Create a repository on a GitHub account.
- Clone a repository from GitHub.
- Push and pull a repository.
- Install and configure a Jenkins server.
- Integrate Jenkins with GitHub.
- Create a CI/CD pipeline in Jenkins.
- Lab 08:
Module-10
Introduction to Docker
- Docker overview
- Docker vs VMs
- Docker architecture
- Images, containers, Docker registry
- Installing Docker
- Running a container
- Docker commands
- Lab 01:
Module-11
Container and Image management
- Understanding Dockerfile.
- Format of Dockerfile.
- ENTRYPOINT vs. CMD command.
- Building images.
- Tagging images with a Docker Hub account.
- Docker Hub and Docker registry
- Push images to a Docker Hub account.
- Inspect images and containers.
- Create a Docker image from a running container.
- Lab 02:
Module-12
Docker Compose and Docker Volume
- Docker Storage Driver
- Docker Volume Types
- How to use Volume with Docker container
- Install Docker Compose
- Writing docker-compose file
- Deploy application using docker-compose
- Docker-compose Commands
- Lab 03:
Module-13
Docker Networking
- Overview of Docker Network Drivers
- Different Types of Docker Network
- Creating Custom Network
- Docker Network Commands
- Lab 04:
Module-14
Docker Swarm Cluster
- Introduction to Container Orchestration Tools
- Initializing Docker Swarm Cluster
- Adding the master node and worker nodes in the cluster
- Leave the node from Cluster
- Administer and maintain a swarm cluster
- Maintain the quorum of managers
- Backup the swarm cluster
- Lab 05:
Module-15
Docker Services and Docker Stack
- What is a Docker service?
- Creating a service in a swarm cluster.
- Scale up and scale down services.
- Placement constraints and rolling updates
- Deploy an application stack using Docker stack.
- Docker Compose vs. Docker stack.
- Lab 06:
Module-16
CICD Pipeline using Docker and Jenkins
- Install and configure Jenkins plugins.
- Integrate GitHub and Docker host server with Jenkins.
- Create a pipeline and deploy the application using Docker containers.
- Lab 07:
Module-17
Introduction to Kubernetes
- What is Kubernetes?
- Docker Swarm vs Kubernetes
- Kubernetes architecture & components
- Kubernetes installation and configuration
- Add Kubernetes Masters and Worker nodes
- Know where to get the Kubernetes release binaries
- Lab 01:
Module-18
Concepts on Kubernetes various objects
- Pod, container, Deployments, DaemonSets, ReplicaSets
- Static Pod, labels, annotations
- Different type of Services
- Pod vs Deployment vs StatefulSets
- Namespace, ConfigMap & Secret
- Managing kubernetes object
- Imperative command and Declarative configuration files approaches
- Lab 02:
Module-19
Application Lifecycle Management
- Understand deployments
- How to perform rolling update and rollbacks
- Know various ways to configure applications
- Know how to scale applications
- Creating different type of services
- Install and configure bare metalLB load balancer
- Understand Readiness probes, Liveness probes, Startup probes
- Lab 03:
Module-20
Scheduling
- Use label selectors to schedule Pods
- Taints & Tolerations, Node affinity
- Understand how resource limits can affect Pod scheduling
- Manually schedule a pod without a scheduler
- Display scheduler events
- Lab 04:
Module-21
RBAC Authorization & ServiceAccount
- Understand API Groups in Kubernetes
- Understand ServiceAccount
- Role & Rolebinding
- ClusterRole & ClusterRoleBinding
- Create ConfigMap & Secret
- Inject configmap & secret in pods
- Lab 05:
Module-22
Storage & Data Persistent
- 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
- NFS server configure for storage solution
- Lab 06:
Module-23
Networking
- Understand the networking configuration on the cluster nodes
- Understand Pod networking concepts
- Understand Service Networking
- Know how to use Ingress controllers and Ingress resources
- Know how to configure and use the cluster DNS
- Understand CNI
- Install Nginx ingress controller
- Lab 07:
Module-24
Security
- Know how to secure hosts
- Secure Kubernetes
- Understand authentication & authorization
- Manage TLS certificates for cluster components
- View certificate details
- Create certificate for user
- Work with images securely
- Define security contexts
- Secure persistent key value store
- Lab 08:
Module-25
Cluster Maintenance
- Kubernetes Software Versions
- Understand Kubernetes cluster upgrade process
- Facilitate operating system upgrades
- Implement backup and restore methodologies
- Implement etcd backup and restore
- Lab 09:
Module-26
Logging and Monitoring
- Understand how to monitor all cluster components
- Understand how to monitor applications
- Manage cluster component logs
- Manage application logs
- Install and configure metric server
- Install and configure Kubernetes dashboard
- Lab 10:
Module-27
Troubleshooting & Network Policies
- Troubleshoot application failure
- Troubleshoot control plane failure
- Troubleshoot worker node failure
- Troubleshoot networking
- Basic of network policies
- Prerequisites of network policy
- policyTypes: Ingress and Egress
- Default policies
- Know how to use Ingress & Egress policy
- Lab 11:
Module-28
CKA Exam Sample Questions and CICD Pipeline Demo
- CKA Exam Sample Questions & Solutions
- Lab 12: Demo CICD full process in kubernetes cluster