Skip to content
tezvyn:

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

134 bites

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

Intermediate everything in Docker & Kubernetes, page 6

Pod Security Context: Set Security Rules for Pods
intermediate2 min read

Pod Security Context: Set Security Rules for Pods

A Pod Security Context defines security settings for all containers in a Pod, like setting permissions for a user group before adding users. Use it to enforce non-root execution or manage shared volume permissions.

Kubernetes LimitRange: Setting Guardrails for Pod Resources
intermediate2 min read

Kubernetes LimitRange: Setting Guardrails for Pod Resources

LimitRange acts like a bouncer for Pod resources, setting min/max CPU and memory rules for each Pod in a namespace. It's used to prevent resource hogging and apply sensible defaults.

Node Affinity: Tell Your Pods Where to Go
intermediate2 min read

Node Affinity: Tell Your Pods Where to Go

Node affinity is like giving pods a 'preferred seating' list for nodes. You guide the scheduler to nodes with specific labels, like those with GPUs or in a certain zone. The footgun is confusing 'required' (a hard rule) with 'preferred' (a suggestion).

Kubernetes Taints and Tolerations: Repelling Pods
intermediate2 min read

Kubernetes Taints and Tolerations: Repelling Pods

Taints act like 'No Trespassing' signs on Kubernetes nodes, repelling pods. Tolerations are the keys that let specific pods ignore those signs. Use this to reserve nodes for special hardware or critical workloads, preventing general pods from landing there.

Dynamic Volume Provisioning: Storage on Demand
intermediate2 min read

Dynamic Volume Provisioning: Storage on Demand

Dynamic Volume Provisioning lets you request storage by its type (e.g., "fast-ssd") instead of pre-provisioning a disk. Kubernetes automatically creates a matching volume. This is standard for stateful apps.

Kubernetes StorageClass: A Menu for Your Data
intermediate2 min read

Kubernetes StorageClass: A Menu for Your Data

A StorageClass is an admin-defined 'menu' of storage options, abstracting the provider. Developers request storage by name (e.g., 'fast-ssd') via a PersistentVolumeClaim, and Kubernetes dynamically provisions it.

Kubernetes ServiceAccounts: Identity for Pods
intermediate2 min read

Kubernetes ServiceAccounts: Identity for Pods

A ServiceAccount is an ID badge for a Pod, letting it securely talk to the Kubernetes API. It's used when your app needs to list other Pods or read Secrets.

Kustomize: Template-Free Kubernetes Configuration
intermediate1 min read

Kustomize: Template-Free Kubernetes Configuration

Kustomize is a patch tool for Kubernetes YAML, letting you manage environment-specific configurations without complex templates. Use it to define a base config and apply overlays for dev, staging, and prod. The footgun is treating it like a templating engine.

intermediate2 min read

Immutable Secrets & ConfigMaps: Write-Once Configuration

Treat your Kubernetes configuration like a container image: create it once, then create a new version to update it. The immutable flag enforces this "write-once" pattern for Secrets and ConfigMaps, reducing API server load and preventing accidental updates.

The Kubernetes Downward API: Pod Self-Awareness
intermediate2 min read

The Kubernetes Downward API: Pod Self-Awareness

The Downward API gives a container self-awareness, injecting Pod metadata like its name or IP address as environment variables or files. Use it so apps can self-configure without calling the main K8s API.

Projected Volumes: Mount Config as Live Files
intermediate2 min read

Projected Volumes: Mount Config as Live Files

A projected volume mounts ConfigMaps and Secrets as files inside your Pod, which update automatically when the source object changes. Use this for apps that can hot-reload config, avoiding restarts. The footgun: updates aren't instant; there's a delay.

Kubernetes LoadBalancer: Your App's Public Entry Point
intermediate2 min read

Kubernetes LoadBalancer: Your App's Public Entry Point

A Kubernetes LoadBalancer Service automatically provisions a cloud provider's load balancer to expose your app externally. It's the simplest way to get a public IP, but creating one per service is expensive and inflexible. Use an Ingress for more control.

Ingress Controller: Your Cluster's Smart Reverse Proxy
intermediate2 min read

Ingress Controller: Your Cluster's Smart Reverse Proxy

An Ingress Controller is the traffic cop for your Kubernetes cluster, directing external HTTP/S requests to the correct internal services. It exposes multiple services under a single IP, handling host and path routing.

Kubernetes Ingress: The Cluster's Smart Receptionist
intermediate2 min read

Kubernetes Ingress: The Cluster's Smart Receptionist

Ingress acts as a smart receptionist for your cluster, routing external HTTP/S traffic to internal services based on host or path. This lets you expose many apps with one load balancer.

Kubernetes CronJob: Scheduled Tasks in Your Cluster
intermediate2 min read

Kubernetes CronJob: Scheduled Tasks in Your Cluster

A Kubernetes CronJob is like a recurring alarm for your cluster. It automatically runs tasks like backups or reports on a schedule, creating a new Job for each run. The main footgun is concurrency: by default, jobs can overlap if one runs too long.

Init Containers: Setup Tasks Before Your Main App Runs
intermediate2 min read

Init Containers: Setup Tasks Before Your Main App Runs

Init containers are setup tasks that run to completion before your main application starts. Use them to wait for dependencies, fetch configs, or run database migrations.

Kubernetes Probes: Liveness, Readiness, and Startup
intermediate2 min read

Kubernetes Probes: Liveness, Readiness, and Startup

Kubernetes probes ask your app about its health. Liveness asks 'are you alive?' (restart if not), readiness asks 'can you take work?' (pause traffic if not), and startup protects slow-starting apps. This is key for self-healing and zero-downtime deployments.

Kubelet: The Node Agent of Kubernetes
intermediate2 min read

Kubelet: The Node Agent of Kubernetes

The kubelet is the primary agent on each Kubernetes node, ensuring containers described in PodSpecs are running and healthy. It watches the API server for work and reports status back. The footgun is trying to manage it directly; always use the API server.

etcd: Kubernetes's Single Source of Truth
intermediate2 min read

etcd: Kubernetes's Single Source of Truth

etcd is the distributed key-value store that acts as the brain for a Kubernetes cluster, storing its entire configuration and state. The API server uses it to persist all objects, from Pods to Secrets.

intermediate2 min read

Docker Registry Mirror: A Local Cache for Faster Pulls

A registry mirror is like a CDN for Docker images, caching public images on your local network to speed up pulls and avoid rate limits. Use it in CI/CD pipelines to reduce build times. The footgun: you can't docker push to a mirror; it's a.

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