Kubernetes
293 bites tagged Kubernetes — interview questions with model answers, and 60-second explainers.
Kubernetes Control Plane: The Cluster's Brain
The Kubernetes control plane is the cluster's brain, making all global decisions like scheduling pods and responding to events. You interact with it via `kubectl` to manage your applications. The footgun: never run your own workloads on control plane nodes.
Rolling Updates: Deploying Code Without Downtime
A rolling update deploys new code by gradually replacing old application instances with new ones, ensuring zero downtime. It's the default for stateless services in orchestrators like Kubernetes.
Argo CD: Git as the Source of Truth for Kubernetes
Argo CD makes your Git repo the single source of truth for your Kubernetes cluster's state. It constantly monitors your cluster and compares it to your desired state in Git, flagging any differences.
Configuration Hydration: From Template to Manifest
Configuration hydration turns templates like Helm charts into final Kubernetes manifests. This lets you see the exact YAML diff in a PR, not just a variable change. The footgun is that this adds a build step which, if broken, blocks all deployments.
Crossplane: The Kubernetes Control Plane for Infrastructure
Crossplane turns your Kubernetes cluster into a universal control plane for all your cloud infrastructure, not just containers. Use it to let developers provision cloud resources like databases using familiar `kubectl` commands.
Argo AnalysisTemplates: Reusable Health Checks for Deployments
An AnalysisTemplate is a reusable recipe for judging a deployment's health. During a canary rollout, Argo uses it to query metrics like error rates to decide whether to promote or roll back the new version.
Argo CD ApplicationSet: Manage Many Applications as One
Think of an ApplicationSet as a factory for Argo CD Applications. It uses a template and generators to automatically create apps for many clusters or services in a monorepo.
Argo CD Image Updater: Automate Image Updates
An Image Updater automates deployments by watching for new container image versions and telling Argo CD to update your app. It's used to automatically roll out new builds, but misconfiguring update strategies can accidentally deploy unstable tags to…
Flagger: Progressive Delivery for Kubernetes
Flagger is an automated traffic cop for Kubernetes releases. It gradually shifts traffic to new versions while monitoring metrics, enabling safe canary or blue/green deployments with service meshes or ingress controllers.
Flux HelmRelease: Declarative Helm Charts in Git
A Flux `HelmRelease` is like putting your `helm install` command into a YAML file and checking it into Git. It lets you declaratively manage Helm charts for any application via GitOps.
Argo Rollouts: Beyond Kubernetes Rolling Updates
Argo Rollouts replaces Kubernetes' basic `RollingUpdate` with safer, controlled strategies like canary and blue-green. It gradually shifts traffic to new versions while monitoring metrics, automating rollbacks if KPIs degrade.
App of Apps Pattern: Manage Application Fleets, Not Individuals
The App of Apps pattern uses a single parent Argo CD application to declaratively manage a fleet of child applications. This is ideal for bootstrapping entire environments from one Git repo.
The GitOps Reconciliation Loop
Think of it as a thermostat for your infrastructure. A GitOps agent continuously compares your live system's state against the desired state in Git. If it detects drift, it automatically corrects it.
Flux CD: Git as the Source of Truth for Kubernetes
Flux CD makes Git your cluster's source of truth. It automatically syncs Kubernetes manifests from a repo to your cluster, ensuring the live state matches your config. This is for continuous delivery, not CI.
Kustomize: Template-Free Kubernetes Configs
Kustomize manages environment-specific Kubernetes configs by layering patches on a base YAML, avoiding complex templating. Use it to tweak deployments for dev, staging, or prod. The footgun: the `kubectl` version can lag, causing unexpected behavior.
Kubernetes Health Checks: Liveness, Readiness, and Startup Probes
Kubernetes health checks ask your app: "Are you alive?" (liveness), "Ready for traffic?" (readiness), and "Done starting?" (startup). This lets it automate restarts and traffic routing for zero-downtime deployments.
Kubernetes Operators: SREs in a Box
Think of an Operator as an automated site reliability engineer for your app, encoding human knowledge into software. It's used to manage complex stateful applications like databases, automating tasks like backups and upgrades.
CNI: The Universal Plug for Container Networking
CNI is the standard API that decouples container runtimes from network implementations. In Kubernetes, it lets you swap networking plugins like Calico or Flannel.
Kubernetes StatefulSets: Stable Identity for Pods
A StatefulSet gives pods a stable, unique identity and persistent storage, unlike a Deployment's interchangeable replicas. Use it for clustered databases or queues where members need stable network names.
Kubernetes Ingress: The Cluster's Front Door
Kubernetes Ingress is the smart receptionist for your cluster. It routes external HTTP/S requests to internal services based on hostnames or paths, letting you expose multiple apps under one IP.
Helm: The Package Manager for Kubernetes
Helm is the package manager for Kubernetes. It uses a packaging format called Charts to define, install, and upgrade applications, making it the standard way to manage software on a K8s cluster. It is a Cloud Native Computing Foundation (CNCF) project.
Kubernetes Service: A Stable Address for Ephemeral Pods
A Kubernetes Service provides a stable IP address and DNS name for a group of ephemeral Pods. It acts like a load balancer, distributing traffic so you don't have to track individual Pod IPs, which can change at any time.
Kubernetes Deployment: Declarative App Updates
A Kubernetes Deployment is your app's blueprint. You declare the desired state—like '3 replicas of image v2'—and Kubernetes makes it happen. It's the standard for stateless apps like APIs. The footgun: don't manage Pods directly; manage the Deployment.
Kubernetes Pods: The Atomic Unit of Deployment
A Kubernetes Pod is the atomic unit of deployment, a logical host for containers sharing a network and storage. This is ideal for co-locating a main app with a helper "sidecar" container. The footgun: a Pod is not a container; you scale by adding more.
Get Kubernetes bites daily.
Five a day, five minutes, offline. With quizzes so it sticks.
Open testing — you’ll join as an early tester.