More in Docker & Kubernetes — page 9
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
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
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
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
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
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
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
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.
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
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
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.
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
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.
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.

Kubernetes Finalizers: The 'Do Not Delete Yet' Lock
A finalizer is a pre-deletion lock. It tells Kubernetes to block an object's deletion until a controller cleans up external resources, like a cloud database or storage bucket.
Operator SDK: Build Kubernetes Operators Faster
The Operator SDK is a developer toolkit that scaffolds the boilerplate for building, testing, and packaging Kubernetes Operators. Use it to automate complex application lifecycle management, like deploying a database cluster that can self-heal and perform…

kubectl Treats Custom Resources Like Native Ones
`kubectl` interacts with Custom Resources (CRs) using the same commands you know for built-in types like Pods. Once a CRD is installed, you can `kubectl get`, `describe`, and `delete` its objects.

The Operator Pattern: A Robot SRE for Your App
The Operator pattern adds a custom, automated "robot SRE" to your Kubernetes cluster. It encodes human operational knowledge for a specific application, like a database, into software that handles complex tasks like upgrades, backups, and failovers…

Custom Resource Definitions (CRDs): Teach Kubernetes New Tricks
CRDs let you define your own resource types, teaching Kubernetes new nouns like `Database` or `Backup`. This is how operators manage complex apps declaratively. The footgun is that a CRD only defines the API; you still need a controller to act on the objects.
Helm Post-Rendering: Customize Charts Without Forks
Helm post-rendering lets you modify a chart's Kubernetes manifests just before deployment. It's ideal for applying `kustomize` patches or injecting sidecars without forking a public chart.