The Wire · Showcase
KOPS SHIPS APISERVER-ONLY NODES, KUBE-OPENAPI FIXES STDLIB JSON COLLISION
By RepoJournal · Filed · About Kubernetes
Kops now lets you run dedicated API server nodes separate from control plane workers, solving a years-old load balancer problem that sent traffic to both when you only wanted one.
Kops landed three related changes that reshape how you can distribute control plane work across nodes [1] [2] [3]. The issue: when you had both APIServer and Control Plane nodes, the load balancer sent traffic to both, forcing your core controllers to share resources with API traffic. Now with the new --api-server-size flag and DNS None routing, traffic routes only to APIServer nodes, protecting controller capacity. This is the topology you've been asking for. Over in kube-openapi, a critical fix landed to insulate go-json-experiment from stdlib JSON packages [4] [5]. Without this, Go 1.27's changing json/v2 prerelease behavior was causing unit test failures. The fix drops aliases to json/v1 and json/v2, ensuring go-json-experiment stays self-contained until the actual stdlib migration. Test-infra cleaned up benchmark noise by removing yaml, table, and json-pretty LIST benchmark jobs [6], keeping only JSON, proto, and cbor for cleaner signal on scalability regressions. Kops also hardened RHEL 10+ support by loading the ip_set kernel module and disabling firewalld on ForceNftables distros [7], unblocking Calico e2e failures across the grid.
Action items
- → Review kops 1.35+ release notes if you run dedicated APIServer topology - new --api-server-size flag is live kubernetes/kops [plan]
- → Merge kube-openapi stdlib insulation fix into your vendored version before upgrading Go toolchain past 1.27 kubernetes/kube-openapi [plan]
- → Monitor test-infra benchmark job consolidation if you have custom scalability test configs kubernetes/test-infra [monitor]
References
- [1] API only CLI ↗ kubernetes/kops
- [2] Fixing LB behavior when you have both APIServer and Control Plane. kubernetes/kops
- [3] Adding flag to enable machine type for APIServer only. kubernetes/kops
- [4] Insulate go-json-experiment from stdlib ↗ kubernetes/kube-openapi
- [5] Merge pull request #616 from liggitt/insulate-stdlib kubernetes/kube-openapi
- [6] Remove yaml, table, and json-pretty LIST benchmark jobs ↗ kubernetes/test-infra
- [7] nodeup: load ip_set module and disable firewalld on RHEL10 ↗ kubernetes/kops
FAQ
- What changed in Kubernetes on June 19, 2026?
- Kops now lets you run dedicated API server nodes separate from control plane workers, solving a years-old load balancer problem that sent traffic to both when you only wanted one.
- What should Kubernetes teams do about it?
- Review kops 1.35+ release notes if you run dedicated APIServer topology - new --api-server-size flag is live • Merge kube-openapi stdlib insulation fix into your vendored version before upgrading Go toolchain past 1.27 • Monitor test-infra benchmark job consolidation if you have custom scalability test configs
- Which Kubernetes repositories shipped on June 19, 2026?
- kubernetes/kops, kubernetes/kube-openapi, kubernetes/test-infra