LWKD: Week Ending August 20, 2023
Last Week in Kubernetes Development
Week Ending August 20, 2023
Developer News
We deeply regret to announce the loss of Kubernetes contributor Kris Nóva. A member of our community since the beginning, Kris was known for her contributions to ClusterAPI, Kops, Falco, and many other areas, as well as writing Cloud Native Intrastructure. She will be deeply missed. To remember Kris, please donate in her name to the Nivenly Foundation or Trans Lifeline.
Get ready to join other contributors at the Kubernetes Contributor Summit North America in Chicago. Registration is open, as is the call for sessions, including workshops, discussions, and SIG meetings.
Ana Margarita Medina and Jeremy Rickard have been elected to the Kubernetes Code of Conduct Committee.
Steering committee nominations are still open until August 26th; please get your candidate or self nomination in soon. And check your voting status.
Release Schedule
1.28 Is Released! Yaaay!
Kubernetes v1.28, "Planternetes", is now available. It has 45 enhancements, including 19 new alpha features, among them: recovery from unexpected node shutdown, improved CRD validation, increased support for mixed-version clusters, replacement and backoff for Job pods, and complex device container support. Try out 1.28 today!
Shadow Applications to join the 1.29 Release Team are open.
Patch releases for all supported versions are expected out on the 23rd, including another Go version bump.
KEP of the Week
KEP-3895: Interactive(-i) flag to kubectl delete for user confirmation
Adds an interactive mode for kubectl delete
command, which provides users an option to confirm whether or not to delete the resources mentioned. For backwards compatibility, asking the user for confirmation before deleting by default is not possible. Hence the new interactive flag (-i), which when used prompts the user to confirm if they really want to delete the resources selected.
When using the proposed interactive flag with kubectl delete
, the user will be shown the list of resources that would be deleted. The command continues execution if the user confirms by entering y
. If the user enters n
or any other character, the command stops execution and returns a message with zero exit code. This KEP is in alpha in v1.28, and will be hidden behind a KUBECTL_INTERACTIVE_DELETE
environment variable.
This KEP and the associated PR was authored by Arda Güçlü.
Other Merges
- Expose LoadBalancer IP mode behavior to Kubernetes API, implementing KEP 1860
- Scheduler: Straighten out how Scheduler Permit plugins and unschedulable plugins are handled, don't bother with preemption or calculate Taint tolerations for unschedulable pods, but don't skip PostFilter plugins just because we skipped preFilter ones, treat volume beta labels as GA for scheduling, and shrink the Scheduler cache [by excluting managedFields](https://github.com/kubernetes/kubernetes/pull/119556
- Put the Pod UID in the event log
- Include sidecar resources in describe node
- kubeadm: push down repository choice, cert key validation,
- ValidatingAdmissionPolicy is v1beta1 API
- New metrics: KMS2 cache filled, APF inqueue seats, pod scheduling SLI
- Add Go 1.21 support for golangci-lint
- Log aggregated API server group version changes and cache populated messages only once
- Estimate propagation costs for CEL better
- Don't let non-LB services set .status.loadBalancer)
- wait.PollUntilContextTimeout is the new wait.Poll
- Better JSONpath parsing in
kubectl --wait
- Stop reusing the same VolumeResourceRequirements struct for both containers and PVCs
- Reuse gRPC connections for DRA
- New audit annotations for long-lived secrets
Testing improvements: kubeadm kubeconfig, StorageClass, start.ordinal, kms2 enablement, kubeadm proxy, table0-driven controller tests
Promotions
Deprecated
- Purge API tipes used for removed PodSecurityPolicy feature
- Remove expectEqual framework from e2e testing
- Stop using deprecated ioutil in api-machinery
- Drop AvailableResources from controller context to make controllers less flaky