Your app needs a database URL in dev, a different one in staging, and yet another in production. You could bake each URL into a separate Docker image, but then you would need three images for the same code. ConfigMaps and Secrets let you inject configuration at deploy time, so one image works everywhere. Here is how to use them properly.
151 posts tagged with "DevOps"
DevOps practices, CI/CD, and automation
View All TagsLinux Networking Commands Every Engineer Should Know
Your app can't connect to the database. Latency is spiking. DNS resolution is failing. A microservice can't reach its dependency. Networking issues are behind the majority of production incidents, and if you can't debug them from the command line, you're flying blind. Let's fix that.
A developer once asked me: "Why can't my Lambda function reach the internet after I put it in a VPC?" The answer took 15 minutes to explain. VPC networking is where most AWS engineers hit a wall — and it's because nobody taught them the fundamentals first.
Jenkins has been around since 2011 (as Hudson since 2004) and it runs over 50% of CI/CD pipelines worldwide. Some people say it is old and clunky. They are partially right. But Jenkins is also incredibly powerful, endlessly extensible, and — unlike SaaS alternatives — you own every piece of it.
Docker Compose — Multi-Container Apps in One File
You have a web app that needs Postgres, Redis, and Nginx. Running four separate docker run commands with all their flags is painful. Forgetting one flag breaks everything. Docker Compose lets you define your entire application stack in a single YAML file and manage it with one command.
Your cluster has three teams deploying apps. The frontend team accidentally deletes the backend team's ConfigMap because everything is in the default namespace. The ML team's GPU-hungry job starves everyone else of resources. Sound familiar? Namespaces fix this by giving each team their own isolated sandbox with enforced resource limits.
