Kubernetes v1.23.0 has been built and pushed using Golang version 1.17.3.
The release notes have been updated in CHANGELOG-1.23.md, with a pointer to them on GitHub:
filename | sha512 hash |
---|---|
kubernetes.tar.gz | 850f92f4a4f397773ceabdacdb0513fa3cd2eb8867f7e3697f42bc595c3c710f81a8b9b34679d783ca2e1900dd272e0af209126cf55719e321af8da04a4b1c2b |
kubernetes-src.tar.gz | ee53eb3b32bc4745a3f58dd0af1a8f4157e74b71b896eb39ae0658f6f3d0497b8a1334205cc19a3fe1cc7056b7606b0c745e89860f73b14ffaf4ed7bf9b6ef11 |
filename | sha512 hash |
---|---|
kubernetes-client-darwin-amd64.tar.gz | ec7acc668cf32ec2ecf9ff515096cfe0d421c096522f4d4f6dd5504046051d6b4a15a130aab67e0d545078b26c1a0d27f2f567b1f4ac68b76324e15a216799f5 |
kubernetes-client-darwin-arm64.tar.gz | 5c8dcc6c847d44bef1d739015627369b8b7f0b27d96bb0264bac1ea029d3e247565639cdfb9041e28d74f27c7650661ec275e452ede448181c454d77916fc432 |
kubernetes-client-linux-386.tar.gz | a94aa935b348dfeee09b47f3a34e8cb7b2d7213dc28e8df189a4b8438a317cfd575d97ae09651fb6a46a528cd00f0808c6e6c95d9e176837b5be463620593acd |
kubernetes-client-linux-amd64.tar.gz | 82574d81696693510d8becd2a2319d517dda2b424b63c5525299ed24c9f4abe1b1803fc799b2a75c650175a5a70ef03eab6068e5bf2a286a43fcaabee9681747 |
kubernetes-client-linux-arm.tar.gz | 8dd15ed487883f76ed869458df3b5e859518491ac5b3aedb7ec95fd6c8ba1bde081859e0a7c171d9674a773b655db67975dbab9b842d1c0864a300341e58035a |
kubernetes-client-linux-arm64.tar.gz | 125f51a712fa4cad241e84a57baa4bc7950b4977bb4f7275ec21e82758ea90137d00d39841061cd9c4665144a2cf8ab87b99e185a64152f9682ef524266c45a3 |
kubernetes-client-linux-ppc64le.tar.gz | ebf7130485c33a59fc81c2a6b8d19b847470f57f4be49ead06e0405a9b34891de456199a87ef105b0428f3d9767ac39f83b8199171ba60ab7b7c538b0558d1de |
kubernetes-client-linux-s390x.tar.gz | dc0a122755d096f18de5d33a7596bae3c8cce058d22999c6754377cd074b8d69f597c62b5468cc80eda4144edea026b9b946b522b144e8d9ad66874de2d0bd9b |
kubernetes-client-windows-386.tar.gz | d64f72835dca883e666fc44f80db6b75467b5f952bf40f241b8b1034a8b7565aa101b3d8d9be4b47523cf22a1bb51db3924376405fdf40cd3cab688c5e9db21c |
kubernetes-client-windows-amd64.tar.gz | 915b7e23517dba67db9aa8b20f18f3451897fe7ab2bae1cd64bc22810e38efa3f2f62483ba377c6d1fed738de24874c2c14ef772f02f201f41a35d80eb2f872b |
kubernetes-client-windows-arm64.tar.gz | 2702663c0bc4316e83573c6c262040e72c13c6ea50b9dd042dd8d375e719e8729db759db3bffa8bd6a838661278e02a3047ce402b0348ae082393b37643047cb |
filename | sha512 hash |
---|---|
kubernetes-server-linux-amd64.tar.gz | 633cba8102648735b93d91a9840a39597b3242d2489081e71b0131a9bf246e2f52060bc8f8abcc2154f39c1e2410dec5e8b189d220743b55f861062c86edd2f8 |
kubernetes-server-linux-arm.tar.gz | 39eb3f85a46f6c71ba70ffa391e706b6c57c8f9fb7eea95960f944a3fee7883da56e3dca9eec7f3121800911e45681b2bcc78c4585ce7081720a8658e1837f47 |
kubernetes-server-linux-arm64.tar.gz | 91236a70b0ff67b54c939215ac71a7e03e4202e71d8b11f687fc6406eb54da6271e8f095a4e812b3aaad23275e0a04b4cfa7bfa8f455a98ccf8c5a22b8b5e59f |
kubernetes-server-linux-ppc64le.tar.gz | a41f590fcc271861d73cae14032c51d7674efba48f160550da8be7095240be39a59bdd8012886eb94afa8062576e43643a76c2796ce847d6df33d7147a807e9f |
kubernetes-server-linux-s390x.tar.gz | 2bb2d3087e911e5c296ae194697190470606c1ac761fb3e69533492109d012e756428daac93e89665f6bbac7c4b4fd1ab9e554718244234f43c6e7219c396eff |
filename | sha512 hash |
---|---|
kubernetes-node-linux-amd64.tar.gz | 4b0d9188914f3b8dbb7cab384b9f2a63b5d0f53b78c7c9d4920613e780d17afffd95809eb828753556048481634b5a5bd0b89b50360e4d3f2a37d21bb88d5a36 |
kubernetes-node-linux-arm.tar.gz | 039c77a9a5f7e12d826ded7f8590b9f63c79863fcc463e150848ab6304de171aebbdc948f9398478b96a763f982d02f955f8327f651a04e8caced4c6fd2b8e12 |
kubernetes-node-linux-arm64.tar.gz | d60c740f2f5b2ffe95bc9d1ea0e26ca6af1aef718d5c498339eabe6a9cc1cdff8cb69f9cc0f2389adb1eaa3dacdbcaacae3e19fd27ce035f561813d8f29b5f90 |
kubernetes-node-linux-ppc64le.tar.gz | 163b33fcab0226e950c2d2415ece74ac840c592ede2e7276babab466ef3ef1cdbee95102ca4cbefeb836ce1b2897d19b0534967dbd0dcb6706753b453adb27eb |
kubernetes-node-linux-s390x.tar.gz | c01db605cc3b744a6a13962e318f94ae66eb221d4ed3758a868452bc610cdcf79297332e158cf9e88002e3ac72c9489b7c27b001ba40df1852c6ba098afb9586 |
kubernetes-node-windows-amd64.tar.gz | d5431cd60990bd56649ce11e3c5a72b92a733e6abafaee6517cec333a3dcabd6469ebd4e3d9b052d250ecb35a0c1dcac16cd841612d73886438731f0f817e2d1 |
FlexVolume is deprecated. Out-of-tree CSI driver is the recommended way to write volume drivers in Kubernetes. See this doc for more information. Maintainers of FlexVolume drivers should implement a CSI driver and move users of FlexVolume to CSI. Users of FlexVolume should move their workloads to CSI driver.
To simplify the code base, several logging flags got marked as deprecated in Kubernetes 1.23. The code which implements them will be removed in a future release, so users of those need to start replacing the deprecated flags with some alternative solutions.
Kubernetes releases are now generating provenance attestation files describing the staging and release phases of the release process and artifacts are verified as they are handed over from one phase to the next. This final piece completes the work needed to comply with Level 1 of the SLSA security framework (Supply-chain Levels for Software Artifacts).
IPv4/IPv6 dual-stack networking graduates to GA.
Since 1.21, Kubernetes clusters are enabled to support dual-stack networking by default.
In 1.23, the IPv6DualStack
feature gate is removed.
The use of dual-stack networking is not mandatory.
Although clusters are enabled to support dual-stack networking, Pods and Services continue to default to single-stack.
To use dual-stack networking: Kubernetes nodes have routable IPv4/IPv6 network interfaces, a dual-stack capable CNI network plugin is used, Pods are configured to be dual-stack and Services have their .spec.ipFamilyPolicy
field set to either PreferDualStack
or RequireDualStack
.
Version 2 of the HorizontalPodAutoscaler API graduates to stable in the 1.23 release. The HorizontalPodAutoscaler autoscaling/v2beta2
API is deprecated in favor of the new autoscaling/v2
API, which the Kubernetes project recommends for all use cases.
This release does not deprecate the v1 HorizontalPodAutoscaler API.
The generic ephemeral volume feature moved to GA in 1.23. This feature allows any existing storage driver that supports dynamic provisioning to be used as an ephemeral volume with the volume’s lifecycle bound to the Pod. All StorageClass parameters for volume provisioning and all features supported with PersistentVolumeClaims are supported.
The feature to configure volume permission and ownership change policy for Pods moved to GA in 1.23. This allows users to skip recursive permission changes on mount and speeds up the pod start up time.
The feature to allow CSI Drivers to declare support for fsGroup based permissions graduates to GA in 1.23.
PodSecurity moves to Beta.
PodSecurity
replaces the deprecated PodSecurityPolicy
admission controller.
PodSecurity
is an admission controller that enforces Pod Security Standards on Pods in a Namespace based on specific namespace labels that set the enforcement level.
In 1.23, the PodSecurity
feature gate is enabled by default.
The Kubelet now supports the CRI v1
API, which is now the project-wide default.
If a container runtime does not support the v1
API, Kubernetes will fall back to the v1alpha2
implementation.
There is no intermediate action required by end-users, because v1
and v1alpha2
do not differ in their implementation.
It is likely that v1alpha2
will be removed in one of the future Kubernetes releases to be able to develop v1
.
Structured logging reached its Beta milestone. Most log messages from kubelet and kube-scheduler have been converted. Users are encouraged to try out JSON output or parsing of the structured text format and provide feedback on possible solutions for the open issues, such as handling of multi-line strings in log values.
The kube-scheduler is adding a new, simplified config field for Plugins to allow multiple extension points to be enabled in one spot.
The new multiPoint
plugin field is intended to simplify most scheduler setups for administrators.
Plugins that are enabled via multiPoint
will automatically be registered for each individual extension point that they implement.
For example, a plugin that implements Score and Filter extensions can be simultaneously enabled for both.
This means entire plugins can be enabled and disabled without having to manually edit individual extension point settings.
These extension points can now be abstracted away due to their irrelevance for most users.
CSI Migration enables the replacement of existing in-tree storage plugins such as kubernetes.io/gce-pd
or kubernetes.io/aws-ebs
with a corresponding CSI driver.
If CSI Migration is working properly, Kubernetes end users shouldn’t notice a difference.
After migration, Kubernetes users may continue to rely on all the functionality of in-tree storage plugins using the existing interface.
--experimental-patches
for the init|join|upgrade
commands. The flag --patches
is no longer allowed in a mixture with the flag --config
. Please use the kubeadm configuration for setting patches for a node using {Init|Join}Configuration.patches
. (#104065, @pacoxu)seccomp.security.alpha.kubernetes.io/pod
and container.seccomp.security.alpha.kubernetes.io/[name]
has been deprecated since 1.19, will be dropped in 1.25. Transition to using the seccompProfile
API field. (#104389, @saschagrunert)--log-file
parameter. (#106123, @pohly) [SIG API Machinery, Architecture, Cloud Provider, Cluster Lifecycle and Instrumentation]apiserver_longrunning_requests
metric to replace the soon to be deprecated apiserver_longrunning_gauge
metric. (#103799, @jyz0309)--port
--address
The insecure port flags --port
may only be set to 0 now.
Also metricsBindAddress
and healthzBindAddress
fields from kubescheduler.config.k8s.io/v1beta1
are no-op and expected to be empty. Removed in kubescheduler.config.k8s.io/v1beta2
completely. (#96345, @ingvagabund)VolumeSubpath
has been deprecated and cannot be disabled. It will be completely removed in 1.25 (#105474, @mauriciopoppe)output/v1alpha2
API that is identical to the output/v1alpha1
, but attempts to resolve some internal dependencies with the kubeadm/v1beta2
API. The output/v1alpha1
API is now deprecated and will be removed in a future release. (#105295, @neolit123)update-cluster-status
in kubeadm reset
(#105888, @neolit123)kubectl --dry-run
empty default value and boolean values. kubectl --dry-run
usage must be specified with --dry-run=(server|client|none)
. (#105327, @julianvmodesto)scheduler_volume_scheduling_duration_seconds
. (#104518, @dntosas)--experimental-bootstrap-kubeconfig
flag has been removed.
This can be set via --bootstrap-kubeconfig
. (#103172, @niulechuan)omitManagedFields
has been added to both audit.Policy
and audit.PolicyRule
so cluster operators can opt in to omit managed fields of the request and response bodies from
being written to the API audit log. (#94986, @tkashem) [SIG API Machinery, Auth, Cloud Provider and Testing]StatefulSetAutoDeletePVC
, which allows PVCs automatically created for StatefulSet pods to be automatically deleted. (#99728, @mattcary)generateName
, the server now returns an "AlreadyExists" error with a retry option. (#104699, @vincepri)-vmodule
was made a bit more descriptive (pattern=N,...
instead of moduleSpec
). (#106090, @pohly) [SIG API Machinery, Architecture, CLI, Cluster Lifecycle, Instrumentation, Node and Scheduling]OS
field in the PodSpec (#104693, @ravisantoshgudimetla)v1beta3
API for scheduler. This version
increases the weight of user specifiable priorities. The weights of following priority plugins are increased
TaintTolerations
to 3 - as leveraging node tainting to group nodes in the cluster is becoming a widely-adopted practiceNodeAffinity
to 2InterPodAffinity
to 2Won't have HealthzBindAddress
, MetricsBindAddress
fields (#104251, @ravisantoshgudimetla)
rbac.authorization.k8s.io/v1alpha1
API version is removed; use the rbac.authorization.k8s.io/v1
API, available since v1.8. The scheduling.k8s.io/v1alpha1
API version is removed; use the scheduling.k8s.io/v1
API, available since v1.14. (#104248, @liggitt)v1beta1
is removed. Update configuration files to v1beta2(xref: https://github.com/kubernetes/enhancements/issues/2901) or v1beta3 before upgrading to 1.23. (#104782, @kerthcet)MultiPoint
which will register a plugin for all valid extension points (#105611, @damemi) [SIG Scheduling and Testing]ResolverConfig
field from a string
to *string
. (#104624, @Haleygo)fieldValidation=[Strict,Warn,Ignore]
. (#105916, @kevindelgado)IPv6DualStack
feature to stable.
Controller Manager flags for the node IPAM controller have slightly changed:
--node-cidr-mask-size-ipv4
and --node-cidr-mask-size-ipv6
to set the per-node IP mask sizes, instead of the previous --node-cidr-mask-size
flag.--node-cidr-mask-size
flag is mutually exclusive with --node-cidr-mask-size-ipv4
and --node-cidr-mask-size-ipv6
.--node-cidr-mask-size
flag or one of the newer --node-cidr-mask-size-ipv4
or --node-cidr-mask-size-ipv6
flags to configure the per-node IP mask size, provided that the flag's IP family matches the cluster's IP family (--cluster-cidr). (#104691, @khenidak)NodeLease
feature gate that was graduated and locked to stable in 1.17 release. (#105222, @cyclinder)--seccomp-profile-root
/seccompProfileRoot
config. (#103941, @saschagrunert)minReadySeconds
is promoted to beta. (#104045, @ravisantoshgudimetla)--register-with-taints
option is now available via the Kubelet config file field registerWithTaints (#105437, @cmssczy) [SIG Node and Scalability]CSIDriver.Spec.StorageCapacity
can now be modified. (#101789, @pohly)CSIVolumeFSGroupPolicy
feature has moved from beta to GA. (#105940, @dobsonj)IngressClass.Spec.Parameters.Namespace
field is now GA. (#104636, @hbagdi)Service.spec.ipFamilyPolicy
field is now required in order to create or update a Service as dual-stack. This is a breaking change from the beta behavior. Previously the server would try to infer the value of that field from either ipFamilies
or clusterIPs
, but that caused ambiguity on updates. Users who want a dual-stack Service MUST specify ipFamilyPolicy
as either "PreferDualStack" or "RequireDualStack". (#96684, @thockin)TTLAfterFinished
feature gate is now GA and enabled by default. (#105219, @sahilvv)kube-controller-manager
supports --concurrent-ephemeralvolume-syncs
flag to set the number of ephemeral volume controller workers. (#102981, @SataQiu)policy-config-file
, policy-configmap
, policy-configmap-namespace
and use-legacy-policy-config
are also removed. Migrate to Component Config instead, see https://kubernetes.io/docs/reference/scheduling/config/ for details. (#105424, @kerthcet)LogFormatRegistry
in component-base must update their code to use the logr v1.0.0 API. The JSON log output now uses the format from go-logr/zapr (no v
field for error messages, additional information for invalid calls) and has some fixes (correct source code location for warnings about invalid log calls). (#104103, @pohly)x-kubernetes-validations
extension in OpenAPIv3 schemas (alpha). This is gated by the alpha "CustomResourceValidationExpressions" feature gate. (#106051, @jpbetz) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Node, Storage and Testing](beta feature) If the CSI driver supports the NodeServiceCapability VOLUME_MOUNT_GROUP
and the DelegateFSGroupToCSIDriver
feature gate is enabled, kubelet will delegate applying FSGroup to the driver by passing it to NodeStageVolume and NodePublishVolume, regardless of what other FSGroup policies are set. (#106330, @verult) [SIG Storage]
Add a new distribute-cpus-across-numa
option to the static CPUManager
policy. When enabled, this will trigger the CPUManager
to evenly distribute CPUs across NUMA nodes in cases where more than one NUMA node is required to satisfy the allocation. (#105631, @klueska)
Add mechanism to load simple sniffer class into fluentd-elasticsearch image (#92853, @cosmo0920)
Add support for Portworx plugin to csi-translation-lib. Alpha release
Portworx CSI driver is required to enable migration.
This PR adds support of the CSIMigrationPortworx
feature gate, which can be enabled by:
--feature-gates=CSIMigrationPortworx=true
featureGates: CSIMigrationPortworx: true (#103447, @trierra) [SIG API Machinery, Apps, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Release, Scalability, Scheduling, Storage, Testing and Windows]
Add support to generate client-side binaries for windows/arm64 platform (#104894, @pacoxu)
Added PowerShell completion generation by running kubectl completion powershell
. (#103758, @zikhan)
Added a Processing
condition for the workqueue
API.
Changed Shutdown
for the workqueue
API to wait until the work queue finishes processing all in-flight items. (#101928, @alexanderConstantinescu)
Added a new feature gate CustomResourceValidationExpressions
to enable expression validation for Custom Resource. (#105107, @cici37)
Added a new flag --append-server-path
to kubectl proxy
that will automatically append the kube context server path to each request. (#97350, @FabianKramm)
Added ability for kubectl wait
to wait on arbitary JSON path (#105776, @lauchokyip)
Added support for PodAndContainerStatsFromCRI
feature gate, which allows a user to specify their pod stats must also come from the CRI, not cAdvisor
. (#103095, @haircommander)
Added support for setting controller-manager log level online. (#104571, @h4ghhh)
Added the ability to specify whether to use an RFC7396 JSON Merge Patch, an RFC6902 JSON Patch, or a Strategic Merge Patch to perform an override of the resources created by kubectl run
and kubectl expose
. (#105140, @brianpursley)
Adding option for kubectl cp
to resume on network errors until completion, requires tar in addition to tail inside the container image (#104792, @matthyx)
Adding support for multiple --from-env-file flags
. (#104232, @lauchokyip)
Adding support for multiple --from-env-file
flags. (#101646, @lauchokyip)
Adds --as-uid
flag to kubectl
to allow uid impersonation in the same way as user and group impersonation. (#105794, @margocrawf)
Adds new [alpha] command 'kubectl events' (#99557, @bboreham)
Allow to build kubernetes with a custom kube-cross
image. (#104185, @dims)
Allows users to prevent garbage collection on pinned images (#103299, @wgahnagl) [SIG Node]
CRI v1 is now the project default. If a container runtime does not support the v1 API, Kubernetes will fall back to the v1alpha2 implementation. (#106501, @ehashman)
Changed feature CSIMigrationAWS
to on by default. This feature requires the AWS EBS CSI driver to be installed. (#106098, @wongma7)
Client-go: pass DeleteOptions
down to the fake client Reactor
(#102945, @chenchun)
Cloud providers can set service account names for cloud controllers. (#103178, @nckturner)
Display Labels when kubectl describe ingress. (#103894, @kabab)
Enhance scheduler VolumeBinding
plugin to handle Lost PVC as UnschedulableAndUnresolvable
(#105245, @yibozhuang)
Ensures that volume is deleted from the storage backend when the user tries to delete the PV object manually and the PV ReclaimPolicy
is set to Delete
. (#105773, @deepakkinni)
Expose a NewUnstructuredExtractor
from apply configurations meta/v1
package that enables extracting objects into unstructured apply configurations. (#103564, @kevindelgado)
Feature gate StorageObjectInUseProtection
has been deprecated and cannot be disabled. It will be completely removed in 1.25 (#105495, @ikeeip)
Graduating controller_admission_duration_seconds
, step_admission_duration_seconds
, webhook_admission_duration_seconds
, apiserver_current_inflight_requests
and apiserver_response_sizes
metrics to stable. (#106122, @rezakrimi) [SIG API Machinery, Instrumentation and Testing]
Graduating pending_pods
, preemption_attempts_total
, preemption_victims
and schedule_attempts_total
metrics to stable. Also e2e_scheduling_duration_seconds
is renamed to scheduling_attempt_duration_seconds
and the latter is graduated to stable. (#105941, @rezakrimi) [SIG Instrumentation, Scheduling and Testing]
Health check of kube-controller-manager now includes each controller. (#104667, @jiahuif)
Integration testing now takes periodic Prometheus scrapes from the etcd server.
There is a new script ,hack/run-prometheus-on-etcd-scrapes.sh
, that runs a containerized Prometheus server against an archive of such scrapes. (#106190, @MikeSpreitzer) [SIG API Machinery and Testing]
Introduce a feature gate DisableKubeletCloudCredentialProviders
which allows disabling the in-tree kubelet credential providers.
The feature gate DisableKubeletCloudCredentialProviders
is currently in Alpha, which means is currently disabled by default. Once this feature gate moves to beta, in-tree credential providers will be disabled by default, and users will need to migrate to use external credential providers. (#102507, @ostrain)
Introduces a new metric: admission_webhook_request_total
with the following labels: name (string) - the webhook name, type (string) - the admission type, operation (string) - the requested verb, code (int) - the HTTP status code, rejected (bool) - whether the request was rejected, namespace (string) - the namespace of the requested resource. (#103162, @rmoriar1)
Kubeadm: add support for dry running kubeadm join
. The new flag kubeadm join --dry-run
is similar to the existing flag for kubeadm init/upgrade
and allows you to see what changes would be applied. (#103027, @Haleygo)
Kubeadm: do not check if the /etc/kubernetes/manifests
folder is empty on joining worker nodes during preflight (#104942, @SataQiu)
Kubectl will now provide shell completion choices for the --output/-o
flag (#105851, @marckhouzam)
Kubelet should reconcile kubernetes.io/os
and kubernetes.io/arch
labels on the node object. The side-effect of this is kubelet would deny admission to pod which has nodeSelector with label kubernetes.io/os
or kubernetes.io/arch
which doesn't match the underlying OS or arch on the host OS.
--node-status-update-frequency
(#104613, @ravisantoshgudimetla) [SIG Node, Testing and Windows]Kubernetes is now built with Golang 1.16.7. (#104199, @cpanato)
Kubernetes is now built with Golang 1.17.1. (#104904, @cpanato)
Kubernetes is now built with Golang 1.17.2 (#105563, @mengjiao-liu)
Kubernetes is now built with Golang 1.17.3 (#106209, @cpanato) [SIG API Machinery, Cloud Provider, Instrumentation, Release and Testing]
Move ConfigurableFSGroupPolicy
to GA and rename metric volume_fsgroup_recursive_apply
to volume_apply_access_control
(#105885, @gnufied)
Move the GetAllocatableResources
Endpoint in PodResource API to the beta that will make it enabled by default. (#105003, @swatisehgal)
Moving WindowsHostProcessContainers
feature to beta (#106058, @marosset)
Node affinity, Node selectors, and tolerations are now mutable for Jobs that are suspended and have never been started (#105479, @ahg-g)
Pod template annotations and labels are now mutable for Jobs that are suspended and have never been started (#105980, @ahg-g)
PodSecurity: in 1.23+ restricted policy levels, Pods and containers which set runAsUser=0
are forbidden at admission-time; previously, they would be rejected at runtime (#105857, @liggitt)
Shell completion now knows to continue suggesting resource names when the command supports it. For example kubectl get pod pod1 <TAB>
will suggest more Pod names. (#105711, @marckhouzam)
Support to enable Hyper-V in GCE Windows Nodes created with kube-up
(#105999, @mauriciopoppe)
The CPUManager policy options are now enabled, and we introduce a graduation path for the new CPU Manager policy options. (#105012, @fromanirh)
The Pods and Pod controllers that are exempted from the PodSecurity admission process are now marked with the pod-security.kubernetes.io/exempt: user/namespace/runtimeClass
annotation, based on what caused the exemption.
The enforcement level that allowed or denied a Pod during PodSecurity admission is now marked by the pod-security.kubernetes.io/enforce-policy
annotation.
The annotation that informs about audit policy violations changed from pod-security.kubernetes.io/audit
to pod-security.kubernetes.io/audit-violation
. (#105908, @stlaz)
The /openapi/v3
endpoint will be populated with OpenAPI v3 if the feature flag is enabled (#105945, @Jefftree)
The CSIMigrationGCE
feature flag is turned ON
by default (#104722, @leiyiz)
The DownwardAPIHugePages
feature is now enabled by default. (#106271, @mysunshine92)
The PodSecurity
admission plugin has graduated to beta
and is enabled by default. The admission configuration version has been promoted to pod-security.admission.config.k8s.io/v1beta1
. See https://kubernetes.io/docs/concepts/security/pod-security-admission/ for usage guidelines. (#106089, @liggitt)
The ServiceAccountIssuerDiscovery
feature gate is removed. It reached GA in Kubernetes 1.21. (#103685, @mengjiao-liu)
The constants/variables
from k8s.io for STABLE metrics is now supported. (#103654, @coffeepac)
The kubectl describe namespace
now shows Conditions (#106219, @dlipovetsky)
The etcd container image now supports Windows. (#92433, @claudiubelu)
The kube-apiserver's Prometheus metrics have been extended with some that describe the costs of handling LIST requests. They are as follows.
The pause image list now contains Windows Server 2022. (#104438, @nick5616)
The script kube-up.sh
installs csi-proxy v1.0.1-gke.0
. (#104426, @mauriciopoppe)
This PR adds the following metrics for API Priority and Fairness.
Topology Aware Hints have graduated to beta. (#106433, @robscott) [SIG Network]
Turn on CSIMigrationAzureDisk by default on 1.23 (#104670, @andyzhangx)
Update the system-validators library to v1.6.0 (#106323, @neolit123) [SIG Cluster Lifecycle and Node]
Updated Cluster Autosaler to version 1.22.0
. Release notes: https://github.com/kubernetes/autoscaler/releases/tag/cluster-autoscaler-1.22.0. (#104293, @x13n)
Updates debian-iptables
to v1.6.7 to pick up CVE fixes. (#104970, @PushkarJ)
Updates the following images to pick up CVE fixes:
debian
to v1.9.0debian-iptables
to v1.6.6setcap
to v2.0.4 (#104142, @mengjiao-liu)Upgrade etcd to 3.5.1 (#105706, @uthark) [SIG Cloud Provider, Cluster Lifecycle and Testing]
When feature gate JobTrackingWithFinalizers
is enabled:
job_pod_finished_total
counts the number of finished Pods tracked by the Job controller. (#105197, @alculquicondor)When using RequestedToCapacityRatio
ScoringStrategy, empty shape will cause error. (#106169, @kerthcet) [SIG Scheduling]
client-go
event library allows customizing spam filtering function.
It is now possible to override SpamKeyFunc
, which is used by event filtering to detect spam in the events. (#103918, @olagacek)
client-go
, using log level 9, traces the following events of a HTTP request:
- DNS lookup
- TCP dialing
- TLS handshake
- Time to get a connection from the pool
- Time to process a request (#105156, @aojea)
kube-scheduler
now logs node and plugin scoring even though --v<10
pod_scheduling_duration_seconds
, pod_scheduling_attempts
, framework_extension_point_duration_seconds
, plugin_execution_duration_seconds
and queue_incoming_pods_total
metrics to stable. (#106266, @ahg-g) [SIG Instrumentation, Scheduling and Testing]--audit-log-maxbackup
to describe behavior when value = 0
. (#103843, @Arkessler)(PodSecurity admission) errors validating workload resources (deployment, replicaset, etc.) no longer block admission. (#106017, @tallclair) [SIG Auth]
A pod that the Kubelet rejects was still considered as being accepted for a brief period of time after rejection, which might cause some pods to be rejected briefly that could fit on the node. A pod that is still terminating (but has status indicating it has failed) may also still be consuming resources and so should also be considered. (#104817, @smarterclayton)
Add Kubernetes Events to the Kubelet Graceful Shutdown
feature. (#101081, @rphillips)
Add Pod Security admission metrics: pod_security_evaluations_total
, pod_security_exemptions_total
, pod_security_errors_total
(#105898, @tallclair)
Add support for Windows Network stats in Containerd (#105744, @jsturtevant) [SIG Node, Testing and Windows]
Added show-capacity option to kubectl top node
to show Capacity
resource usage (#102917, @bysnupy) [SIG CLI]
Apimachinery: Pretty printed JSON and YAML output is now indented consistently. (#105466, @liggitt)
Be able to create a Pod with Generic Ephemeral Volumes as raw block devices. (#105682, @pohly)
CA, certificate and key bundles for the generic-apiserver
based servers will be reloaded immediately after the files are changed. (#104102, @tnqn)
Change kubectl diff --invalid-arg
status code from 1 to 2 to match docs (#105445, @ardaguclu)
Changed kubectl describe to compute age of an event using the EventSeries.count
and EventSeries.lastObservedTime
. (#104482, @harjas27)
Changes behaviour of kube-proxy start; does not attempt to set specific sysctl
values (which does not work in recent Kernel versions anymore in non-init namespaces), when the current sysctl values are already set higher. (#103174, @Napsty)
Client-go uses the same HTTP client for all the generated groups and versions, allowing to share customized transports for multiple groups versions. (#105490, @aojea)
Do not unmount and mount subpath bind mounts during container creation unless bind mount changes (#105512, @gnufied) [SIG Storage]
Don't prematurely close reflectors in case of slow initialization in watch based manager to fix issues with inability to properly mount secrets/configmaps. (#104604, @wojtek-t)
Don't use a custom dialer for the kubelet if is not rotating certificates, so we can reuse TCP connections and have only one between the apiserver and the kubelet. If users experiment problems with stale connections using HTTP1.1, they can force the previous behavior of the kubelet by setting the environment variable DISABLE_HTTP2. (#104844, @aojea) [SIG API Machinery, Auth and Node]
EndpointSlice Mirroring controller now cleans up managed EndpointSlices when a Service selector is added (#105997, @robscott) [SIG Apps, Network and Testing]
Enhanced event messages for pod failed for exec probe timeout (#106201, @yxxhero) [SIG Node]
Ensure Pods are removed from the scheduler cache when the scheduler misses deletion events due to transient errors (#106102, @alculquicondor) [SIG Scheduling]
Ensure InstanceShutdownByProviderID
return false for creating Azure VMs. (#104382, @feiskyer)
Evicted and other terminated Pods will no longer revert to the Running
phase. (#105462, @ehashman)
Fix kube-apiserver
metric reporting for the deprecated watch path of /api/<version>/watch/...
. (#104161, @wojtek-t)
Fix a regression where the Kubelet failed to exclude already completed pods from calculations about how many resources it was currently using when deciding whether to allow more pods. (#104577, @smarterclayton)
Fix detach disk issue on deleting vmss node. (#104572, @andyzhangx)
Fix job controller syncs: In case of conflicts, ensure that the sync happens with the most up to date information. Improves reliability of JobTrackingWithFinalizers. (#105214, @alculquicondor)
Fix job tracking with finalizers for more than 500 pods, ensuring all finalizers are removed before counting the Pod. (#104666, @alculquicondor)
Fix pod name of NonIndexed Jobs to not include rogue -1
substring (#105676, @alculquicondor)
Fix scoring for NodeResourcesBalancedAllocation
plugins when nodes have containers with no requests. (#105845, @ahmad-diaa)
Fix system default topology spreading when nodes don't have zone labels. Pods correctly spread by default now. (#105046, @alculquicondor)
Fix: do not try to delete a LoadBalancer that does not exist (#105777, @nilo19)
Fix: ignore non-VMSS error for VMAS nodes in reconcileBackendPools
. (#103997, @nilo19)
Fix: leave the probe path empty for TCP probes (#105253, @nilo19)
Fix: remove VMSS and VMSS instances from SLB backend pool only when necessary (#105839, @nilo19)
Fix: skip instance not found
when decoupling VMSSs from LB (#105666, @nilo19)
Fix: skip case sensitivity when checking Azure NSG rules. (#104384, @feiskyer)
Fixed a bug that prevents a PersistentVolume that has a PersistentVolumeClaim UID which doesn't exist in local cache but exists in etcd from being updated to the Released phase. (#105211, @xiaopingrubyist)
Fixed a bug where using kubectl patch
with $deleteFromPrimitiveList
on a nonexistent or empty list would add the item to the list (#105421, @brianpursley)
Fixed a bug which could cause webhooks to have an incorrect copy of the old object after an Apply or Update (#106195, @alexzielenski) [SIG API Machinery]
Fixed a bug which kubectl would emit duplicate warning messages for flag names that contain an underscore and recommend using a nonexistent flag in some cases. (#103852, @brianpursley)
Fixed a panic in kubectl
when creating secrets with an improper output type (#106317, @lauchokyip)
Fixed a regression setting --audit-log-path=-
to log to stdout in 1.22 pre-release. (#103875, @andrewrynhard)
Fixed an issue which didn't append OS's environment variables with the one provided in Credential Provider Config file, which may fail execution of external credential provider binary. See https://github.com/kubernetes/kubernetes/issues/102750. (#103231, @n4j)
Fixed applying of SELinux labels to CSI volumes on very busy systems (with "error checking for SELinux support: could not get consistent content of /proc/self/mountinfo after 3 attempts") (#105934, @jsafrane) [SIG Storage]
Fixed architecture within manifest for non amd64
etcd images. (#104116, @saschagrunert)
Fixed architecture within manifest for non amd64
etcd images. (#105484, @saschagrunert)
Fixed azure disk translation issue due to lower case managed
kind. (#103439, @andyzhangx)
Fixed client IP preservation for NodePort service with protocol SCTP in ipvs. (#104756, @tnqn)
Fixed concurrent map access causing panics when logging timed-out API calls. (#105734, @marseel)
Fixed consolidate logs for instance not found
error
Fixed skip not found
nodes when reconciling LB backend address pools (#105188, @nilo19)
Fixed occasional pod cgroup freeze when using cgroup v1 and systemd driver. (#104528, @kolyshkin)
Fixed the issue where logging output of kube-scheduler configuration files included line breaks and escape characters. The output also attempted to output the configuration file in one section without showing the user a more readable format. (#106228, @sanchayanghosh) [SIG Scheduling]
Fixes a bug that could result in the EndpointSlice controller unnecessarily updating EndpointSlices associated with a Service that had Topology Aware Hints enabled. (#105267, @llhuii)
Fixes a regression that could cause panics in LRU caches in controller-manager, kubelet, kube-apiserver, or client-go. (#104466, @stbenjam)
Fixes an issue where an admission webhook can observe a v1 Pod object that does not have the defaultMode
field set in the injected service account token volume in kube-api-server. (#104523, @liggitt)
Fixes the should support building a client with a CSR
E2E test to work with clusters configured with short certificate lifetimes (#105396, @liggitt)
Graceful node shutdown, allow the actual inhibit delay to be greater than the expected inhibit delay. (#103137, @wzshiming)
Handle Generic Ephemeral Volumes properly in the node limits scheduler filter and the kubelet hostPath
check. (#100482, @pohly)
Headless Services with no selector which were created without dual-stack enabled will be defaulted to RequireDualStack instead of PreferDualStack. This is consistent with such Services which are created with dual-stack enabled. (#104986, @thockin)
Ignore not a vmss instance
error for VMAS nodes in EnsureBackendPoolDeleted
. (#105185, @ialidzhikov)
Ignore the case when comparing azure tags in service annotation. (#104705, @nilo19)
Ignore the case when updating Azure tags. (#104593, @nilo19)
Introduce a new server run option 'shutdown-send-retry-after'. If true the HTTP Server will continue listening until all non longrunning request(s) in flight have been drained, during this window all incoming requests will be rejected with a status code 429
and a 'Retry-After' response header. (#101257, @tkashem)
Kube-apiserver: Avoid unnecessary repeated calls to admission webhooks
that reject an update or delete request. (#104182, @liggitt)
Kube-apiserver: Server Side Apply merge order is reverted to match v1.22 behavior until http://issue.k8s.io/104641
is resolved. (#106661, @liggitt)
Kube-apiserver: events created via the events.k8s.io
API group for cluster-scoped objects are now permitted in the default namespace as well for compatibility with events clients and the v1
API (#100125, @h4ghhh)
Kube-apiserver: fix a memory leak when deleting multiple objects with a deletecollection
. (#105606, @sxllwx)
Kube-proxy health check ports used to listen to :<port>
for each of the services. This is not needed and opens ports in addresses the cluster user may not have intended. The PR limits listening to all node address which are controlled by --nodeport-addresses
flag. if no addresses are provided then we default to existing behavior by listening to :<port>
for each service (#104742, @khenidak)
Kube-proxy: delete stale conntrack UDP entries for loadbalancer ingress IP. (#104009, @aojea)
Kube-scheduler now doesn't print any usage message when unknown flag is specified. (#104503, @sanposhiho)
Kube-up now includes CoreDNS version v1.8.6 (#106091, @rajansandeep) [SIG Cloud Provider]
Kubeadm: When adding an etcd peer to an existing cluster, if an error is returned indicating the peer has already been added, this is accepted and a ListMembers
call is used instead to return the existing cluster. This helps to diminish the exponential backoff when the first AddMember call times out, while still retaining a similar performance when the peer has already been added from a previous call. (#104134, @ihgann)
Kubeadm: do not allow empty --config
paths to be passed to kubeadm kubeconfig user
(#105649, @navist2020)
Kubeadm: fix a bug on Windows worker nodes, where the downloaded KubeletConfiguration from the cluster can contain Linux paths that do not work on Windows and can trip the kubelet binary. (#105992, @hwdef) [SIG Cluster Lifecycle and Windows]
Kubeadm: switch the preflight check (called 'Swap') that verifies if swap is enabled on Linux hosts to report a warning instead of an error. This is related to the graduation of the NodeSwap feature gate in the kubelet to Beta and being enabled by default in 1.23 - allows swap support on Linux hosts. In the next release of kubeadm (1.24) the preflight check will be removed, thus we recommend that you stop using it - e.g. via --ignore-preflight-errors
or the kubeadm config. (#104854, @pacoxu)
Kubelet did not report kubelet_volume_stats_*
metrics for Generic Ephemeral Volumes. (#105569, @pohly)
Kubelet's Node Grace Shutdown will terminate probes when shutting down (#105215, @rphillips)
Kubelet: fixes a file descriptor leak in log rotation (#106382, @rphillips) [SIG Node]
Kubelet: the printing of flags at the start of kubelet now uses the final logging configuration. (#106520, @pohly)
Make the etcd client (used by the API server) retry certain types of errors. The full list of retriable (codes.Unavailable) errors can be found at https://github.com/etcd-io/etcd/blob/main/api/v3rpc/rpctypes/error.go#L72 (#105069, @p0lyn0mial)
Metrics changes: Fix exposed buckets of scheduler_volume_scheduling_duration_seconds_bucket
metric. (#100720, @dntosas)
Migrated kubernetes object references (= name + namespace) to structured logging when using JSON as log output format (#104877, @pohly)
Pass additional flags to subpath mount to avoid flakes in certain conditions. (#104253, @mauriciopoppe)
Pod SecurityContext sysctls name parameter for update requests where the existing object's sysctl contains slashes and kubelet sysctl whitelist support contains slashes. (#102393, @mengjiao-liu) [SIG Apps, Auth, Node, Storage and Testing]
Pod will not start when Init container was OOM killed. (#104650, @yxxhero) [SIG Node]
PodResources interface was changed, now it returns only isolated CPUs (#97415, @AlexeyPerevalov)
Provide IPv6 support for internal load balancer. (#103794, @nilo19)
Reduce the number of calls to docker for stats via dockershim. For Windows this reduces the latency when calling docker, for Linux this saves cpu cycles. (#104287, @jsturtevant) [SIG Node and Windows]
Removed the error message label from the kubelet_started_pods_errors_total
metric (#105213, @yxxhero)
Resolves a potential issue with GC and NS controllers which may delete objects after getting a 404 response from the server during its startup. This PR ensures that requests to aggregated APIs will get 503, not 404 while the APIServiceRegistrationController hasn't finished its job. (#104748, @p0lyn0mial)
Respect grace period when updating static pods. (#104743, @gjkim42) [SIG Node and Testing]
Revert building binaries with PIE mode. (#105352, @ehashman)
Reverts adding namespace label to admission metrics (and histogram exansion) due to cardinality issues. (#104033, @s-urbaniak)
Reverts the CRI API version surfaced by dockershim to v1alpha2
. (#106808, @saschagrunert)
Scheduler resource metrics over fractional binary quantities (2.5Gi, 1.1Ki) were incorrectly reported as very small values. (#103751, @y-tag)
Support more than 100 disk mounts on Windows (#105673, @andyzhangx)
Support using negative array index in JSON patch replace operations. (#105896, @zqzten)
The --leader-elect*
CLI args are now honored in scheduler. (#105915, @Huang-Wei)
The --leader-elect*
CLI args are now honored in the scheduler. (#105712, @Huang-Wei)
The client-go
dynamic client sets the header Content-Type: application/json
by default (#104327, @sxllwx)
The kube-Proxy
now correctly filters out unready endpoints for Services with Topology. (#106507, @robscott)
The pods/binding
subresource now honors metadata.uid
and metadata.resourceVersion
(#105913, @aholic)
The kube-proxy sync_proxy_rules_iptables_total metric now gives the correct number of rules, rather than being off by one.
Fixed multiple iptables proxy regressions introduced in 1.22:
When using Services with SessionAffinity, client affinity for an endpoint now gets broken when that endpoint becomes non-ready (rather than continuing until the endpoint is fully deleted).
Traffic to a service IP now starts getting rejected (as opposed to merely dropped) as soon as there are no longer any usable endpoints, rather than waiting until all of the terminating endpoints have terminated even when those terminating endpoints were not being used.
Chains for endpoints that won't be used are no longer output to iptables, saving a bit of memory/time/cpu. (#106030, @danwinship) [SIG Network]
Topology Aware Hints now ignores unready endpoints when assigning hints. (#106510, @robscott)
Topology Hints now excludes control plane notes from capacity calculations. (#104744, @robscott)
Update Go used to build migrate script in etcd image to v1.16.7. (#104301, @serathius)
Updated json representation for a conflicted taint to Key=Effect
when a conflicted taint occurs in kubectl taint. (#104011, @manugupt1)
Upgrades functionality of kubectl kustomize
as described at
https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv4.4.1 (#106389, @natasha41575) [SIG CLI]
Watch requests that are delegated to aggregated API servers no longer reserve concurrency units (seats) in the API Priority and Fairness dispatcher for their entire duration. (#105511, @benluddy)
When a static pod file is deleted and recreated while using a fixed UID, the pod was not properly restarted. (#104847, @smarterclayton)
XFS-filesystems are now force-formatted (option -f
) in order to avoid problems being formatted due to detection of magic super-blocks. This aligns with the behaviour of formatting of ext3/4 filesystems. (#104923, @davidkarlsen)
--log-flush-frequency
had no effect in several commands or was missing. Help and warning texts were not always using the right format for a command (add_dir_header
instead of add-dir-header
). Fixing this included cleaning up flag handling in component-base/logs: that package no longer adds flags to the global flag sets. Commands which want the klog and --log-flush-frequency
flags must explicitly call logs.AddFlags
; the new cli.Run
does that for commands. That helper function also covers flag normalization and printing of usage and errors in a consistent way (print usage text first if parsing failed, then the error). (#105076, @pohly)
klog
flags except for -v
and -vmodule
are deprecated. Support for -vmodule
is only guaranteed for the text log format. (#105042, @pohly)apiserver_longrunning_gauge
and apiserver_register_watchers
in 1.23.0. (#103793, @yan-lgtm)CertificateSigningRequest
objects with an unparseable status.certificate
field. (#103823, @liggitt)/proxy
subresources with no additional URL path now only automatically redirect GET and HEAD requests. (#95128, @Riaankl)ClusterConfiguration
that have Unicode characters are no longer IDNA encoded (converted to Punycode). They are now just URL encoded as per Go's implementation of RFC-3986, have duplicate "/" removed from the URL paths, and passed like that directly to the kube-apiserver
--etcd-servers
flag. If you have etcd endpoints that have Unicode characters, it is advisable to encode them in advance with tooling that is fully IDNA compliant. If you don't do that, the Go standard library (used in k8s and etcd) would do it for you when making requests to the endpoints. (#103801, @gkarthiks)--port
flag from the manifest for the kube-controller-manager
since the flag has been a NO-OP since 1.22 and insecure serving was removed for the component. (#104157, @knight42)--port
flag from the manifest for the kube-scheduler since the flag has been a NO-OP since 1.23 and insecure serving was removed for the component. (#105034, @pacoxu)ci-cross
prefix has been removed from the version match as it does not exist in the new gs://k8s-release-dev
bucket. (#103813, @SataQiu)DEPRECATED: <explanation>
comment. (#106172, @pohly) [SIG CLI]cmd/proxy/{config, healthcheck, winkernel}
to structured logging (#104944, @jyz0309)pkg/proxy
to structured logging (#104908, @CIPHERTron)pkg/scheduler/framework/plugins/interpodaffinity/filtering.go
,pkg/scheduler/framework/plugins/podtopologyspread/filtering.go
, pkg/scheduler/framework/plugins/volumezone/volume_zone.go
to structured logging (#105931, @mengjiao-liu)pkg/scheduler
to structured logging. (#99273, @yangjunmyfm192085)cmd/kube-scheduler/app/server.go
, pkg/scheduler/framework/plugins/nodelabel/node_label.go
, pkg/scheduler/framework/plugins/nodevolumelimits/csi.go
, pkg/scheduler/framework/plugins/nodevolumelimits/non_csi.go
to structured logging (#105855, @shivanshu1333)pkg/proxy/ipvs
to structured logging (#104932, @shivanshu1333)pkg/proxy/userspace
to structured logging. (#104931, @shivanshu1333)pkg/proxy
to structured logging (#104891, @shivanshu1333)pkg/scheduler/framework/plugins/volumebinding/assume_cache.go
to structured logging. (#105904, @mengjiao-liu) [SIG Instrumentation, Scheduling and Storage]pkg/scheduler/framework/preemption/preemption.go
, pkg/scheduler/framework/plugins/examples/stateful/stateful.go
, and pkg/scheduler/framework/plugins/noderesources/resource_allocation.go
to structured logging (#105967, @shivanshu1333) [SIG Instrumentation, Node and Scheduling]cache.go
to structured logging (#105969, @shivanshu1333) [SIG Instrumentation and Scheduling]comparer.go
, dumper.go
, node_tree.go
to structured logging (#105968, @shivanshu1333) [SIG Instrumentation and Scheduling]--csr-only
and --csr-dir
from kubeadm certs renew
. Please use kubeadm certs generate-csr
instead. (#104796, @RA489)k8s.gcr.io/pause:3.6
image. (#104711, @claudiubelu)propagationPolicy
for jobs while deleting. (#104080, @ravisantoshgudimetla)AllowInsecureBackendProxy
feature gate is removed. It reached GA in Kubernetes 1.21. (#103796, @mengjiao-liu)BoundServiceAccountTokenVolume
feature gate that is GA since v1.22 is unconditionally enabled, and can no longer be specified via the --feature-gates
argument. (#104167, @ialidzhikov)StartupProbe
feature gate that is GA since v1.20 is unconditionally enabled, and can no longer be specified via the --feature-gates
argument. (#104168, @ialidzhikov)SupportPodPidsLimit
and SupportNodePidsLimit
feature gates that are GA since v1.20 are unconditionally enabled, and can no longer be specified via the --feature-gates
argument. (#104163, @ialidzhikov)apiserver
exposes 4 new metrics that allow to track the status of the Service CIDRs allocations:
- current number of available IPs per Service CIDR
- current number of used IPs per Service CIDR
- total number of allocation per Service CIDR
- total number of allocation errors per ServiceCIDR (#104119, @aojea)--deployment-controller-sync-period
has been deprecated and will be removed in v1.24. (#103538, @Pingan2017)gcr.io/kubernetes-e2e-test-images
will no longer be used in E2E / CI testing, k8s.gcr.io/e2e-test-images
will be used instead. (#103724, @claudiubelu)/go-runner
as a replacement for deprecated klog flags. (#106301, @pohly)CSINode
id field has increased to 256 bytes to match the CSI spec. (#104160, @pacoxu)DeltaFIFO
queue starts to grow beyond 10 elements. (#103917, @aojea)cri-tools
dependency to v1.22.0. (#104430, @saschagrunert)migratecmd/kube-proxy/app
logs to structured logging. (#98913, @yxxhero)debian-base:buster-v1.9.0
. (#104696, @PushkarJ)volume.kubernetes.io/storage-provisioner
annotation will be added to dynamic provisioning required PVC. volume.beta.kubernetes.io/storage-provisioner
annotation is deprecated. (#104590, @Jiawei0227)
Contributors, the
CHANGELOG-1.23.md has been bootstrapped with
v1.23.0 release notes and you may edit now as needed.
Published by your
Kubernetes Release
Managers.