Skip to content
tezvyn:

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

148 bites

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

Concepts in Docker & Kubernetes, page 5

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.

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 Priority: Deciding Who Gets Evicted in Kubernetes
advanced2 min read

Pod Priority: Deciding Who Gets Evicted in Kubernetes

Pod Priority is a VIP pass for your critical workloads, telling the scheduler which pods can bump others off a node. This ensures system-critical services run even on a full cluster. The footgun: high-priority pods can cause cascading evictions if not planned.

Kubernetes CPU Management: Static vs. None Policy
advanced2 min read

Kubernetes CPU Management: Static vs. None Policy

K8s CPU policies control if your pod gets a dedicated CPU core or just a time-slice of a shared one. The default none policy maximizes utilization, while static gives exclusive cores to latency-sensitive apps.

Kubernetes Scheduler Framework: A Plugin System for Pod Placement
advanced2 min read

Kubernetes Scheduler Framework: A Plugin System for Pod Placement

The Kubernetes Scheduler Framework is a plugin pipeline for pod placement. Use it to add custom logic—like co-scheduling ML jobs or avoiding specific nodes—without forking Kubernetes. The footgun: a slow plugin can bottleneck your entire cluster's scheduling.

Kubernetes RBAC: Roles vs. ClusterRoles
easy2 min read

Kubernetes RBAC: Roles vs. ClusterRoles

Think of Kubernetes RBAC Roles as permissions for a single room (a Namespace), while ClusterRoles grant access to the entire building (the cluster). Use Roles for namespaced apps and ClusterRoles for admin tasks.

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.

K8s Authentication: Proving Who You Are to the API Server
advanced2 min read

K8s Authentication: Proving Who You Are to the API Server

The K8s API Server is a vault door; authentication is proving your identity to the guard. It tries a chain of methods—like OIDC for users or tokens for pods—until one succeeds. The footgun: unauthenticated requests become system:anonymous, a major risk.

Kubernetes API Server Authorization Modules
advanced2 min read

Kubernetes API Server Authorization Modules

Kubernetes API server authorization is like a chain of security guards. A request must get a "yes" from at least one configured module (like RBAC) to pass. This is fundamental to securing any cluster. The footgun is that the chain stops at the first "allow."

Kubernetes Audit Logging: Your Cluster's Black Box Recorder
advanced2 min read

Kubernetes Audit Logging: Your Cluster's Black Box Recorder

Kubernetes audit logging is the security camera for your API server, recording every API call to answer "who did what, and when?". It's essential for security forensics and compliance, but a common footgun is using a weak default or logging everything.

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.

The Three Pillars of Observability
easy2 min read

The Three Pillars of Observability

Observability isn't one tool; it's a three-legged stool of metrics, logs, and traces. Metrics give the 'what' (CPU is high), logs the 'why' (an error loop), and traces the 'where' (which service is slow). The footgun is treating them as separate silos.

easy2 min read

Kubernetes Events: The Cluster's Short-Term Memory

Think of Kubernetes Events as a cluster's temporary log, recording state changes like a Pod starting or a container failing. Use them with kubectl describe to debug issues in real-time.

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