Skip to content
tezvyn:
Menu

Docker & Kubernetes

Containers, Helm, orchestration, service mesh

298 bites

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

Everything in Docker & Kubernetes, page 9

Pod Topology Spread: Spreading Pods for High Availability
intermediate2 min read

Pod Topology Spread: Spreading Pods for High Availability

Pod Topology Spread Constraints prevent putting all your pods in one basket. They instruct the scheduler to distribute a service's pods evenly across nodes or zones, improving availability. The main footgun is that it's a soft preference by default.

CSI Volume Cloning: `cp` for Kubernetes Volumes
intermediate2 min read

CSI Volume Cloning: `cp` for Kubernetes Volumes

Think of volume cloning as cp for your Kubernetes data. It creates a new, independent volume pre-populated with data from an existing one, offloading the copy operation to your storage provider.

Kubernetes Secrets: Encrypting Data at Rest
intermediate2 min read

Kubernetes Secrets: Encrypting Data at Rest

By default, Kubernetes Secrets are only base64-encoded, not encrypted. Encryption at rest makes the API server encrypt Secret data before saving to etcd, protecting against compromised backups.

intermediate2 min read

Kubernetes Gateway API: The Successor to Ingress

The Gateway API replaces Kubernetes Ingress with a role-oriented model, separating infrastructure from application routing. Use it when different teams need to manage their own traffic rules.

kube-apiserver: The Front Door to Your Kubernetes Cluster
intermediate2 min read

kube-apiserver: The Front Door to Your Kubernetes Cluster

The kube-apiserver is the front door to your Kubernetes control plane. All requests to query or modify the cluster's state must pass through it, from kubectl commands to automated controller actions. The footgun is bypassing it to modify etcd directly.

Kubernetes' Declarative Model: Desired vs. Actual State
intermediate2 min read

Kubernetes' Declarative Model: Desired vs. Actual State

The declarative model is like telling Kubernetes your destination, not giving it turn-by-turn directions. You define the desired state in a file, and Kubernetes works to make it a reality. This enables self-healing and GitOps.

intermediate2 min read

Private Container Registry: Own Your Image Pipeline

A private container registry is your own personal Docker Hub, giving you full control over image storage and access. It's crucial for secure, in-house CI/CD pipelines.

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.

Retry and Timeout Policies: Handling Network Flakes
intermediate2 min read

Retry and Timeout Policies: Handling Network Flakes

Retries and timeouts are automated patience for network requests. Instead of failing on a glitch, a service waits (timeout) and tries again (retry). This is key for microservice resilience, but beware of "retry storms" that can amplify failures.

Service Mesh Authorization: A Bouncer for Your Microservices
intermediate2 min read

Service Mesh Authorization: A Bouncer for Your Microservices

A service mesh authorization policy is a bouncer for your microservices. It moves access control from your app to the mesh, checking service identity and request details like HTTP method and path. Use it for fine-grained, Zero Trust security.

Content-Based Routing: Directing Traffic by Request Details
intermediate2 min read

Content-Based Routing: Directing Traffic by Request Details

Content-based routing is a smart traffic cop for your services. It inspects request headers or URIs to direct traffic, enabling canary releases or A/B tests. The footgun is rule order: a broad rule placed first can shadow specific rules below it.

Traffic Splitting: Route Live Traffic Between Service Versions
intermediate2 min read

Traffic Splitting: Route Live Traffic Between Service Versions

Traffic splitting directs percentages of live user traffic to different versions of a service. It's key for canary releases, letting you test new code on a small user group before a full rollout.

Mutual TLS (mTLS): When Services Need to Trust Each Other
intermediate2 min read

Mutual TLS (mTLS): When Services Need to Trust Each Other

mTLS is a two-way ID check for services. Both parties exchange certificates to prove their identity before communicating. Service meshes like Istio use it to secure traffic between microservices.

intermediate2 min read

SPIFFE: Cryptographic Identity for Services

SPIFFE gives every service a cryptographic passport instead of a static secret. It's used in zero-trust networks for services to authenticate each other, like in a Kubernetes service mesh.

Service Mesh Ingress: The Doorkeeper for Your Mesh
easy2 min read

Service Mesh Ingress: The Doorkeeper for Your Mesh

A Service Mesh Ingress Gateway is the dedicated entry point for external traffic into your mesh. It lets you apply advanced routing, security, and observability policies at the boundary, like TLS termination or traffic splitting.

The Sidecar Pattern: Your App's Helper Container
easy2 min read

The Sidecar Pattern: Your App's Helper Container

The Sidecar pattern attaches a helper container to your main application, like a sidecar on a motorcycle. It handles peripheral tasks like logging or networking, letting you add features without changing the app's code.

easy2 min read

Control Plane vs. Data Plane: The Brain and the Brawn

Think of a system as having a brain and a body. The Control Plane is the brain, making decisions and setting rules. The Data Plane is the body, executing those rules on actual data or traffic, like in a service mesh's network of proxies.

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.

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