Skip to content
tezvyn:

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

144 bites

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

Interview questions in Docker & Kubernetes, page 6

easy1 min read

kube-state-metrics versus node-exporter

Kube-state-metrics exposes API object state (deployment replicas, pod phase, restarts) from the control plane, while node-exporter exposes OS-level hardware metrics (CPU, memory, disk) per…

intermediate1 min read

Auto-discovering app pods for Prometheus scraping

Use kubernetes_sd_configs with role pod, relabel on pod annotations like prometheus.io/scrape to filter, and set path and port; with the Operator use a PodMonitor or ServiceMonitor.

intermediate1 min read

EFK centralized logging architecture

Fluentd runs as a DaemonSet collecting node container logs, parses and forwards to Elasticsearch for indexed storage, and Kibana queries and visualizes them.

intermediate1 min read

PromQL for top 5 CPU-consuming pods

Apply rate() to the counter over 15m, sum by pod to combine containers, then wrap in topk(5); rate handles counter resets.

intermediate1 min read

Alerting on under-replicated Deployments

Write an alerting rule comparing kube_state_metrics available vs desired replicas with for: 5m, Prometheus evaluates and fires to Alertmanager, which dedupes/routes/notifies.

intermediate1 min read

What is distributed tracing in microservices?

A trace is a tree of spans tied by trace and span IDs, propagated via headers like W3C traceparent.

advanced1 min read

Diagnose a Prometheus cardinality explosion

Find offenders via TSDB stats and topk count by __name__, identify unbounded labels, then drop or aggregate them with relabeling.

advanced1 min read

Head-based vs tail-based trace sampling

Head decides up front (cheap, may miss rare errors); tail decides after the trace completes (catches errors and slow traces but needs buffering).

easy1 min read

What is a Helm chart?

A chart is a templated, versioned bundle of manifests with a values file; it solves config duplication and reuse across environments.

easy1 min read

What is the basic principle of GitOps?

Git holds desired state; a controller continuously reconciles the cluster to match it; benefits are auditability, rollback, and drift correction.

easy1 min read

Override Helm values at install time

Pass custom files with -f or --values, single keys with --set, and know precedence: defaults, then files, then --set.

intermediate1 min read

Helm upgrade and rollback workflow

Helm upgrade creates a new revision; helm history lists revisions; helm rollback reverts to a prior one; --atomic auto-rolls-back on failure.

intermediate1 min read

How GitOps controllers detect drift and sync

The controller renders desired manifests from Git, diffs them against live cluster objects, marks OutOfSync, then a sync applies the diff to converge.

intermediate1 min read

Managing secrets in a GitOps workflow

Never commit plaintext; encrypt with Sealed Secrets or SOPS, or reference an external store via External Secrets Operator.

intermediate1 min read

Argo CD App of Apps pattern

A parent Application whose manifests are themselves Application resources, so syncing one app declaratively manages many.

advanced1 min read

GitOps repo layout for environment promotion

Shared base plus per-env overlays via Kustomize or value files, promotion by PR moving a pinned version forward, separating app source from config repos.

advanced1 min read

Helm migration hooks under GitOps

Use a pre-upgrade hook Job with weights and delete policy; the challenge is GitOps tools render statically and reconcile, conflicting with Helm's imperative hook lifecycle.

easy1 min read

What is a Custom Resource Definition?

A CRD registers a new resource kind so the API server stores and serves it like built-ins; it lets you model domain concepts declaratively.

easy1 min read

Core components of a Kubernetes Operator

A CRD defines the type, a controller watches instances via the API server and runs a reconcile loop, encoding operational knowledge to drive real state.

easy1 min read

Creating an instance of a custom resource

Write a manifest with apiVersion (group/version), kind, metadata.name, and a spec matching the CRD schema, then kubectl apply -f it.

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