Built out an end-to-end Kubernetes deployment pipeline from scratch 🚀 ✅ Dockerized a FastAPI app ✅ Deployed with Helm (reusable, parameterized charts) ✅ Added Ingress for domain-based routing ✅ Automated everything with GitHub Actions (lint → template → deploy) ✅ Used Kind for ephemeral clusters in CI Ran into some real-world issues along the way (arguably the best part of the project): ❌ “cluster unreachable” → kubeconfig pointed to localhost in CI ❌ Pods stuck in CrashLoopBackOff ❌ exec format error → containers built on arm64 failing in amd64 environments Worked through each by debugging with kubectl describe / logs and adjusting the pipeline + build process (multi-arch images). 💡 Good reminder that what works locally doesn’t always translate to CI https://lnkd.in/e9kcxNj6
Deploying Kubernetes Pipeline with Docker and Helm
More Relevant Posts
-
Today I deepened my understanding of Docker and containerization Docker is an open-source platform that packages applications into images and runs them in containers. A Docker image is like a blueprint of an application it contains everything needed to run it (code, dependencies, configs). A container is a running instance of an image lightweight, isolated, and portable. A Dockerfile is a script used to build images step by step. I also practiced core Docker commands: # Run a container docker run -d -p 8080:80 nginx # List running containers docker ps # Stop a container docker stop <container_id> # Remove a container docker rm <container_id> # Build an image from a Dockerfile docker build -t my-app . # Push image to Docker Hub docker push username/my-app
To view or add a comment, sign in
-
-
Halfway through “Docker Deep Dive” by Nigel Poulton - and I didn’t learn any new Docker commands. But I started understanding what happens underneath those commands. Also, learnt the evolution from needing a separate server for each app to lightweight containers. What actually happens when you run a container: Docker CLI - sends an API request daemon - gives the instruction to start containerd - manages the container lifecycle shim - becomes the container’s parent process and keeps it running runc - creates new container (namespaces, cgroups) and exits Before - run this command. Now - understanding what Docker is doing here. For me, Docker stopped being a tool and started looking like a system. May seem like a small unnecessary information, but it makes reasoning way easier. Turns out, understanding how something works > memorising commands. #Docker #BackendEngineering #DistributedSystems #SoftwareEngineering #Learning
To view or add a comment, sign in
-
Day 30 of learning and practicing DevOps 🔁 Explored Docker images and container lifecycle Worked on: • Pulling images like nginx, ubuntu, alpine • Understanding image sizes and why alpine is lightweight • Inspecting images and exploring image layers • Running docker image history to see layers • Practicing full container lifecycle (create → start → pause → stop → remove) • Working with running containers (logs, exec, inspect) • Cleaning up containers and unused images images are just templates and containers are running instances Here are my notes: https://lnkd.in/gPrfKNvK 📍 #DevOps #Docker #Containers #Linux #LearningInPublic #90DaysOfDevOps #TrainWithShubham
To view or add a comment, sign in
-
𝗕𝗮𝗌𝗶𝗰 𝗞𝗨𝗕𝗘𝗥𝗡𝗘𝗧𝗘𝗦 𝗦𝗘𝗥𝗩𝗘𝗥 I am learning to build a local server with Kubernetes. Here is a basic template for you: - A simple Node.js application for Kubernetes demonstration purposes - Prerequisites: - Docker installed on your system - Git for cloning the repository - kubectl for Kubernetes deployment - A Kubernetes cluster To get started with Docker: - Build the Docker image using docker build -t demo:latest ./app - Run the container with docker run -d -p 3000:3000 --name test-demo demo:latest - Test the application with curl http://localhost:3000 You can stop and remove the container using docker stop test-demo and docker rm test-demo For Kubernetes deployment: - Apply Kubernetes manifests Source: https://lnkd.in/gxTBnkVV
To view or add a comment, sign in
-
In the world of Kubernetes, the Imperative approach is like giving step-by-step directions to fix something quickly on the fly. The Declarative approach is about describing the final result you want in a file and letting the cluster handle the "how." I’ve found that true fluency comes from mastering both: using fast one-line commands to test ideas and YAML files for long-term stability. Balancing that "quick-fix" speed with a permanent record has completely changed my workflow. It’s not just about knowing the tools—it’s about choosing the right language for the task at hand.
To view or add a comment, sign in
-
🚀 Docker Cheat Sheet – Quick Commands Every Developer Should Know 🐳 🔹 Core Docker Commands 👉 Run a container docker run <image> 👉 List running containers docker ps 👉 List all containers (including stopped) docker ps -a 👉 Build an image from Dockerfile docker build -t <image_name> . 👉 Access a running container (interactive mode) docker exec -it <container_id> bash 👉 Stop a container docker stop <container_id> 👉 Remove a container docker rm <container_id> 👉 View container logs docker logs <container_id> 👉 List all Docker images docker images 👉 Remove an image docker rmi <image_name> 👉 List Docker networks docker network ls ⚙️ 🔹 Docker Compose (Multi-Container Management) 👉 Start services docker-compose up 👉 Stop & remove services docker-compose down 👉 View logs docker-compose logs
To view or add a comment, sign in
-
Kubernetes 1.36 "Haru" dropped 3 days ago (April 22). Most training platforms haven't even bumped the version label. KubernetesTrainer.com now has the actual v1.36 features working: → User Namespaces GA — practice hostUsers: false in pod specs and see the kernel mapping notes → MutatingAdmissionPolicy GA — kubectl get map shows the new CEL-based mutations (no more webhook servers) → VolumeGroupSnapshot GA — kubectl get vgs for crash-consistent snapshots across PVCs → Constrained Impersonation Beta — --as-uid, --as-group, --subresource all work → kubectl diff --show-secret — toggle between [REDACTED] and decoded values → kubectl logs node/worker-1 — node logs without SSH (GA) → ARCH + CONTAINER-RUNTIME columns in get nodes -o wide → gitRepo volume returns the proper removal error → externalIPs deprecation warnings on apply Free tier covers everything you need for CKA prep. Browser-based, no cluster required. 👉 https://lnkd.in/eBzg4pTW #Kubernetes #CKA #CKAD #DevOps #CloudNative #SRE
To view or add a comment, sign in
-
Docker isn’t difficult to learn - but remembering the right commands under pressure is a different story. When you’re deploying, debugging, or managing containers at scale, speed matters. Key command areas every developer should master: • Building and tagging images • Managing container lifecycle • Inspecting logs and performance • Cleaning up unused resources Learn more on the commands you actually use in real-world scenarios 👇 #DockerCommands #ContainerManagement #DockerTips #PerformanceMonitoring
To view or add a comment, sign in
-
-
Building a CI Pipeline with GitHub Actions Manual deployments are risky. In this chapter, we automate Docker image builds using GitHub Actions. On every push, images are built and pushed to a container registry. This introduces continuous inte Read more → https://lnkd.in/djyqTyvJ #TheCampusCoders #Tech #Developers #WebDev
To view or add a comment, sign in
-
Building a CI Pipeline with GitHub Actions Manual deployments are risky. In this chapter, we automate Docker image builds using GitHub Actions. On every push, images are built and pushed to a container registry. This introduces continuous inte Read more → https://lnkd.in/djyqTyvJ #TheCampusCoders #Tech #Developers #WebDev
To view or add a comment, sign in
Explore related topics
- How to Automate Kubernetes Stack Deployment
- Kubernetes Architecture Layers and Components
- Kubernetes Deployment Tactics
- Common Kubernetes Mistakes in Real-World Deployments
- Troubleshooting Unreachable Kubernetes Pods
- Simplifying Kubernetes Deployment for Developers
- Steps to Debug Kubernetes Issues Locally
- Jenkins and Kubernetes Deployment Use Cases
- Kubernetes Cluster Setup for Development Teams
- Kubernetes Deployment Skills for DevOps Engineers
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