684 posts tagged with "Self-Hosting"
Running your own PaaS and infrastructure on machines you own
Ingress-NGINX Is Already Retired: An Ingress2Gateway Migration Walkthrough for Self-Hosted Clusters
Ingress-NGINX's retirement isn't a future deadline — it happened in March 2026, and unpatched clusters have been exposed for months since. A concrete ingress2gateway walkthrough against a real annotation set shows exactly what converts automatically and what needs a hand pass.
Istio's Ambient Multicluster Reaches Beta: What Sidecarless Cross-Cluster Mesh Actually Costs a Hetzner-Spanning Cluster API Fleet
Istio 1.29 shipped ambient multicluster support at Beta. Here's the actual latency and control-plane cost of turning it on across a Cluster API fleet spread over Hetzner's separate locations — and the five gaps that keep it from being the default.
Kompose Only Gets You 70-80% of the Way From docker-compose.yml to Kubernetes: Here's the Exact List of What's Missing
A field-by-field inventory of what Kompose v1.38 converts automatically, what it only converts if you add non-standard labels, and what a git-push PaaS's own Compose importer would need to fill in instead.
Kubernetes 1.35 Makes Supplemental Groups Strict: Closing the Shared-Volume Leak Hiding in Every Tenant Image's /etc/group
Kubernetes 1.35 lets a Pod ignore the supplemental groups baked into a container image's /etc/group — closing a quiet leak where an untrusted tenant image could silently gain access to another tenant's shared volume.
Kubernetes 1.36 Ships the Metric That Finally Proves Your Route Controller Isn't Wasting API Calls
Kubernetes 1.36 adds a counter that proves whether your route controller is syncing on real node changes or wasting API calls on a timer. Here's what it measures, how to check if your Hetzner CCM exposes it, and a PromQL alert that catches a stuck node join before it becomes an outage.
Kubernetes 1.36's Memory QoS Goes Tiered: What TieredReservation Actually Guarantees on a Multi-Tenant Node
Kubernetes 1.36 lets a kubelet write hard memory.min protection for Guaranteed pods and soft memory.low for Burstable ones. Here's exactly what that stops a noisy neighbor from doing on a bin-packed multi-tenant node — and the two failure modes it still doesn't cover.
Kubernetes 1.36 Didn't Put DRA in GA — Here's What Shipped, and How to Run GPU-Aware Scheduling on Your Own Hetzner Fleet
Kubernetes 1.36 didn't put Dynamic Resource Allocation into GA — that happened in 1.34. Here's what actually shipped for GPU scheduling, and how to get a real DRA-scheduled GPU node onto a self-hosted Cluster API fleet on Hetzner.
Kubernetes 1.36's HPA Can Now Scale to Zero: What It Actually Changes for Idle-App Billing
Kubernetes 1.36 finally defaults HPAScaleToZero on, but it only solves half the scale-to-zero problem. Here's the exact split, real cold-start numbers from Render and Fly.io, and a worked cost model for a self-hosted PaaS's dormant-app billing.
Kubernetes 1.36's PSI Metrics Graduate to GA: What Pressure Stall Information Catches About Resource Starvation That CPU% Utilization Misses
Kubernetes 1.36 locks PSI metrics to GA, catching resource stalls a CPU% dashboard can't see. Here's the worked example, the two ways the signal can lie, and the pre-flight checklist a bare-metal fleet needs before trusting it.