Developer News
SIG-CLI is proposing to have kubectl use $HOME/.config instead of its own configuration directory in $HOME/.kube, to follow the XDG base directory spec (and make it easier to back up your config with everything else on your dekstop). If you like this idea, or don’t, comment on the KEP.
Test-Infra has standardized how reviews interact with LGTM and Approve across all Kubernetes repos owned by SIG-Testing.
SIG-Instrumentation plans to have all components on structured logging for 1.21 and mark the feature Beta.
Release Schedule
Next Deadline: March 1, Feature Blog inclusion
If your SIG or team has interesting features in this release, please contact the 1.21 Comms Team to have them added to the release blog post. And remember: Code Freeze Is Coming March 9.
Updates 1.18.16, 1.19.8, and 1.20.4 came out last week. This update fixes a number of bugs (lots of bugfix cherry-picks to 1.18 and 1.19 from issues fixed in later versions), but no CVEs. 1.20.3 had to be re-released as 1.20.4 after it failed some conformance tests; please do not use 1.20.3.
Featured PRs
#98845: hack: Use zeitgeist instead of cmd/verifydependencies
The venerable cmd/verifydependencies
tool has been replaced by a new system: Zeitgeist. Owned by SIG-Release, Zeitgeist is a more generic tool for tracking dependencies. It supports all the same Go and Docker options as before, but also Helm charts and AWS AMIs, with more to come. If there is something external to the project that it would be good to track the version of, please reach out to the Zeitgeist team.
#99120: Use golangci-lint to find unused/dead code (Experimental!)
Another dev tooling PR, but this time even more in flux. As a first step towards replacing a lot of our home-grown linter tooling with golangci-lint, this PR adds a hack/verify-golangci-lint.sh
script. This script is not used by CI yet, but you can try it out locally and see how it works. If you’re doing any kind of large refactoring, maybe give this new linter a try and see if it finds any issues (or at least find out if it can run successfully or not).
(#96878: Enable kubectl-get to strip managed fields)[https://github.com/kubernetes/kubernetes/pull/96878]
With the (wonderful) proliferation of Server Side Apply to more API calls and tools, the tracking metadata in metadata.managedFields
has been getting increasingly verbose. Starting from 1.21, kubectl get -o yaml/json
will no longer include these by default. If you do need the full object for whatever reason, make sure you add --show-managed-fields
to your command line options. Pay special attention to things like CI scripts which might be doing get | sed | apply
style changes.
Other Merges
- Components can disable metrics using a command line flag, in case of metrics blowing up
- Kube-proxy checks if you actually have IPv6 networking before trying to enable it
- New metrics: tag for migrated storage volumes,
csi_operations_seconds
,JobDeletionDurationSeconds
k8s.io/kubelet/pkg/apis/
is the newk8s.io/kubernetes/pkg/kubelet/apis
- You have the power to disable debug endpoints in the Kubelet
- Bash-completion works with lists of objects in kubectl
- Kubelet cleans up orphaned volume directories automatically
- SO_REUSEADDR support for the APIserver
Structured Logging tally: nodestatus, pod/pleg logs, scheduling queue
Promotions
- IPv6 Dual Stack is Beta is sorta turned on by default, except you still need to set some flags
- CronJobv2 to Beta
- BoundServiceAccountTokenVolume to Beta
- RunAsGroup to GA
Deprecations/Removals
- Deprecate command-line kubelet params for dockershim
- Obsolete feature gates
CSIDriverRegistry
,BlockVolume
, andCSIBlockVolume
are gone - CronJob’s batch/v2alpha1 old API is removed
Version Updates
- go to 1.15.8 in 1.19 and 1.20
Original Source: Week Ending February 21, 2021 | Last Week in Kubernetes Development