Category

DevOps Tools, CI/CD and Automation Guides

Master DevOps with tutorials on CI/CD pipelines, Kubernetes, Docker, Git, and automation tools used in modern infrastructure.

The DevOps section focuses on automation, CI/CD pipelines, and modern infrastructure management tools.

DevOps combines development and operations to improve software delivery and system reliability. This category includes tutorials on tools like Docker, Kubernetes, Git, and CI/CD workflows.

To strengthen your foundation, also explore Linux and Programming.

283 articles

DevOps category illustration with CI/CD, Docker, and Kubernetes graphics
devops

Error: can only create exec sessions on running containers

Explore solutions to the Docker error 'can only create exec sessions on running containers: container state improper.

Deepak Prasad4 min read
devops

Keep Docker Container Running (5 Easy Methods + Examples & Best Practices)

Learn how to keep a Docker container running using multiple methods like TTY mode, entrypoint, sleep infinity, and process management. Fix containers exiting immediately with practical examples and best practices.

Deepak Prasad4 min read
devops

Override Docker Entrypoint (How to Change CMD & ENTRYPOINT with Examples)

Learn how to override Docker ENTRYPOINT and CMD using docker run options. Understand the difference between ENTRYPOINT and CMD with practical examples and best practices.

Deepak Prasad4 min read
devops

Docker ps -a Explained (List All Containers with Examples & Filters)

Learn how to use docker ps -a to list all containers including stopped ones. Explore examples, filters, and output details to manage Docker containers effectively.

Deepak Prasad3 min read
devops

SSH into Docker Container [3 Simple Methods]

There are 3 different possible methods to perform docker container SSH. Using docker exec, docker attach and by running a SSHD service inside a container and using SSH client to connect to container

Deepak Prasad6 min read
devops

Docker Restart Container [Control With Flags]

Docker restart container using various flags to control the restart behavior of the container

Deepak Prasad5 min read
devops

Add different condition in Dockerfile [5 Methods]

handle different condition in dockerfile such as docker file if else condition, arg conditions, ARG vs ENV comparison with examples

Deepak Prasad7 min read
devops

Simple Kubernetes Helm Charts Tutorial with Examples

Kubernetes Helm Charts are package manager used to deploy charts (package). This can contain all type of resources and deploy or un-deploy them instantly. It makes handling complex applications very easy.

Deepak Prasad14 min read
devops

Tutorial: How to manage docker container with examples ?

Tutorial Manage Docker Container. Download Docker Image from Docker Hub. How to connect and exit from docker container query docker hub and check logs

Deepak Prasad15 min read
devops

Kubernetes DNS Troubleshooting: Fix CoreDNS, NXDOMAIN, SERVFAIL, ndots, and DNS Timeouts

We walk you through Kubernetes DNS failures with the CoreDNS and kube-dns checks we use in real incidents—NXDOMAIN, SERVFAIL, ndots, NetworkPolicy port 53, and external DNS—so you can copy the same commands on your …

Deepak Prasad20 min read
devops

Set ulimit in Kubernetes Pods: open files, nproc, and process limits

Fix Too many open files (EMFILE) and set ulimit-style nofile, nproc, and file size limits in Kubernetes pods using a prlimit or ulimit entrypoint—separate from CPU and memory resources.limits, with Pod examples you can …

Deepak Prasad17 min read
devops

How to limit Kubernetes resources (CPU & Memory)

We can add a limit (quota) to different Kubernetes resources such as CPU, memory, hugepages for containers. We can restrict a soft and hard limit to these resources

Deepak Prasad7 min read
devops

Kubernetes Tutorial for Beginners & Experienced

Free Kubernetes tutorial that takes you from cluster install to CKA/CKAD-level topics - pods, deployments, RBAC, networking, Helm, security, autoscaling. 50+ hands-on lessons across 13 chapters, every example tested on …

Deepak Prasad1 min read
devops

Understanding Docker Vs Containerd

Container execution is handled by containerd. You can think of it as a container supervisor that handles container lifecycle operations.

Deepak Prasad6 min read
devops

Debugging Kubernetes Operators: kubectl, Logs, and Webhook Failures

Learn how to debug Kubernetes Operators from the outside in: manager logs and flags, kubectl describe and events, stuck Terminating resources, validating and mutating webhooks (TLS, caBundle, cert-manager), conversion …

Deepak Prasad14 min read
devops

Kubernetes Operator Tutorial - Build Production-Ready Operators

Free Kubernetes Operator course with hands-on lessons from core concepts through production Go, Helm, and hybrid operators—plus observability, security, CI/CD, and OLM packaging. Built on controller-runtime, Kubebuilder, …

Deepak Prasad1 min read
devops

Unit Testing Operator Reconcile Logic with Ginkgo and Gomega

Structure reconciler unit tests with Ginkgo and Gomega: table-driven vs Describe/Context/It, testing pure desired-state builders vs full Reconcile with the fake client, asserting ctrl.Result and errors, when to stop and …

Deepak Prasad8 min read
devops

CI/CD for Kubernetes Operator Projects with GitHub Actions

Create a production-ready GitHub Actions CI/CD workflow for Go Kubernetes Operators: gofmt, go vet, unit tests, envtest, Makefile targets, image builds, GHCR publishing, OLM bundle validation, kind jobs, caching, …

Deepak Prasad15 min read
devops

OLM Bundles Explained: Package, Ship, and List on OperatorHub

Learn OLM bundles for Kubernetes Operators: bundle layout, CSV fields, replaces and skips, operator-sdk bundle generate validate scorecard, catalog images with opm, testing on kind with OLM, and how CSV claims map to …

Deepak Prasad11 min read
devops

OpenTelemetry Tracing for controller-runtime Operators

Add OpenTelemetry tracing to Go operators on controller-runtime: why trace reconcile, wiring TracerProvider and OTLP, propagating context into client-go and outbound HTTP, span naming and log correlation via trace id, …

Deepak Prasad11 min read
devops

Kubernetes Operator Metrics with Prometheus and controller-runtime

Expose Kubernetes Operator metrics from controller-runtime, scrape them with prometheus-operator ServiceMonitor, secure the endpoint, add custom Prometheus metrics, build useful Grafana panels, alert on reconcile errors, …

Deepak Prasad14 min read
devops

Pause and Resume Patterns for Kubernetes Operators

Design pause and resume for Kubernetes Operators: spec.paused vs annotations, what still runs when paused, skipping child updates vs deletes, finalizers and upgrades, Helm operator limits, user-facing docs, and GitOps …

Deepak Prasad8 min read
devops

From Commit to Cluster: End-to-End Operator Release Pipeline

Release a Kubernetes Operator from Git tag to cluster: build the manager image, pin digests, render Helm or Kustomize manifests, validate CRDs and OLM bundles, smoke-test with a sample CustomResource, promote through …

Deepak Prasad11 min read
devops

Configuration for Operators: Flags, Environment Variables, and Live Reload

Configure Kubernetes Operators for real clusters: cmd flags vs env vars, WATCH_NAMESPACE and common conventions, ConfigMap and Secret mounts, live reload with watches, Downward API, secret rotation, and 12-factor style …

Deepak Prasad7 min read
devops

CEL Validation in CRDs: Practical Rules for Operator APIs

Practical CEL rules in CRDs for operator APIs: x-kubernetes-validations basics, immutability with oldSelf and oldObject, when to combine OpenAPI and CEL, replicas bounds and mutual exclusions, user-facing error messages, …

Deepak Prasad8 min read
devops

Kubernetes Operator Hardening Beyond RBAC: Pod Security and Supply Chain

After RBAC, harden Kubernetes operators with non-root pods, read-only root filesystem, dropped capabilities and seccomp, projected ServiceAccount tokens, image digest pinning and signing, NetworkPolicy egress allowlists …

Deepak Prasad5 min read
devops

Migrate a Helm Chart to a Helm-Based Kubernetes Operator

Brownfield guide for teams with a production Helm chart: when plain Helm is enough vs a Helm-based operator, mapping values.yaml into a CRD spec, watches.yaml and overrideValues precedence, chart semver vs operator image …

Deepak Prasad8 min read
devops

Performance Tuning for controller-runtime: Concurrency, Client QPS, and Cache

Tune Go operators on controller-runtime for large clusters: MaxConcurrentReconciles and goroutine-safe reconcile, REST client QPS and burst, cached vs APIReader uncached reads, predicates to cut apiserver load, field …

Deepak Prasad8 min read
devops

Testing Kubernetes Operators with envtest, Fake Client, and kind

Part 3 of 3: test a Go Operator SDK operator with unit tests, fake client, envtest (CRD + status + webhooks), kind smoke tests, Kustomize packaging, safe CRD upgrades, and a troubleshooting lab.

Deepak Prasad17 min read
devops

Controller-Runtime Architecture: Manager, Cache, Informer, Workqueue Explained

controller-runtime is the Go library that powers every Kubebuilder and Operator-SDK project. This guide walks the full architecture - Manager, Cache, Informer, SharedInformerFactory, Workqueue, and the Builder DSL (For / …

Deepak Prasad12 min read