LWKD: Week Ending June 26, 2022
Developer News
The Ingress-NGINX project is pausing accepting new features and spending the next season working on stability. While they’re doing that, if you are an Ingress-NGINX user, please fill out their survey and help decide what features to prioritize when they start up again.
Release Schedule
Next Deadline: Exceptions Due July 25th
We are now in Enhancements Freeze; file an exception if you just missed the deadline. There are 55 tracked features for the release. Another 21 were removed because of incomplete KEPs.
The first 1.25 Alpha is available. Built with Golang 1.18.3, it includes few of the features that will eventually be in 1.25.0.
Cherry-pick deadline for the next set of patch releases is July 8th, so if you’re OOO for the American holiday, get those PRs done now.
Featured PRs
enhancements#3392: KEP-3104: Introduce kuberc
The venerable and often-frustrating “kubeconfig” file has served as the primary configuration mechanism for kubectl
for a long time. This has offered a lot of flexibility to users managing multiple clusters, with features like PATH-style lookup and file merging, but these features have also made it difficult to add user-centric preferences to kubectl
, detached from cluster configuration details. SIG-CLI is proposing a new file, kuberc
, which would contain only user preferences and nothing related to cluster data. Some initial proposed use cases include allowing user-configured aliases to abbreviate common commands and persistent overrides for the default value of a value such as making kubectl apply
use --server-side=true
unless overridden.
enhancements#3377: KEP-1027: API Unions for 1.25
This KEP has been brewing for many years but 1.25 will hopefully see a renewed push with a more detailed plan. The overall idea is to expose oneOf
validation for custom resource types, for cases like volume configuration on pods where there’s many substructs and exactly one must be used. Currently this behavior can only be implemented with a validation webhook (or perhaps a CEL expression if you’re on the bleeding edge) but as it is an extremely common thing in Kubernetes schemas, it will be nice to have as a full OpenAPI validation feature.
Other Merges
- Automatic Volume force detach only happens on unhealthy nodes
- EndpointSlices will poll for readiness instead of getting stuck if their Node isn’t ready
- Don’t output help text whenever Kubelet fails to start
reflect.Pointer
is the newreflect.Ptr
- Better debug attach failure error messages
- Make sure FiberChannel Volumes attach to the right disk
--chunk-size
with a selector returns the right number of pods- Added owner reference auto-deletion test for StatefulSets as a prerequisite to implementing the StatefulSet PVC AutoDeletion feature
- As a first-time contribution, @LY-today fixed an issue where client-go gets stuck in an error cycle after evicting a pod
- Support load balancer “pinhole” firewalling
- Kubeadm:
cert-dir
, CoreDNS anti-affinity
Promotions
- CSIMigration is GA; anyone still using in-tree storage drivers should prepare to migrate them to CSI when 1.25 comes out
- Supporting this, CSIMigrationPortworx is beta
- Key Management Service API advances to v2alpha1
Deprecated
- kubectl drops multiple pod-auto-deletion flags, since none of them ever functioned; kubectl will also error if a pod doesn’t terminate with
--rm