LWKD: Week Ending July 24, 2022
Developer News
Last LWKD covered the migration to Ginkgo v2 for testing. This change may break your code in a few different ways, including changing test timeouts and deprecating the -parallel
flag, and quitting using the Measure method Please fix your tests accordingly.
Tim Xiu proposed Elastic GPU for GPU allocation & management.
Kubernetes Contributor Summit NA 2022 will happen on October 24th in Detroit. Registration will open soon. Note that there will also be some changes to COVID-19 precautions for the event.
SIG-Release wants your thoughts on metrics for our releases.
Release Schedule
Next Deadline: CODE FREEZE August 2nd
Time to finish those features and push your last PR. It’s Code Freeze time! Yes, you can ask for an exception, but the answer might be “no”. More deadlines: Docs placeholders Aug. 4, Test Freeze Aug. 10, final docs Aug. 9.
(https://groups.google.com/a/kubernetes.io/g/dev/c/os8nyAVTL7A), 1.24.3, 1.23.9, 1.22.12, and 1.21.15 came out July 13th, addressing a list of noncritical bugs.
Featured PRs
#111181: Introduce config for API Priority and Fairness
The APF system balances quality-of-service for kube-apiserver, ensuring no one client can destabilize the whole cluster (we hope). So far this has used a lot of hard-coded constants for tuning the algorithms. This PR moves us closer to a world where admins can tweak those for exceptional situations. The configuration structs are modeled like Kubernetes API objects, but for now are just themselves hardcoded as the constants were before. In the future this configuration can be sourced from the API (or possibly from the local filesystem) and the core plumbing will be all set!
#111101: enable stylecheck check in golangci
A smaller PR but a great reminder that linters exist to help us all by checking the easy stuff for us. This PR adds the ST1019 linter to our config, which catches files which import the same package multiple times. This usually only happens during a big copy-paste refactor and is easy to miss when reviewing changes in isolation. If you’ve got ideas for additional lint checks which could improve our code quality, please do open a PR with SIG-Testing.
Other Merges
- You can checkpoint containers for archival, migration, or forensic purposes
- Controller migration offers
running_managed_controllers
option for cloud provider migration - kube-proxy goes distroless
- Use slashes in sysctl commands
- API StatusClause has error handling
- Validate CSI secretnames via DNS spec, and validate unknown CR fields
- De-duplicate all the imports across the project
- Don’t perform duplicate unmounting checks
alpha.kubernetes.io/provided-node-ip
is set regardless of cloud provider- Scheduler retries based on a backoff loop
- APF metrics were changed to use better histograms, including denominators
- Initialize the scheduler framework’s PodInformer
- kube-proxy kernelspace mode is the default on Windows
--audit-log-path
must actually exist- Clear some pod metrics on restart, and don’t report terminated container metrics
kubectl describe
shows RuntimeClass and ServiceAccount- Handle having more than one default IngressClass
- Add some compilation metrics for custom expressions
- Kubelet doesn’t panic when asked for resource metrics
- Dynamically update IPs for LB firewalling
- Kubeadm adds configurable etcd watch
Test cleanup: kubectl explain gets unit tests, clean controlplane shutdown and serviceaccount, patch leaky goroutines in more places, podgc gets tests, HPA gets scale-down and scale-up tests
Promotions
- CSIMigrationvSphere is enabled by default
- Server side validation is beta and enabled by default
- Pod Topology MinDomains is beta
- StatefulSet minReadySeconds is GA
- DaemonSet MaxSurge is GA
- podOS field is GA
Deprecated
- HNS v1 APIs are removed for kube-proxy on Windows