DevOps & Cloud (AWS, AZURE, GCP) Tech Free Learning
16.1K subscribers
1.33K photos
14 videos
501 files
1.28K links
https://projects.prodevopsguytech.com // https://blog.prodevopsguytech.com

• We post Daily Trending DevOps/Cloud content
• All DevOps related Code & Scripts uploaded
• DevOps/Cloud Job Related Posts
• Real-time Interview questions & preparation guides
Download Telegram
DevOps & Cloud (AWS, AZURE, GCP) Tech Free Learning
Photo
🐳 Docker Commands for DevOps Engineers 🚀


Here’s a comprehensive list of essential Docker commands to make your container management smooth and efficient. Save this post for quick reference! 📌

🔹 Docker Basics:

# Check Docker version
docker --version

# Display Docker system information
docker info

# List all Docker commands
docker --help


🔹 Images:

# List all images
docker images

# Search for an image on Docker Hub
docker search <image-name>

# Pull an image from Docker Hub
docker pull <image-name>

# Build an image from a Dockerfile
docker build -t <image-name>:<tag> .

# Remove an image
docker rmi <image-id>


🔹 Containers:

# List all running containers
docker ps

# List all containers (including stopped ones)
docker ps -a

# Start a container
docker start <container-id>

# Stop a container
docker stop <container-id>

# Restart a container
docker restart <container-id>

# Remove a container
docker rm <container-id>

# Run a container
docker run -d --name <container-name> <image-name>

# Run a container with a specific port mapping
docker run -d -p <host-port>:<container-port> <image-name>

# Run a container with a volume
docker run -d -v <host-dir>:<container-dir> <image-name>

# Attach to a running container
docker attach <container-id>


🔹 Container Inspection & Logs:

# View logs of a container
docker logs <container-id>

# Follow logs of a container
docker logs -f <container-id>

# Inspect a container
docker inspect <container-id>

# View resource usage statistics of a container
docker stats <container-id>


🔹 Networks:

# List all networks
docker network ls

# Create a network
docker network create <network-name>

# Connect a container to a network
docker network connect <network-name> <container-id>

# Disconnect a container from a network
docker network disconnect <network-name> <container-id>

# Inspect a network
docker network inspect <network-name>

# Remove a network
docker network rm <network-name>


🔹 Volumes:

# List all volumes
docker volume ls

# Create a volume
docker volume create <volume-name>

# Inspect a volume
docker volume inspect <volume-name>

# Remove a volume
docker volume rm <volume-name>


🔹 Docker Compose:

# Start services defined in docker-compose.yml
docker-compose up

# Start services in detached mode
docker-compose up -d

# Stop services
docker-compose down

# View running services
docker-compose ps

# Build or rebuild services
docker-compose build

# View logs of services
docker-compose logs


🔹 Docker Cleanup:

# Remove all stopped containers
docker container prune

# Remove all unused images
docker image prune

# Remove all unused volumes
docker volume prune

# Remove all unused networks
docker network prune


Keep this list handy and make container management a breeze! Happy Dockering! 🎉


📱 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔔 𝐖𝐡𝐲 𝐢𝐬 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬 𝐓𝐫𝐨𝐮𝐛𝐥𝐞𝐬𝐡𝐨𝐨𝐭𝐢𝐧𝐠 𝐬𝐨 𝐃𝐢𝐟𝐟𝐢𝐜𝐮𝐥𝐭?

➡️ Let's look at the top 8 of the challenges..


𝐃𝐢𝐬𝐭𝐫𝐢𝐛𝐮𝐭𝐞𝐝 𝐞𝐧𝐯𝐢𝐫𝐨𝐧𝐦𝐞𝐧𝐭: Hard to pinpoint the root cause of issues spread across nodes and containers.

𝐀𝐛𝐬𝐭𝐫𝐚𝐜𝐭𝐢𝐨𝐧 𝐥𝐚𝐲𝐞𝐫𝐬: Difficulty diagnosing infrastructure issues due to hidden complexities.

𝐃𝐲𝐧𝐚𝐦𝐢𝐜 𝐞𝐧𝐯𝐢𝐫𝐨𝐧𝐦𝐞𝐧𝐭: Unpredictable behavior due to constant scaling and relocation of components.

𝐂𝐨𝐦𝐩𝐥𝐞𝐱 𝐧𝐞𝐭𝐰𝐨𝐫𝐤𝐢𝐧𝐠: Troubleshooting network connectivity, DNS, and firewall rules is challenging.

𝐂𝐨𝐧𝐭𝐚𝐢𝐧𝐞𝐫𝐢𝐳𝐚𝐭𝐢𝐨𝐧 𝐜𝐡𝐚𝐥𝐥𝐞𝐧𝐠𝐞𝐬: Debugging within containers and diagnosing container-specific problems is complex.

𝐋𝐚𝐜𝐤 𝐨𝐟 𝐯𝐢𝐬𝐢𝐛𝐢𝐥𝐢𝐭𝐲: Achieving comprehensive monitoring of applications, infrastructure, and networking is difficult.

𝐒𝐭𝐞𝐞𝐩 𝐥𝐞𝐚𝐫𝐧𝐢𝐧𝐠 𝐜𝐮𝐫𝐯𝐞: Requires deep understanding of Kubernetes concepts and tools to troubleshoot effectively.

𝐓𝐨𝐨𝐥𝐢𝐧𝐠 𝐜𝐨𝐦𝐩𝐥𝐞𝐱𝐢𝐭𝐲: Choosing, configuring, and integrating the right monitoring and debugging tools is challenging.


✉️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 https://prodevopsguy.site/DevOps_GitHub_Useful_Repositories


🌐 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
𝐋𝐢𝐬𝐭 𝐨𝐟 𝐟𝐫𝐞𝐞 𝐜𝐨𝐮𝐫𝐬𝐞𝐬 𝐭𝐨 𝐭𝐫𝐚𝐧𝐬𝐟𝐨𝐫𝐦 𝐘𝐨𝐮𝐫 𝐒𝐤𝐢𝐥𝐥𝐬: 𝐃𝐢𝐯𝐞 𝐢𝐧𝐭𝐨 𝐭𝐡𝐞 𝐖𝐨𝐫𝐥𝐝 𝐨𝐟 𝐃𝐞𝐯𝐎𝐩𝐬 & 𝐁𝐚𝐜𝐤𝐞𝐧𝐝 𝐰𝐢𝐭𝐡 𝐭𝐡𝐞𝐬𝐞 𝐦𝐮𝐬𝐭 𝐭𝐫𝐲 𝐅𝐫𝐞𝐞 𝐂𝐨𝐮𝐫𝐬𝐞𝐬

🔢. 𝐏𝐲𝐭𝐡𝐨𝐧:
A scripting language used for automation in DevOps.
🔗 https://lnkd.in/gTEsX2VC

🔢. 𝐆𝐢𝐭:
Distributes version control system handles everything from small to very large projects with speed and efficiency.
🔗 https://lnkd.in/gFTyTWCC

🔢. 𝐂𝐥𝐨𝐮𝐝:
Its fair to say the rapid increament of startUps is revolutionised by the cloud technology.
🔗 https://lnkd.in/gf6_8RNG

🔢. 𝐌𝐢𝐜𝐫𝐨𝐬𝐞𝐫𝐯𝐢𝐜𝐞𝐬:
An approach of making a loosely coupled application.
🔗 https://lnkd.in/gYqdHCdF

🔢. 𝐒𝐞𝐫𝐯𝐞𝐫𝐥𝐞𝐬𝐬:
Allows developers to build and run applications without worrying about servers.
🔗 https://lnkd.in/g8knM8uE

🔢. 𝐋𝐢𝐧𝐮𝐱:
Probably the most famous primitive yet secure OS to use
🔗 https://lnkd.in/ghmZybpz

🔢. 𝐃𝐞𝐯𝐎𝐩𝐬:
An exploding domain to learn (It is an ecosystem that takes care of continuous integration, delivery, deployment and monitoring)
🔗 https://lnkd.in/g6ryYv8N

🔢. 𝐃𝐨𝐜𝐤𝐞𝐫:
Packages application along with dependencies and libraries required to run the application.
🔗 https://lnkd.in/ggaqmu8p

🔢. 𝐊𝐮𝐛𝐞𝐫𝐧𝐞𝐭𝐞𝐬, 𝐎𝐩𝐞𝐧𝐒𝐡𝐢𝐟𝐭:
Manages the deployment of an application and have autoscaling and autohealing capabilities.
🔗 https://lnkd.in/gsKYTciW

🔢🔢. 𝐌𝐲𝐒𝐐𝐋:
Relational Database Management System
🔗 https://lnkd.in/gbmjQcsD


😎 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔣 The DevOps Engineer role is not for freshers.

🔣 Here are some of the tasks that you will be required to do as a DevOps engineer:

1⃣. 𝗬𝗼𝘂 𝘄𝗼𝗻’𝘁 𝗯𝗲 𝗮𝘀𝗸𝗲𝗱 𝘁𝗼 𝗰𝗿𝗲𝗮𝘁𝗲 𝗽𝗶𝗽𝗲𝗹𝗶𝗻𝗲𝘀 on the day of joining. Most of the companies already have everything in place.

🔢. 𝗬𝗼𝘂 𝘄𝗶𝗹𝗹 𝗮𝘀𝗸𝗲𝗱 𝘁𝗼 𝗽𝗲𝗿𝗳𝗼𝗿𝗺 𝗣𝗢𝗖𝘀(𝗣𝗿𝗼𝗼𝗳 𝗼𝗳 𝗖𝗼𝗻𝗰𝗲𝗽𝘁) on a variety of tools, starting from CI/CD to secret management. For instance the difference in build time between Jenkins and GitLab.

🔢. 𝗕𝘂𝗶𝗹𝗱 𝗰𝘂𝘀𝘁𝗼𝗺 𝗺𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴 𝗺𝗲𝘁𝗿𝗶𝗰𝘀 for better business growth and process efficiency.

🔢. Work closely with the Cloud and Development team to 𝗶𝗺𝗽𝗿𝗼𝘃𝗲 𝗹𝗮𝘁𝗲𝗻𝗰𝘆, 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 𝗮𝗻𝗱 𝗦𝗟𝗔.

🔢. Spend crazy time in finding “𝗪𝗵𝗮𝘁 𝗲𝗹𝘀𝗲 𝗰𝗮𝗻 𝘄𝗲 𝗮𝘂𝘁𝗼𝗺𝗮𝘁𝗲”.

🔢. 𝗪𝗿𝗶𝘁𝗲 𝗰𝘂𝘀𝘁𝗼𝗺 𝗰𝗼𝗺𝗽𝗼𝗻𝗲𝗻𝘁𝘀 like controllers for Kubernetes.

🔢. 𝗛𝗲𝗹𝗽 𝘀𝗵𝗶𝗳𝘁 𝘀𝗲𝗰𝘂𝗿𝗶𝘁𝘆 𝗹𝗲𝗳𝘁 by Writing security policies and rules for tools like OPA and Falco.

🔢. Play the most active role 𝗱𝘂𝗿𝗶𝗻𝗴 𝗿𝗼𝗹𝗹𝗼𝘂𝘁𝘀, 𝗯𝗹𝗶𝗻𝗱𝘀 𝗮𝗻𝗱 𝘂𝗽𝗱𝗮𝘁𝗶𝗼𝗻 of components.

🔢. Work with APIs, optimize and troubleshoot them.

🔟. 𝗖𝗼𝗻𝘁𝗿𝗶𝗯𝘂𝘁𝗲 𝗮 𝘁𝗼𝗻 𝘁𝗼 𝘁𝗵𝗲 𝗼𝗿𝗴'𝘀 𝗗𝗼𝗰𝘂𝗺𝗲𝗻𝘁𝗮𝘁𝗶𝗼𝗻.


✈️ 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
Top 10 Docker 🐬 Secrets for DevOps Beginners in 2024

➡️This article is specifically aimed at DevOps beginners who are eager to unlock the potential of Docker. We'll look into 10 secrets that will empower you to build, deploy, and manage containerized applications with confidence.

𝑓𝑜𝑟 𝑚𝑜𝑟𝑒 𝑖𝑛𝑓𝑜, 𝑦𝑜𝑢 𝑐𝑎𝑛 𝑐ℎ𝑒𝑐𝑘 𝑡ℎ𝑖𝑠 𝑙𝑖𝑛𝑘:
🖥 https://prodevopsguy.site/top-10-docker-secrets-for-devops-beginners-in-2024


😎 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
DevOps & Cloud (AWS, AZURE, GCP) Tech Free Learning
Photo
🚀 Top Docker Errors and Their Fixes for DevOps Engineers 🛠

Encountering Docker errors can be frustrating, but fear not! Here are some common Docker errors and their quick fixes to help you keep your containers running smoothly. 🐳

1. Cannot Connect to the Docker Daemon

Error:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?


Fix:
- Ensure Docker service is running: sudo systemctl start docker
- Add your user to the Docker group: sudo usermod -aG docker $USER and then restart your terminal or log out and back in.


2. Image Pull Failed

Error:
Error response from daemon: pull access denied for [image], repository does not exist or may require 'docker login'


Fix:
- Verify the image name and tag are correct.
- Log in to Docker Hub if the image is private: docker login


3. Container Exits Immediately

Error:
Exited (0) or Exited (1)


Fix:
- Check the container logs: docker logs [container_id]
- Ensure the command in your Dockerfile or docker run command is correct and doesn’t immediately exit.


4. Port Already in Use

Error:
Error starting userland proxy: listen tcp 0.0.0.0:[port]: bind: address already in use


Fix:
- Find the process using the port: sudo lsof -i :[port]
- Stop the process or use a different port in your Docker command.


5. No Space Left on Device

Error:
no space left on device


Fix:
- Remove unused containers, images, and volumes: docker system prune -a --volumes
- Ensure you have enough disk space on your Docker host.


6. Build Fails Due to Missing Files

Error:
COPY failed: file not found in build context or excluded by .dockerignore: stat [file]: file does not exist


Fix:
- Verify the path in your Dockerfile and ensure the file exists in the build context.
- Check your .dockerignore to ensure necessary files are not being ignored.


7. Permission Denied Errors

Error:
permission denied while trying to connect to the Docker daemon socket


Fix:
- Use sudo if you're not in the Docker group: sudo docker [command]
- Add your user to the Docker group: sudo usermod -aG docker $USER and then restart your terminal or log out and back in.


Keep these handy tips in your toolbox, and Docker errors won’t slow you down! Happy containerizing! 🐳


📱 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
How to Get Into DevOps?

There isn't a one-size-fits-all path to DevOps.

If you come from a background in development, QA, performance, or support, you should focus on learning about the Cloud, infrastructure automation, container orchestration, and CI/CD.

Most importantly, you must work on real-world use cases.

If you are a fresher, you must concentrate on IT fundamentals, programming, OS concepts, Cloud, and Containers.

Getting a job in the DevOps domain as a newcomer can be challenging. Internships are a good starting point.

This is because most companies (primarily service-based) seek experienced individuals who can immediately contribute to projects.

As the well knowledged person, I've noticed that clients always prefer hiring experienced professionals.

Dedicate yourself to learning and avoid shortcuts.

With hard work, luck will naturally come your way. ☺️


🔵 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!!
Please open Telegram to view this post
VIEW IN TELEGRAM
☁️ 𝗔𝗪𝗦 𝗵𝗮𝘀 𝗼𝘃𝗲𝗿 𝟮𝟬𝟬 𝗳𝘂𝗹𝗹𝘆 𝗳𝗲𝗮𝘁𝘂𝗿𝗲𝗱 𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀.
𝗠𝗼𝘀𝘁 𝗶𝗺𝗽𝗼𝗿𝘁𝗮𝗻𝘁 𝗔𝗪𝗦 𝘀𝗲𝗿𝘃𝗶𝗰𝗲𝘀 𝘆𝗼𝘂 𝘀𝗵𝗼𝘂𝗹𝗱 𝗹𝗲𝗮𝗿𝗻 𝘁𝗼 𝗯𝗲 𝗮 𝗗𝗲𝘃𝗢𝗽𝘀 𝗘𝗻𝗴𝗶𝗻𝗲𝗲𝗿.

✔️Amazon EC2
✔️AWS IAM
✔️AWS CloudFormation
✔️AWS CloudWatch
✔️AWS CodePipeline
✔️AWS CodeBuild
✔️AWS CodeDeploy
✔️Amazon ECS
✔️AWS Lambda
✔️AWS Elastic Beanstalk
✔️Amazon DynamoDB


😎 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🐧 𝗪𝗵𝗮𝘁 𝗮𝗿𝗲 𝗟𝗶𝗻𝘂𝘅 𝗙𝗶𝗹𝗲 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀?
In Linux, file permissions determine who can read, write, or execute a file. These permissions are categorized as follows:

- 𝗨𝘀𝗲𝗿 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀: Dictate what actions the file's owner can perform.
- 𝗚𝗿𝗼𝘂𝗽 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀: Define what members of the file's group can do.
- 𝗢𝘁𝗵𝗲𝗿 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀: Set permissions for all other users.

💻 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱𝗶𝗻𝗴 𝘁𝗵𝗲 𝗖𝗵𝗲𝗮𝘁𝘀𝗵𝗲𝗲𝘁
Our cheatsheet presents file permissions in both binary and octal formats. Although the binary format is more intuitive, the octal format is widely used in practice.

To convert from binary to octal, sum the values represented by 'r' (read), 'w' (write), and 'x' (execute) in each set of permissions. For instance, the binary permission 'rwxr-xr-x' translates to the octal permission 755:
- r = 4 (read)
- w = 2 (write)
- x = 1 (execute)
- - = 0 (no permission)


🐧 𝗖𝗼𝗺𝗺𝗼𝗻 𝗙𝗶𝗹𝗲 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀 𝗘𝘅𝗽𝗹𝗮𝗶𝗻𝗲𝗱
- 𝟳𝟱𝟱: Typical for executables. The owner has full permissions, while group members and others can read and execute.
- 𝟲𝟰𝟰: Common for regular files. The owner can read and write, but others can only read.
- 𝟳𝟳𝟳: Grants full permissions to everyone. It's generally unsafe and should be used cautiously.

🐧 𝗖𝗵𝗮𝗻𝗴𝗶𝗻𝗴 𝗙𝗶𝗹𝗲 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀
Use the 𝚌𝚑𝚖𝚘𝚍 command to modify file permissions. For example:
- To set permissions to 755: 𝚌𝚑𝚖𝚘𝚍 𝟽𝟻𝟻 𝚖𝚢𝚏𝚒𝚕𝚎
- To add execute permission for all: 𝚌𝚑𝚖𝚘𝚍 +𝚡 𝚖𝚢𝚏𝚒𝚕𝚎

Additionally, the 𝚌𝚑𝚖𝚘𝚍 command can be used with symbolic notation, allowing more direct modifications. For instance:
- To add write permission for the group: 𝚌𝚑𝚖𝚘𝚍 𝚐+𝚠 𝚖𝚢𝚏𝚒𝚕𝚎
- To remove execute permission for others: 𝚌𝚑𝚖𝚘𝚍 𝚘-𝚡 𝚖𝚢𝚏𝚒𝚕𝚎


💻 𝗗𝗲𝗰𝗼𝗱𝗶𝗻𝗴 𝗙𝗶𝗹𝗲 𝗦𝘆𝘀𝘁𝗲𝗺 𝗜𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻
- 𝗙𝗶𝗹𝗲 𝗧𝘆𝗽𝗲 𝗜𝗻𝗱𝗶𝗰𝗮𝘁𝗼𝗿: The first character indicates the file type (e.g., '-' for a regular file, 'd' for a directory).
- 𝗡𝘂𝗺𝗯𝗲𝗿 𝗼𝗳 𝗟𝗶𝗻𝗸𝘀: Shows the count of hard links to the file.
- 𝗢𝘄𝗻𝗲𝗿 𝗮𝗻𝗱 𝗚𝗿𝗼𝘂𝗽 𝗡𝗮𝗺𝗲𝘀: Identify the file's owner and the group.
- 𝗙𝗶𝗹𝗲 𝗦𝗶𝘇𝗲: Displays the size of the file in bytes.
- 𝗦𝗽𝗲𝗰𝗶𝗮𝗹 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻𝘀: Symbols like 's' or 't' represent special permissions, such as executing a file with the owner's privileges.


🔵 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
Just had an Great interview experience for the role of a DevOps Engineer with 1-2 years of experience!

I recently had the opportunity to interview for a DevOps Engineer position, and I wanted to share some of the questions that were asked during the process. Whether you're preparing for a similar role or just interested in the DevOps field, I hope you find these questions helpful!

Regarding Self Introduction and DevOps:
1) Could you Please Introduce yourself Briefly about your background and your project ?
2) What Does DevOps Means and how DevOps is Different from Other Department in IT Industry ?
3) What Happen when DevOps comes in IT Industry ?
4) Could you please Explain me About your last project have you worked on and what was you roles and responsibility ?

About Linux OS:
1) What are Different OS have you Familiar with and worked on ?
2) What is Kernel ?
3) which Linux version you used in your project ?
4) why we Used Linux OS Rather than Windows and any other ?

About Git GitHub and Gitlab:
1) What is Git, GitHub and Gitlab what is the difference between them ?
2) what is Merge and Rebase ?
3) How do you revert a commit in Git ?
4) Explain the difference between Git pull and Git fetch ?
5) Explain the Branching Strategies have you used in your project

About CICD with Jenkins:
1) what is CICD and explain me the Jenkins file and Its Stages ?
2) In which phase Testing will do In CI phase or in CD phase ?
3) how did you used Jenkins in your project ?
4) Describe the process of setting up a Jenkins job to automate a build process ?

About Docker and K8S:
1) What Does mean by containerization and Orchestration ?
2) What is a Docker image, and how is it different from a Docker container?
3) How do you manage data persistence in Docker containers?
4) Have you Used docker Compose ?
5) could you Explain me a Docker File for Node ?
6) How do you secure a MySQL Data which is Running in my container ?
7) what is Ingress and Deployment in K8S ?
8) what is Services in K8S ?
9) How can K8S control and manage a containers ?

Some Scenarios Questions:
1) Your company is planning to implement a disaster recovery (DR) strategy for its critical services hosted on AWS. Describe the steps you would take to design and implement a robust DR plan, including backup strategies, failover mechanisms, and testing procedures.


😎 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝗳𝗼𝗿 𝗺𝗼𝗿𝗲 𝘀𝘂𝗰𝗵 𝗰𝗼𝗻𝘁𝗲𝗻𝘁 𝗮𝗿𝗼𝘂𝗻𝗱 𝗰𝗹𝗼𝘂𝗱 & 𝗗𝗲𝘃𝗢𝗽𝘀!!! // Join for DevOps DOCs: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🐬 Exploring Docker Volumes: A Key to Efficient Container Management

Docker volumes play a crucial role in containerized environments, offering a flexible and efficient way to manage data persistence and sharing.

But what exactly are Docker volumes, why do we need them, and what are the different types available?

🔍 What is a Docker Volume?

A Docker volume is an independent file system entirely managed by Docker and exists as a normal file or directory on the host. They provide a way to store and manage data separately from the container itself, ensuring data persistence even when containers are stopped or removed.

💡 Why do we need volumes?

1️⃣. Data Persistence: Volumes allow data to persist beyond the lifecycle of containers, ensuring that data remains intact despite the container being stopped.
2️⃣. Data Sharing: Multiple containers can access and share data stored in the same volume, facilitating collaboration and resource optimization.
3️⃣. Backup and Recovery: Volumes make it easier to backup and recover data, enhancing the reliability and robustness of containerized applications.

🔧 Types of Volumes:

1️⃣. Named Volumes: These are named storage entities managed by Docker, providing a convenient way to reference and manage data. Here, while creating the named volumes we name the directory on the host file system and the name is up to you. It is just used to reference the directory. The name itself will be used to access the volume where you don't need to reference through the path.

Syntax to create a named volume:
docker run -v {volume_name}:/path/in/container image_name


2️⃣. Host-Mounted Volumes: Host-mounted volumes link a directory or file on the host machine directly to a container, enabling seamless data sharing.

Syntax to create host-mounted volume:
docker run -v /path/on/host:/path/in/container image_name


3️⃣. Anonymous Volumes: These are temporary volumes created and managed by Docker, typically used for short-term data storage needs. Here you don't specify the host directory where you would want docker to mount. The directory is automatically created by Docker within the path /var/lib/docker/volumes.

Syntax to create an anonymous volume:
docker run -v /path/in/container image_name


Understanding Docker volumes is essential for optimizing containerized workflows, ensuring data integrity, and simplifying data management in modern DevOps environments. Embrace the power of volumes to unlock the full potential of Docker containers!


✔️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Embrace Microservices on Azure Kubernetes Service (AKS) 🌐

Looking to harness the power of microservices in the cloud? Azure Kubernetes Service (AKS) offers an ideal platform. Here's a snapshot of this architecture:

🎯AKS: Managed Kubernetes cluster hosted in Azure. Focus on agent nodes while Azure handles the Kubernetes API service.

🎯Virtual Network: AKS sets up a virtual network for agent nodes. For advanced scenarios, set up your own network with control over subnet config and more.

🎯Ingress: Exposes HTTP(S) routes to services within the cluster, acting as an API Gateway.

🎯Azure Load Balancer: Routes internet traffic to the ingress controller, ensuring scalability and reliability.

🎯External Data Stores: Microservices often use external data stores like Azure SQL Database or Azure Cosmos DB for stateful operations.

🎯 Microsoft Entra ID: Used for creating and managing Azure resources and recommended for user authentication in client apps.

🎯Azure Container Registry: Store private Docker images for deployment. AKS can authenticate using its Microsoft Entra identity.

🎯Azure Pipelines: Part of Azure DevOps, automates builds, tests, and deployments. Also compatible with third-party CI/CD tools.

🎯Helm: A Kubernetes package manager that simplifies managing and deploying applications.

🎯Azure Monitor: Collects and stores metrics, logs, and telemetry data for monitoring, alerting, and root cause analysis.

🎯 Cost Optimization: Use the Azure pricing calculator to estimate costs, and refer to the Azure Well-Architected Framework for further insights.

🆘 Cost Considerations:

✔️ AKS: No direct cost, but you pay for underlying resources.
✔️ Azure Load Balancer: Charges for configured load-balancing rules.
✔️ Azure Pipelines: Free options with charges for extra jobs.
✔️ Azure Monitor: Costs based on data ingestion and retention.

Seize the potential of microservices on AKS, backed by the Azure cloud's robust infrastructure.


❤️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔔 A Complete Guide to Azure DevOps Pipelines with YAML Templates


⚙️ Streamline Your CI/CD Workflows with Azure DevOps

In today’s software development landscape, efficient CI/CD processes are essential for delivering high-quality applications at a rapid pace. Azure DevOps provides a comprehensive set of tools and services to facilitate the entire development lifecycle, including powerful CI/CD capabilities. In this guide, we will explore Azure DevOps pipelines using YAML templates, providing step-by-step explanations and practical examples. Let’s dive in!

𝑓𝑜𝑟 𝑚𝑜𝑟𝑒 𝑖𝑛𝑓𝑜, 𝑦𝑜𝑢 𝑐𝑎𝑛 𝑐ℎ𝑒𝑐𝑘 𝑡ℎ𝑖𝑠 𝑙𝑖𝑛𝑘:
https://prodevopsguy.site/complete-guide-to-azure-devops-pipelines-with-yaml-templates


✔️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
📢 DevOps Project-23: ☁️ DevSecOps: Blue-Green Deployment of Swiggy-Clone on AWS ECS with AWS Code Pipeline


🔗 Project Link: HERE

📶 Project Overview :-
To demonstrate Blue-Green deployment, we’ll use AWS ECS to host our Swiggy-clone application. ECS is a highly scalable container orchestration service provided by AWS.

➡️Implementing Blue-Green Deployment with AWS CodePipeline:
AWS CodePipeline is a fully managed continuous integration and continuous delivery (CI/CD) service that automates the build, test, and deployment phases of your release process. Let’s see how to set up a Blue-Green deployment pipeline using AWS CodePipeline:
🔢. Source Stage: Connect your CodePipeline to your source code repository (e.g., GitHub). Trigger the pipeline when changes are detected in the repository.
🔢. Build Stage: Use AWS CodeBuild to build your Swiggy-clone Docker image from the source code. Run any necessary tests during this stage.
🔢. Deploy Stage: Configure AWS CodeDeploy for ECS to manage the deployment of your application to ECS clusters. Here’s where Blue-Green deployment strategy comes into play:

❤️‍🔥 Share with friends and colleagues ❤️‍🔥

📣 Note: Fork this Repository 🧑‍💻 for upcoming future projects, Every week releases new Project.



📱 𝗙𝗼𝗹𝗹𝗼𝘄 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM
🔣 𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀 𝗖𝗼𝗺𝗺𝗼𝗻 𝗘𝗿𝗿𝗼𝗿𝘀 🔣

1️⃣.𝙄𝙢𝙖𝙜𝙚𝘽𝙖𝙘𝙠𝙋𝙪𝙡𝙡𝙊𝙛𝙛 :-
We face this issue when the image is not present in registry or the given image tag is wrong.
Make sure you provide correct registry url, image name and image tag.

We might face authentication failures, when image is being stored in a private registry, make sure to create secret with private registry credentials and add created secret in Kubernetes Deployment File to pull docker image.

2️⃣.𝘾𝙧𝙖𝙨𝙝𝙇𝙤𝙤𝙥𝘽𝙖𝙘𝙠𝙊𝙛𝙛 :-
We face this issue when the process deployed inside container not running then the POD will be moved to CrashLoopBackOff.
POD might be running out of CPU or memory, POD should get enough resources allocated that’s cpu and memory for an application to be up and running, to fix that check in Resources Requests and Resources Limits.

3️⃣.𝙊𝙊𝙈 𝙆𝙞𝙡𝙡𝙚𝙙 - 𝙊𝙪𝙩 𝙊𝙛 𝙈𝙚𝙢𝙤𝙧𝙮 :-
We face this issue when PODs tries to utilise more memory than the limits we have set.
We can resolve it by setting appropriate resource request and resource limit.

4️⃣.𝙋𝙊𝘿 𝙎𝙩𝙖𝙩𝙪𝙨 – 𝙋𝙚𝙣𝙙𝙞𝙣𝙜 :-
When nodes might not be ready and required resources like CPU and Memory may not be available in nodes for the PODs to be up and running.

5️⃣.𝙋𝙊𝘿 𝙎𝙩𝙖𝙩𝙪𝙨 – 𝙒𝙖𝙞𝙩𝙞𝙣𝙜 :-
POD will be scheduled to a node but POD won’t be running in scheduled node.
We can fix this by providing correct image name, image tag and authentication to registry.

6️⃣.𝙋𝙊𝘿 𝙬𝙞𝙡𝙡 𝙗𝙚 𝙪𝙥 𝙖𝙣𝙙 𝙧𝙪𝙣𝙣𝙞𝙣𝙜 𝙖𝙣𝙙 𝙖𝙥𝙥𝙡𝙞𝙘𝙖𝙩𝙞𝙤𝙣 𝙞𝙨 𝙣𝙤𝙩 𝙖𝙘𝙘𝙚𝙨𝙨𝙞𝙗𝙡𝙚.
We can fix this by creating appropriate service.
If service is already created and application is still not accessible, make sure application and service are deployed in same namespace.

7️⃣.𝙋𝙊𝘿 𝙎𝙩𝙖𝙩𝙪𝙨 – 𝙀𝙫𝙞𝙘𝙩𝙚𝙙 :-
We can resolve this by setting appropriate resource requests and resource limits for the PODs and having enough resources in worker nodes.


✈️ 𝐅𝐨𝐥𝐥𝐨𝐰 @prodevopsguy 𝐟𝐨𝐫 𝐦𝐨𝐫𝐞 𝐬𝐮𝐜𝐡 𝐜𝐨𝐧𝐭𝐞𝐧𝐭 𝐚𝐫𝐨𝐮𝐧𝐝 𝐜𝐥𝐨𝐮𝐝 & 𝐃𝐞𝐯𝐎𝐩𝐬!!! // 𝐉𝐨𝐢𝐧 𝐟𝐨𝐫 𝐃𝐞𝐯𝐎𝐩𝐬 𝐃𝐎𝐂𝐬: @devopsdocs
Please open Telegram to view this post
VIEW IN TELEGRAM