Skip to content
tezvyn:

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

66 bites

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

Intermediate concepts in Docker & Kubernetes, page 2

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.

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.

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 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.

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.

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.

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.

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.

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.

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.

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 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.

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 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.

ResourceQuota: Namespace Resource Budgets
intermediate2 min read

ResourceQuota: Namespace Resource Budgets

ResourceQuota is a namespace budget: it rejects pods once total requests hit the cap. Use it to keep multi-tenant clusters fair. The footgun: it counts requested resources, not real usage, and pods missing requests may be rejected without LimitRange defaults.

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.

Pod Security Standards: A Security Checklist for Pods
intermediate1 min read

Pod Security Standards: A Security Checklist for Pods

Pod Security Standards are a built-in security checklist for your pods. You apply a level (Restricted, Baseline, Privileged) to a namespace to prevent risky configurations like running as root.

Pod Security Admission: Kubernetes' Built-in Guardrails
intermediate2 min read

Pod Security Admission: Kubernetes' Built-in Guardrails

Think of Pod Security Admission (PSA) as a bouncer for your namespaces, enforcing security rules before pods can run. It applies security standards (Privileged, Baseline, Restricted) via simple labels.

Kubernetes Admission Controllers: The API's Gatekeepers
intermediate2 min read

Kubernetes Admission Controllers: The API's Gatekeepers

Think of admission controllers as bouncers for your Kubernetes API. They intercept requests before objects are saved, enforcing custom policies like security rules or required labels. The footgun: a broken controller can block all changes to your cluster.

intermediate2 min read

Kubernetes Metrics Server: The Engine for Autoscaling

Metrics Server is the dedicated speedometer for your cluster's pods, feeding CPU and memory usage to Kubernetes's autoscalers. It powers the Horizontal and Vertical Pod Autoscalers and the kubectl top command. The footgun: it's *only* for autoscaling.

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