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
60 Hours
Total Session
30
Class Duration
2 Hours
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