Skip to content
tezvyn:
Menu

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

89 bites

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

Advanced everything in Docker & Kubernetes, page 3

advanced1 min read

Vulnerability scanning as a deploy gate

Scan with Trivy or Clair, fail the build on high or critical severity above threshold, and enforce again at admission with signing and registry policies.

advanced1 min read

Docker Compose profiles for optional services

Profiles tag services so they stay off by default, activate via --profile or COMPOSE_PROFILES, and unprofiled services always run.

advanced1 min read

Optimizing Dockerfile layer caching

Order instructions least-to-most volatile, copy dependency manifests and install before copying source, and understand any changed layer busts all later layers.

advanced1 min read

Structuring Compose files across environments

A base compose.yaml plus override files, the default override auto-merge, and explicit -f flags or extends per environment.

EndpointSlice: Splitting the Monolithic Endpoints List
advanced2 min read

EndpointSlice: Splitting the Monolithic Endpoints List

EndpointSlice shards a service's pod backends into smaller chunks instead of one massive list. This keeps kube-proxy and DNS fast when services scale to thousands of pods. Do not edit them by hand; the controller owns them and will overwrite your changes.

Pod QoS Classes: Guaranteed, Burstable, BestEffort
advanced2 min read

Pod QoS Classes: Guaranteed, Burstable, BestEffort

Kubernetes QoS classes are eviction priorities, not performance guarantees. Under node pressure, the kubelet kills BestEffort pods first, then Burstable, then Guaranteed. Omitting limits does not grant infinite headroom; it makes your pod die first.

Egress Gateway: Control Your Mesh's Outbound Traffic
advanced2 min read

Egress Gateway: Control Your Mesh's Outbound Traffic

An Egress Gateway is a monitored exit door for all outbound traffic from your service mesh. Use it to enforce security on external calls, like restricting domains or originating mTLS.

Traffic Mirroring: Test in Production, Safely
advanced2 min read

Traffic Mirroring: Test in Production, Safely

Traffic mirroring copies live production requests to a new service without affecting the user's response. It's used to test new code with real traffic before a full rollout. The main footgun is accidentally duplicating writes or other stateful actions.

Kubernetes API Aggregation Layer: Extending the API Server
advanced2 min read

Kubernetes API Aggregation Layer: Extending the API Server

The API Aggregation Layer bolts custom API servers onto the main Kubernetes API, with kube-apiserver acting as a proxy. This powers features like the metrics server (kubectl top) and enables complex extensions.

advanced2 min read

controller-runtime: The Engine for Kubernetes Operators

Think of controller-runtime as the standard library for writing Kubernetes controllers. It handles the boilerplate of watching resources and reconciling state, forming the foundation for tools like Kubebuilder and Operator SDK.

advanced2 min read

Helm Post-Rendering: Customize Charts Without Forks

Helm post-rendering lets you modify a chart's Kubernetes manifests just before deployment. It's ideal for applying kustomize patches or injecting sidecars without forking a public chart.

Flux Image Update Automation: Closing the GitOps Loop
advanced2 min read

Flux Image Update Automation: Closing the GitOps Loop

Flux's image update automation acts like a bot that watches your container registry. It finds new image tags that match your policies (like semver) and automatically commits the change back to your Git repository, triggering a deployment.

advanced2 min read

Argo CD Sync Phases and Waves: Ordering Your Deployments

Argo CD Sync Phases and Waves are a recipe for ordering deployments. Use them for complex apps where a database migration must run pre-sync. The footgun: a single failed resource in a wave halts the entire sync process, making it brittle if overused.

advanced2 min read

Helm Hooks: Running Operations During a Release

Helm Hooks are Kubernetes resources that run at specific moments in a release lifecycle. Use them to run a database migration before an app upgrade or to back up data before a deletion. The footgun: a failing hook Job will block and fail the entire.

advanced2 min read

Helm Subcharts: Composing Applications from Dependencies

Helm subcharts are nested components a parent chart can configure, like a docker-compose for Kubernetes manifests. Use them to bundle dependencies like a database with your app. The footgun: subcharts are sandboxed and cannot access parent values directly.

Service Mesh Observability: Seeing Inside the Black Box
advanced2 min read

Service Mesh Observability: Seeing Inside the Black Box

A service mesh provides observability by intercepting all service-to-service traffic. It automatically generates logs, metrics, and traces, helping you debug distributed systems without changing application code.

advanced2 min read

OpenTelemetry

OpenTelemetry is a CNCF standard for generating, collecting and exporting traces, metrics and logs from your services using one vendor neutral set of APIs and SDKs, so you can switch observability backends without rewriting instrumentation code.

Prometheus Alertmanager: Taming Your Alert Storms
advanced2 min read

Prometheus Alertmanager: Taming Your Alert Storms

Alertmanager is the traffic controller for your Prometheus alerts, turning a potential flood into actionable notifications. It groups, deduplicates, and routes alerts to services like PagerDuty. The footgun: don't load balance traffic to an HA cluster.

PromQL: Querying Time Series Data as Vectors
advanced2 min read

PromQL: Querying Time Series Data as Vectors

PromQL treats metrics as vectors of values over time, letting you slice and aggregate system state. It's used for Grafana dashboards and Alertmanager rules. The footgun: applying rate() to a gauge instead of a counter produces silent, nonsensical results.

Falco: Real-Time Threat Detection for Cloud-Native
advanced2 min read

Falco: Real-Time Threat Detection for Cloud-Native

Falco is a runtime security camera, watching Linux syscalls to detect threats in real time. It's used in Kubernetes to spot abnormal behavior like privilege escalation or writing to /etc. The key is it only *detects* and *alerts*; it doesn't block threats.

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