Articles by Deepak Prasad
Operator Health and Readiness Probes: /healthz, /readyz, AddHealthzCheck
A practical guide to liveness and readiness probes for Kubernetes operators: what `/healthz` and `/readyz` should report, how to register custom checks with `mgr.AddHealthzCheck` and `mgr.AddReadyzCheck`, the difference …
Kubernetes Operator Watches, Events, and Predicates Explained
Learn how Kubernetes Operator watches, events, handlers, and predicates decide which changes trigger Reconcile, with Owns vs Watches examples.
Multi-Resource Reconciliation: Managing N Child Resources per CR
Most real operators do not manage one child — they manage five, ten, sometimes dozens of children per CR: a Deployment, a Service, two ConfigMaps, a HorizontalPodAutoscaler, a NetworkPolicy, a ServiceAccount, a …
Kubernetes Status Subresource and Conditions Explained (KEP-1623)
The status subresource is the API server endpoint controllers use to publish observed state without racing user edits on `.spec`. This guide explains why the split exists, the KEP-1623 Conditions standard (Ready / …
The Kubernetes Reconcile Loop Explained: From API Event to Reconcile()
Learn how the Kubernetes reconcile loop works from API watch to informer cache, workqueue, and Reconcile(). Covers level-triggered control, Result return paths, requeue behavior, idempotency, concurrency, and hot loop …
Kubernetes Operator Capability Levels I–V: The Operator Maturity Model
Red Hat's five operator capability levels - Basic Install, Seamless Upgrades, Full Lifecycle, Deep Insights, Auto Pilot - are the maturity scale used by OperatorHub and OLM. This guide explains what each level means, …
Kubernetes Operator Design Patterns: Singleton, Capability, Lifecycle, Auto-Pilot
Kubernetes Operators are not one shape - six distinct design patterns cover the entire range of production deployments: Singleton, Capability, Lifecycle, Auto-Pilot / Auto-Tune, Sidecar-Injecting, and GitOps-Controlled. …
Mutating and Validating Admission Webhooks in Operators
A complete guide to admission webhooks for Kubernetes operators: the difference between mutating and validating, the webhook lifecycle inside the API server, how kubebuilder scaffolds …
Kubernetes Finalizers: Two-Phase Deletion, Cleanup Patterns, and Stuck Objects
A Kubernetes finalizer is a string on `metadata.finalizers` that tells the API server to keep an object alive (with `deletionTimestamp` set) until your controller has finished cleanup and removed the string. This …
Helm-Based Operator vs Flux vs Argo CD: Which to Use
Three tools install Helm charts on a Kubernetes cluster: a Helm-based operator (per-CR Helm install), Flux's HelmRelease (HelmRelease CR + per-source reconciler), and Argo CD's Application (Application CR + sync engine). …
Drift Detection Patterns in Kubernetes Operators: Periodic Resync vs Spec Diffing
A Kubernetes operator detects drift in four layered ways: watch-based reconciliation, periodic resync with SyncPeriod, three-way spec diffing with client.Patch or Server-Side Apply, and external polling for resources …
Desired State vs Actual State in Kubernetes: The Level-Triggered Model
In Kubernetes, the desired state is what you declared in `.spec`, the actual state is what currently exists in the cluster, and the controller's job is to continuously reconcile the two. This guide explains why …
Helm Hybrid Operator Tutorial Part 1 of 2 - Build the Foundation (Go + Helm v4 SDK)
A Helm hybrid operator is a Go operator whose Reconcile calls the Helm SDK (v4) directly - the pre-built helm-operator, written by you, with full control. Part 1 of 2 walks the foundation: scaffold with operator-sdk init …
Helm Hybrid Operator Tutorial Part 2 of 2 - Custom Status, Finalizer, Drift, Cross-CR
Part 2 of the Helm hybrid operator tutorial: the features the pre-built helm-operator binary cannot provide, written in roughly 200 lines of Go on top of the foundation built in Part 1. Custom status fields including a …
Helm-Based Operator Tutorial Part 1 - Build the Operator (Chart, CRD, watches.yaml)
A Helm-based operator wraps a Helm chart as a Kubernetes operator without you writing any Go code. The Operator SDK ships a generic reconciler that watches a CR, maps its `.spec` to Helm values, and runs `helm install` / …
Owner References and Garbage Collection in Kubernetes Operators
A complete guide to owner references and Kubernetes garbage collection for operators: the contract between an owner and its dependents, the difference between `SetControllerReference` and `SetOwnerReference`, three …
Install Operator-SDK on Linux: Complete Setup Guide (Go, kubectl, Helm 4, kind, ttl.sh registry)
A complete step-by-step guide to installing Operator-SDK on Linux (Ubuntu, RHEL, Fedora, Debian), including the prerequisite toolchain (Go 1.22+, kubectl, container runtime, Helm 4 CLI, kind), the three Operator-SDK …
Kubernetes Operator vs Controller vs CRD: What's the Difference?
A Custom Resource Definition (CRD) is the API contract, a Controller is the reconciler that watches and acts on it, and an Operator is the combination of a CRD plus a controller plus domain-specific knowledge about a …
What is a Kubernetes Operator?
A Kubernetes Operator is a custom controller paired with a Custom Resource Definition (CRD) that automates the day-2 operations of a complex application - install, upgrade, backup, failover, scaling - by continuously …
AWS Tutorial for Beginners - End-to-End Cloud Hands-On
Free, hands-on AWS tutorial covering CLI, EC2, S3, RDS, Lambda, DynamoDB, CloudFormation, CDK, Application Load Balancer, Elastic Beanstalk, CI/CD, and Amplify. 25+ production-tested lessons.
Ethical Hacking & Penetration Testing Tutorial (Hands-On)
Free, hands-on ethical hacking and penetration testing tutorial - lab setup, reconnaissance, password cracking, phishing, web/mobile pentesting, MITM attacks, and exploitation frameworks. 80+ practical lessons.
Git & GitHub Tutorial for Beginners (with examples)
Free, hands-on Git and GitHub tutorial that walks you from `git init` to advanced rebase, stash, and history rewriting in 14 chapters. 60+ examples tested on Linux, macOS, and Windows.
Laravel Tutorial for Beginners (Step by Step)
Free, hands-on Laravel tutorial - install, routes, Eloquent ORM, Blade templates, authentication, Sanctum/Passport, validation, file storage, queues, mail, and production deployment. 40+ tested lessons.
Microsoft Azure Tutorial for Beginners (Hands-On)
Free, hands-on Microsoft Azure tutorial covering App Service, AKS, Blob Storage, Backup, VPN, ARM Templates, Logic Apps, Cosmos DB, and Azure AD. 30+ production-tested lessons.
Node.js Tutorial for Beginners (Hands-On)
Free, hands-on Node.js tutorial - installation, REPL, file system, child processes, Express, MongoDB, authentication, error handling, debugging, and HTTPS. 35+ runnable lessons.
OpenSSL & PKI Certificates Tutorial for Beginners
Complete OpenSSL and PKI tutorial - generate keys, build a Certificate Authority, issue SAN and ECC certificates, configure mTLS, renew and revoke certificates. 24 hands-on lessons tested on Linux.
Pandas Tutorial for Data Analysis (with examples)
Free, hands-on Pandas tutorial - DataFrame fundamentals, reading and writing CSVs, selecting, filtering, joining, grouping, reshaping, and visualizing data. 30+ examples tested on Python 3.11 + pandas 2.x.
Wireshark Tutorial for Network Analysis & Troubleshooting
Free, hands-on Wireshark tutorial covering capture, filters, decryption, TCP/UDP analysis, TLS/IPsec inspection, and real-world troubleshooting. 35+ packet-level examples with sample .pcap files included.
Ansible Tutorial for Beginners [RHCE EX294 Exam]
Free, hands-on Ansible tutorial for beginners that takes you from zero to RHCE EX294. Lab setup, playbooks, roles, vaults, AWS provisioning - 27 lessons across 8 chapters, every example tested on RHEL 8+.
SQL Tutorial for Beginners (Hands-On with Real Examples)
Free, complete SQL tutorial - SELECT, INSERT, UPDATE, DELETE, all JOIN types, GROUP BY, aggregate and window functions, constraints, stored procedures, transactions, and date/time/string functions. 85+ runnable lessons …

