Last Week In Kubernetes Development

Subscribe
Archives
June 12, 2024

LWKD: Week Ending June 9, 2024

Last Week In Kubernetes Development

Week ended: 2024-06-09

Developer News

Kubernetes Contributor Summit North America is now live and registration is open. The summit will be Nov. 11th. Please register as soon as you know you can go; having a good estimate of numbers helps the team plan. The Call for Sessions will be launched soon as well.

Final deadline: all CI jobs must be off of cluster:default by August 1st; any jobs that aren't will simply be deleted.

Carlos Santana is collecting Kubernetes trivia items for the 10th anniversary.

Release Schedule

Next Deadline: Enhancements Freeze, June 13th, 2024

Enhancements freeze is just a few days away. This is your final reminder! Prepare your KEPs for the Production Readiness Review. If you plan to implement any features, deprecations, or removals during the 1.31 release cycle, ensure your KEP(s) are opted in before the Enhancements Freeze on June 13th.

Patch releases for all supported versions are expected out this week.

Featured PRs

#124963 client-go: data consistency checker for list requests

The latest update to client-go introduces a data consistency checker for list requests, ensuring that data retrieved from the watch-cache matches data directly from etcd. This feature can be enabled by setting the KUBE_LIST_FROM_CACHE_INCONSISTENCY_DETECTOR environment variable. The consistency check is primarily intended for use in testing, not production, to catch potential data inconsistencies early. This tool is especially valuable for developers working on Kubernetes operators, providing an extra layer of validation to ensure the reliability of cached data.

Related PRs include:

  • Implement ResilientWatchCacheInitialization #124642

  • Expose resource version metrics from watchcache #125377

KEP of the Week

KEP 3633: Introduce MatchLabelKeys and MismatchLabelKeys to PodAffinity and PodAntiAffinity

This KEP introduces MatchLabelKeys and MismatchLabelKeys to PodAffinityTerm to enhance scheduling nuances during pod upgrades. Its goal is to improve the scheduler's ability to distinguish between old and new pod versions, addressing the issues of improper affinity adherence and optimizing node placement, especially during rolling updates in saturated or idle clusters.

This KEP is tracked for beta release in the upcoming v1.31.

Other Merges

  • Tests to ensure we don't break how recursive parameters works with object prefixes

  • kubeadm init phase certs sa to accept the '--config' flag

  • Bugfix for kubeadm to respect the PublicKeysECDSA feature gate when generating kubeconfig files

  • Refactoring for TestCheckListFromCacheDataConsistencyIfRequestedInternalHappyPath to work with unstructured data

  • apiserver_watch_cache_resource_version metric to simplify debugging problems with watchcache

  • kube-apiserver reconciler disabled to reduce noise on integrations tests

  • TestNewInformerWatcher for WatchListClient updated

  • [endpointslice controller to update topology cache to prevent OOM in controller manager

  • .status.terminating field now gets correctly tracked for deleted active Pods when a Job fails

  • Sidecar container finish times are included in Job finish times

  • Resilient WatchCache initialization implemented

  • kubelet server can dynamically load certificate files now

  • CEL expressions and additionalProperties may be used under nested quantifiers in CRD schemas

  • StatefulSet autodelete will respect controlling owners on PVC claims

Deprecated

  • JobReadyPods feature flag deprecated

Version Updates

  • Python client to v30.1.0

Subprojects and Dependency Updates

  • containerd v1.7.18: remove uses of platforms.Platform alias. Also v1.6.33

    Don't miss what's next. Subscribe to Last Week In Kubernetes Development:
    This email brought to you by Buttondown, the easiest way to start and grow your newsletter.