💻 Day 9 + 10 – Advanced Shell Scripting 🚀 Continuing my DevOps learning journey, these two days were all about writing smarter shell scripts and automating node health checks. I explored how to: 🔸Build a Node Health Script using shebang, metadata, and debug mode (set -x) 🔸Use df, free, nproc, and top to monitor disk, memory, and CPU 🔸Filter and extract process IDs with ps -ef | grep | awk 🔸Combine echo statements and debug mode for better readability 🔸Apply these techniques to real DevOps troubleshooting on EC2 instances Each command now feels like a building block toward automation and efficiency — the essence of DevOps. 📸 Attaching my visual summary below to make these concepts easier to grasp! Also do check out my GitHub repo 👉 https://lnkd.in/de9WeNVY #DevOps #ShellScripting #AWS #Automation #LearningJourney #GitHub #Linux #CloudEngineering #Debugging #ProcessManagement
Advanced Shell Scripting for DevOps Automation
More Relevant Posts
-
🚨 Kubernetes Core Architecture — If You Don’t Get This, You’re Guessing 🚨 Most people say they “know” Kubernetes… but all they really do is run kubectl commands. That’s not understanding — that’s memorizing shortcuts. If you don’t understand what’s happening behind the scenes, you’re just hoping things work. Here’s the ONE mental model you actually need 👇 🧠 Kubernetes = Brain vs Muscle 🔥 Control Plane (The Brain) This is where all decisions are made: • API Server → the front door (everything goes through this) • Scheduler → decides which node runs your Pod • Controller Manager → keeps fixing things until desired = actual • etcd → stores the entire cluster state (your source of truth) 👉 If this goes down, your cluster is basically dead. ⚙️ Worker Nodes (The Muscle) This is where your applications actually run: • Kubelet → connects node to control plane • Container Runtime → runs containers (containerd/Docker) • Pods → smallest unit where your app lives 👉 If these fail, apps crash — but cluster still exists. 🌐 Networking (The Part Everyone Ignores… Until It Breaks) • Pods communicate over cluster network • Services expose Pods (internally + externally) • DNS makes everything discoverable 👉 If you don’t get this, debugging will destroy you. ⚠️ Reality Check If you can’t: • Explain how a Pod is scheduled • Trace request → Service → Pod • Tell what happens when a node dies Then you don’t understand Kubernetes. You’re just using it blindly. 💡 What Actually Matters (Focus Here) 1. Pod lifecycle 2. Scheduling flow 3. Service routing 4. Node communication 5. Failure handling 🧩 Mental Model Kubernetes is just a “Desired State Engine” You say: “I want 3 Pods running” Kubernetes says: “Done. And I’ll keep fixing it if anything breaks.” #kubernetes #devops #cloudcomputing #k8s #docker #container #backenddeveloper #softwareengineering #linux #cloudnative #aws #azure #gcp #microservices #programming #techcontent
To view or add a comment, sign in
-
-
🚀 From 1.5 GB → 50 MB Docker Image (95% Reduction) 🐳 I recently reduced my Docker image size from 1.5 GB to just 50 MB — that’s a 95% improvement. And honestly? This wasn’t about advanced tricks… it was about doing the basics consistently. ⚠️ Why this matters: Oversized images = ❌ Slower deployments ❌ Higher storage costs ❌ Bigger attack surface 👉 Lean containers aren’t optional in DevOps — they’re a discipline. 🔧 7 Practices I Follow in Every Build: 1️⃣ Use minimal base images Alpine or slim variants cut hundreds of MB instantly. 2️⃣ Multi-stage builds = must-have Build tools stay in one stage, final image stays clean. 3️⃣ Install only what’s needed Every extra package = unnecessary risk + size. 4️⃣ Clean cache in the SAME layer Otherwise, Docker still keeps the junk. 5️⃣ Chain RUN commands Fewer layers = smaller images. 6️⃣ Use a .dockerignore file Keep out node_modules, .git, logs, env files. 7️⃣ Never run as root Simple step → big security win. #Docker #DevOps #CloudEngineering #AWS #Containers #Linux #DevOpsJourney #90DaysOfDevOps
To view or add a comment, sign in
-
-
Day 11 of My DevOps Journey 🚀 Today I learned about Variables in Shell Scripting 🧠💻 🔹 What I learned: ✔️ Variables are used to store values (key-value format) ✔️ No data types in shell scripting ✔️ System variables → SHELL, USER, PATH ✔️ User-defined variables for custom use 🔹 Hands-on: ✔️ Created variables using export ✔️ Accessed values using echo ✔️ Removed variables using unset 🔹 Important Concepts: ✔️ Temporary vs Permanent variables ✔️ Used .bashrc to store variables permanently ✔️ Learned how to set variables for all users 🔹 Rules: ✔️ No numbers at the start ✔️ Avoid special characters (-, @, #) ✔️ Prefer uppercase variable names Learning step by step and building consistency 💪🔥 #DevOps #Linux #ShellScripting #AWS #LearningJourney
To view or add a comment, sign in
-
-
🔥 𝗞𝘂𝗯𝗲𝗿𝗻𝗲𝘁𝗲𝘀 𝗶𝘀 𝗲𝗮𝘀𝘆… 𝘂𝗻𝘁𝗶𝗹 𝗶𝘁 𝗶𝘀𝗻’𝘁 😅 That’s the real Kubernetes experience. At first it looks simple: → Deploy containers → Scale automatically → Self-healing workloads Then reality hits: ❌ Networking issues you can’t see ❌ YAML breaking everything with one typo ❌ RBAC permissions that fail silently ❌ Debugging across pods, nodes, and clusters And you realize: Kubernetes isn’t hard because of commands. It’s hard because it forces you to think in systems. Networking. Security. Distributed architecture. Failure modes. The good news? Everyone struggles at the beginning. Here are resources that actually help: 📚 Kubernetes Official Docs https://lnkd.in/e7Z9_u79 📚 Kubernetes The Hard Way, Kelsey Hightower https://lnkd.in/dAyYVctG 📚 Kubestronaut Roadmap (YouTube) https://lnkd.in/gpARn22q 📚 Killercoda (hands-on labs) https://killercoda.com/ 📚 TechWorld with Nana (YouTube) https://lnkd.in/eEQzGkGe 📚 CKA / CKAD learning paths (Linux Foundation) https://lnkd.in/eY4SXf35 💡 Biggest tip: Don’t try to memorize YAML. Try to understand why things break. That’s when Kubernetes finally clicks. Who else has had a “Kubernetes made me cry” moment? #Kubernetes #DevOps #CloudEngineering #PlatformEngineering #SRE #CloudComputing
To view or add a comment, sign in
-
-
💻 From echo "Hello World" to AWS automation — my DevOps journey is getting real! This week I wrestled with Bash conditionals, case‑insensitive inputs, and the eternal battle of == vs -eq. Lesson learned: strings are not numbers, and numbers don’t care about your case sensitivity! Why does this matter? Because in DevOps, tiny details in scripts decide whether your cloud infrastructure runs smoothly or throws errors at 3 AM. I’m building my Shell Scripting Cheat Sheet covering variables, loops, functions, arguments, error handling, and file checks , a lifelong reference for interviews and real‑world engineering. Takeaway: DevOps isn’t just about tools like Docker or Kubernetes. It starts with mastering the shell, where automation is born. 👉 What’s the funniest bug you’ve ever hit because of a missing quote or wrong operator? Share your war stories — let’s laugh and learn together. #DevOps #CloudComputing #ShellScripting #Linux #AWS #CareerGrowth #BengaliNewYear #TechHumor #Technology
To view or add a comment, sign in
-
🚀 Day 3 – Debugging a Real DevOps Issue in Production Not every deployment goes smoothly. Recently, I faced an issue while deploying my application using Azure Pipelines to a Virtual Machine. ❌ The Problem: The pipeline was failing during deployment with an SSH authentication error. Even though everything looked correctly configured, the connection was getting rejected. 🔍 What I Checked: • SSH key configuration in pipeline • VM firewall and port access • User permissions on the server • Connection logs from the pipeline ⚠️ Still failing. 💡 The Root Cause: The SSH key format and permissions were incorrect on the VM side, which caused authentication to fail silently. ✅ The Fix: • Regenerated and properly formatted SSH keys • Updated authorized_keys on the VM • Ensured correct file permissions (chmod 600) • Reconfigured the pipeline connection 🚀 Result: Deployment started working perfectly, and the pipeline was fully automated again. 💭 My Learning: In DevOps, most issues are not about tools — they’re about small misconfigurations that take time to identify. Debugging is a skill you build by experience. Tomorrow I’ll share how I deploy Django apps on Kubernetes (AKS) step-by-step ☁️ #DevOps #Azure #Kubernetes #Docker #CI_CD #Debugging #CloudEngineer #LearningInPublic
To view or add a comment, sign in
-
-
Linux is the part of DevOps most engineers underestimate… until production teaches them otherwise. You don’t become faster by memorizing commands — you become faster by understanding how the system behaves. Once you know where processes live, where logs hide, and how the filesystem reflects the state of the machine, debugging becomes instinct, not guesswork. Solid breakdown.
DevOps Engineer⚙️| 4 Years Experience📆| AWS☁️🟠| Azure☁️🔷| GCP☁️🌈| Jenkins🤵| Kubernetes☸️| Terraform🌍| Ansible📦|Docker🐳| Argo CD🚀| Trivy🔍| SonarQube📊| Helm⛵| Prometheus🖥️| Grafana📈| Python🐍| Shell💻| Git🔶|
🚨 Most DevOps Engineers Use Linux Daily… But Miss This 🐧⚙️ If you work with: ☸️ Kubernetes 🚀 CI/CD ☁️ Cloud VMs Then Linux isn’t just a tool… 👉 It’s your foundation 📂 Linux File System (Simple View) 🔹 /boot → System boot files 🔹 /etc → Configuration (most things break here) 🔹 /home → User files 🔹 /root → Root user 🔹 /opt → Third-party apps 🔹 /dev → Devices as files 🔹 /var → Logs & runtime data 📊 👉 Start debugging here 🔹 /bin → Basic commands 🔹 /sbin → Admin commands 🔹 /usr → Applications & libraries 🔹 /proc → Live process info 🔹 /sys → Hardware interface 🔹 /run → Runtime state 🔹 /tmp → Temporary files 📌 Bonus Paths 🔹 /lib, /lib64 → Libraries 🔹 /mnt, /media → Mount points 🔹 /srv → Service data 🔹 /lost+found → Recovered files ⚙️ Simple Commands You Should Know # Check logs (most issues start here) cd /var/log ls # View running processes top # Check disk usage df -h 💡 Why This Matters ✔ Faster debugging 🔍 ✔ Better automation 🤖 ✔ Stronger security 🔐 ✔ More confidence in production 🚀 🧠 Real Insight 💡 Experienced professionals don’t memorize paths 👉 They’ve seen issues so many times 👉 They instantly know where to look 🎯 Final Thought Don’t just “use” Linux 👉 Understand it 👉 Navigate it 👉 Debug it That’s what separates beginners from engineers. 📈 #Linux 🐧 #DevOps 🚀 #Kubernetes ☸️ #CloudComputing ☁️ #AWS #Azure #SRE #PlatformEngineering #Infrastructure #SysAdmin #Automation 🤖 #Docker 🐳 #CICD #TechCareers
To view or add a comment, sign in
-
-
👉 Using docker inspect only for containers? Explore what else you can inspect ✨Most engineers use docker ps… But when things break, that’s not enough. 👉 That’s where docker inspect becomes your superpower. 🔍 What is docker inspect? ⚡docker inspect gives you low-level (deep internal) details of Docker objects in JSON format. ✨Not just containers 👇 ⭐You can inspect: 1 Containers 2 Images 3 Networks 4 Volumes 5 Services (Swarm) 6 Nodes ⚙️ Real Commands You Should Know a) docker inspect <container_id> b) docker inspect <image_id> c) docker inspect <network_name> d) docker inspect <volume_name> 💡 What You Can Actually See ✔ Container IP address ✔ Environment variables ✔ Mounted volumes ✔ Network configuration ✔ Entrypoint & command ✔ Labels & metadata ✔ Container state (running, exited, etc.) 🔥 Pro Tips ✔ Use --format to extract specific values ✨ docker inspect -f '{{.State.Status}}' my_container ✔ Pipe to jq for readability ✨ docker inspect my_container | jq ✔ Best command for debugging & troubleshooting ⚠️ Important Insight 👉 docker inspect shows low-level details raw internal data from Docker Engine (not simplified output) 👉 Output can be large & complex, so filter wisely 🎯 When to Use It ✔ Debug failing containers ✔ Check networking issues ✔ Verify volume mounts ✔ Investigate environment configs 🔥 Pro Insight If you’re not using docker inspect, you’re debugging blindly. #Docker #DevOps #Kubernetes #CloudComputing #SRE #Containerization #Microservices #DevOpsEngineer #CloudNative #Linux #TechLearning #Debugging #PlatformEngineering #AWS #Azure #GCP
To view or add a comment, sign in
-
-
👉 Using docker inspect only for containers? Explore what else you can inspect ✨Most engineers use docker ps… But when things break, that’s not enough. 👉 That’s where docker inspect becomes your superpower. 🔍 What is docker inspect? ⚡docker inspect gives you low-level (deep internal) details of Docker objects in JSON format. ✨Not just containers 👇 ⭐You can inspect: 1 Containers 2 Images 3 Networks 4 Volumes 5 Services (Swarm) 6 Nodes ⚙️ Real Commands You Should Know a) docker inspect <container_id> b) docker inspect <image_id> c) docker inspect <network_name> d) docker inspect <volume_name> 💡 What You Can Actually See ✔ Container IP address ✔ Environment variables ✔ Mounted volumes ✔ Network configuration ✔ Entrypoint & command ✔ Labels & metadata ✔ Container state (running, exited, etc.) 🔥 Pro Tips ✔ Use --format to extract specific values ✨ docker inspect -f '{{.State.Status}}' my_container ✔ Pipe to jq for readability ✨ docker inspect my_container | jq ✔ Best command for debugging & troubleshooting ⚠️ Important Insight 👉 docker inspect shows low-level details raw internal data from Docker Engine (not simplified output) 👉 Output can be large & complex, so filter wisely 🎯 When to Use It ✔ Debug failing containers ✔ Check networking issues ✔ Verify volume mounts ✔ Investigate environment configs 🔥 Pro Insight If you’re not using docker inspect, you’re debugging blindly. #Docker #DevOps #Kubernetes #CloudComputing #SRE #Containerization #Microservices #DevOpsEngineer #CloudNative #Linux #TechLearning #Debugging #PlatformEngineering #AWS #Azure #GCP
To view or add a comment, sign in
-
-
Before I worked my way into DevOps tools, I’ve been focusing on understanding what actually happens underneath. Deployments aren’t just a button click. - How applications are built and deployed - How they’re hosted (IIS / servers) - How APIs behave when something breaks - How databases respond under load - How logs reveal the real issue Working without a full DevOps toolchain pushed me to learn these fundamentals deeply, which allowed me to understand the core aspects. Now when I look at CI/CD or Docker, I don’t just see tools, I understand the problems they solve. Still building, step by step. #DevOps #Linux #SQL #Backend #SoftwareEngineering #Learning #TechJourney
To view or add a comment, sign in
Explore related topics
- DevOps for Cloud Applications
- Advanced Ways to Use Azure DevOps
- DevOps Principles and Practices
- Advanced Debugging Techniques for Senior Developers
- Tips for Continuous Improvement in DevOps Practices
- How to Optimize DEVOPS Processes
- How to Automate EC2 Idle Instance Audits
- DevOps Engineer Core Skills Guide
- Key Skills for a DEVOPS Career
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development