Skip to content
tezvyn:

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

83 bites

Test yourself: Top 30 advanced Docker & Kubernetes interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Advanced everything in Docker & Kubernetes, page 4

Kubernetes Volume Snapshots: A Save Point for Data
advanced2 min read

Kubernetes Volume Snapshots: A Save Point for Data

A Volume Snapshot is a point-in-time copy of your persistent data in Kubernetes, like a game save. Use it to back up a database before an upgrade or clone a prod environment. The footgun: it's not a true backup; a storage failure can lose both.

advanced2 min read

Container Storage Interface (CSI): The Universal Adapter for K8s Storage

CSI is a universal adapter for storage in Kubernetes, letting any storage system speak a common language. This allows providers to create plugins for their systems without touching core Kubernetes code.

advanced2 min read

Sealed Secrets: Safely Commit K8s Secrets to Git

Sealed Secrets lets you commit encrypted Kubernetes secrets to a public Git repo. In a GitOps workflow, this allows all configuration to live in version control. The footgun: a SealedSecret is a one-way street; only the target cluster can decrypt it.

advanced2 min read

External Secrets Operator: Sync Secrets into Kubernetes

Treat your cloud's secret manager as the source of truth. The External Secrets Operator (ESO) fetches secrets from external APIs like AWS Secrets Manager or Vault and injects them into native Kubernetes Secrets, keeping them in sync.

kube-proxy: The Plumber for Kubernetes Services
advanced2 min read

kube-proxy: The Plumber for Kubernetes Services

kube-proxy is the network plumber on each node, making Kubernetes Services work. It translates a Service's virtual IP into routes to real pods using iptables or IPVS. The name is a footgun: it's a Layer 4 packet forwarder, not a Layer 7 application proxy.

Kubernetes NetworkPolicy: A Firewall for Pods
advanced2 min read

Kubernetes NetworkPolicy: A Firewall for Pods

NetworkPolicy is a firewall for pods, locking down traffic in a cluster where everything can talk to everything by default. Use it to isolate services, like preventing a web frontend from directly accessing a database.

Pod Affinity: Grouping or Separating Your Pods
advanced2 min read

Pod Affinity: Grouping or Separating Your Pods

Pod affinity tells Kubernetes to place pods together for performance or apart for high availability. Use it to co-locate a web server and cache for low latency, or spread database replicas across nodes to prevent a single point of failure.

Pod Disruption Budgets: Stop Upgrades From Killing Your App
advanced2 min read

Pod Disruption Budgets: Stop Upgrades From Killing Your App

A Pod Disruption Budget (PDB) is a contract with Kubernetes to maintain minimum availability. It limits how many pods can be voluntarily terminated at once during node drains or cluster upgrades, preventing self-inflicted outages.

kube-controller-manager: The Cluster's Reconciliation Engine
advanced2 min read

kube-controller-manager: The Cluster's Reconciliation Engine

The kube-controller-manager is Kubernetes' reconciliation engine, running multiple control loops to make the cluster's actual state match your desired state. It handles tasks like ensuring a Deployment has the correct pod count.

kube-scheduler: The Cluster's Matchmaker
advanced2 min read

kube-scheduler: The Cluster's Matchmaker

The kube-scheduler is your cluster's matchmaker, assigning new Pods to the best possible Node based on their needs. This is the default workload placement engine. The footgun is thinking it runs Pods; it only *assigns* them to a Node.

Kubernetes Controllers: The Reconciliation Loop
advanced2 min read

Kubernetes Controllers: The Reconciliation Loop

A Kubernetes controller acts like a thermostat for your cluster, constantly working to make the actual state match your desired state. It's the engine behind Deployments and ReplicaSets, ensuring the right number of pods are always running.

Container Image Signing: Verifying What You Run
advanced2 min read

Container Image Signing: Verifying What You Run

Think of image signing as a digital "tamper-evident seal" on your containers. It proves who built an image and that it hasn't been altered. This is crucial for production systems to prevent running malicious code.

advanced2 min read

Harbor: A Private, Secure Artifact Registry

Think of Harbor as a private Docker Hub with built-in security. Use it to scan images for vulnerabilities, enforce role-based access control, and sign artifacts before deploying to Kubernetes.

advanced1 min read

OCI Image Manifest: The Recipe for a Container Image

An OCI Image Manifest is the recipe for a single container image, listing its configuration and filesystem layers for one specific architecture. It's what a runtime uses to assemble an image like ubuntu:22.04 on your linux/amd64 machine.

advanced2 min read

Docker Compose Secrets: Keep Credentials Out of Your Code

Docker Compose Secrets inject sensitive data into containers as files at runtime, keeping credentials out of your version-controlled docker-compose.yml. Use them for API keys and passwords. The footgun: your app must read from a file, not an env var.

advanced2 min read

Extending Compose Files for Different Environments

Think of extending Compose files like CSS for your services; a base file defines the structure, and override files style it for different environments. This is used to manage settings like local code mounts for dev vs. restart policies for prod.

advanced2 min read

Docker Compose Profiles: Activate Service Groups

Docker Compose profiles let you toggle groups of services on or off within a single compose.yaml file. Use it to separate your core app from debugging utilities or to define a "local dev" setup versus a "CI" setup.

advanced2 min read

Docker Image Scanning: A Background Check for Your Code

Docker image scanning is a background check for your software dependencies, checking packages against known vulnerability lists (CVEs). It's used in CI/CD to block vulnerable builds and in registries for continuous monitoring.

advanced2 min read

Docker Multi-stage Builds: Slimmer, Faster Images

Treat your Dockerfile like a pipeline: build your app in one stage with all its tools, then copy only the final artifact to a clean production stage. This keeps images small by excluding build-time dependencies.

advanced2 min read

seccomp: A Kernel-Level Allowlist for Syscalls

seccomp is a Linux kernel firewall for system calls (syscalls), restricting which operations a process can request. Docker and Kubernetes use it to harden containers against exploits. The footgun is creating a custom profile so restrictive it breaks your app.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles