The Wire ยท Showcase
KOPS FIXES DNS-CONTROLLER ORPHAN BUG, PROW GAINS CLOUD METADATA INJECTION
By RepoJournal ยท Filed ยท About Kubernetes
Kops now automatically cleans up dns-controller deployments when clusters migrate away from gossip DNS, solving a manual deletion problem that's plagued operators for releases.
The dns-controller fix [1] addresses a real operational headache: when clusters switch from gossip to dns=none topology or external-dns providers, the addon channel never prunes the orphaned deployment, forcing manual cleanup. Now it applies an empty manifest with prune directives instead, letting the normal reconciliation flow handle deletion. In parallel, the test infrastructure got smarter. Prow's mutation system [2] now injects cloud metadata into test containers (PROW_CLOUD_PROVIDER, PROW_NODE_REGION, PROW_NODE_ZONE) via a new namespaced Kyverno policy, and switched to JSON logging for better Datadog observability. The fix also resolves argocd sync errors by following Kyverno platform notes. Etcd-manager got a point bump to v3.0.20260707 [4], and Karpenter nodes now support SSH access via EC2 Instance Connect [5]. On the API side, declarative validation continues its march. CSIDriver's volumeLifecycleModes field migrated to the +k8s:immutable marker [3], replacing hand-written ValidateCSIDriverUpdate checks with parity-tested generated validation. Code-generator itself gained the ability to generate validators into multiple packages [6], letting one input type have self-contained validators spread across outputs. ObjectMeta got DV configuration [7], and a new monotonic counter validation tag shipped [8].
Action items
- โ Review and test dns-controller migration on clusters using gossip DNS before your next reconciliation cycle kubernetes/kops [plan]
- โ Update etcd-manager to v3.0.20260707 and test in non-prod first kubernetes/kops [plan]
- โ Monitor declarative validation migration in your CRDs; parity tests are in place but hand-written validators still work kubernetes/api [monitor]
References
- [1] dns-controller: always apply the addon, empty when unused โ kubernetes/kops
- [2] fix a bug with pod mutation and insert cloud metadata into the test container โ kubernetes/k8s.io
- [3] storage: migrate volumeLifecycleModes to declarative validation kubernetes/api
- [4] etcd-manager: upgrade to v3.0.20260707 โ kubernetes/kops
- [5] dump: grant SSH access to Karpenter nodes via EC2 Instance Connect โ kubernetes/kops
- [6] validation-gen: generate validation into multiple packages kubernetes/code-generator
- [7] Merge pull request #139505 from lalitc375/configure-dv-part1 kubernetes/api
- [8] Merge pull request #137881 from itzPranshul/monotonic kubernetes/code-generator