LWKD: Week Ending September 11, 2022
Developer News
The Contributor Summit Detroit (at KubeCon North America 2022) has opened the call for sessions. If you have a discussion topic, workshop, SIG meeting, or anything else by and for contributors, suggest it by September 30. Also, register now so we have a better headcount for allocating space.
Steering committee ballots are due by September 29th. Vote now! If you’re still not on the voter rolls and think you should be (if you’re reading this, you likely qualify) make sure you get your exception request in by September 16th.
Release Schedule
Next Deadline: PRR Freeze for Enhancements, September 29th
Enhancements for 1.26 are due by October 6th, but you should get them opted-in by 9/29 so that the PRR has time to review them.
Patch releases are expected out Wednesday.
Featured PR
#111122: support removal of event handlers from SharedIndexInformers
As operators have gotten more complex, there has been a growth in the use cases for “dynamic listeners”, controllers which can listen to any object type and are configured at runtime. While controllers using the SharedInformer cache pattern have been able to add new listeners on the fly, they haven’t previously been able to shut down and remove listeners that are no longer needed. This has lead to slow bloat issues in some cases, requiring periodic restarts to get back to a minimal state. With this PR, AddEventHandler
and friends now return an opaque handle which can be passed to a new RemoveEventHandler
to do exactly what it says in the name. This unlocks many more efficient operator architectures for complex scenarios.
Other Merges
- Use gingko methods AfterEach and DeferCleanup for e2e tests; please call these in the future instead of writing custom cleanup code
- Aggregators can reject redirect requests and will by default
- Drop gzip compression to Level 1 in the apiserver, and allow admins to disable it entirely in kubeconfig
- Replace
scheduler_goroutines
with simplygoroutines
metric to count more of the code execution - Rate-limit requests to
/healthz/etcd
to control traffic - Minimum CFS quota is 1ms, per Linux kernel
- Prevent running out of ports when touching many objects using
kubectl exec auth
- Fix client-side apply to server-side apply managed fields migration
- Eliminate leaky gRPC goroutines
- Release leader lock after election properly
- Use IPv6 range for API docs
Test Cleanup: track and close stuck gRPC streams, add CPU and Memory HPA tests, patch some flaky HPA tests
Deprecated
- In-tree cloud provider auth for kubectl is removed again for 1.26
- Deprecate scheduler ComponentConfig v1beta3, and plan to remove v1beta2
- Remove CSRDuration feature gate; feature is GA since 1.24
Version Updates
- golang to 1.19.1 in 1.26 and 1.25
- golang to 1.18.6 in 1.24