Update dependency kubernetes to v27 #20
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
~=25.3.0->~=27.2.0Release Notes
kubernetes-client/python (kubernetes)
v27.2.0Compare Source
Kubernetes API Version: v1.27.2
API Change
Added error handling for seccomp localhost configurations that do not properly set a localhostProfile (kubernetes/kubernetes#117020, @cji) [SIG API Machinery and Node]
Fixed an issue where kubelet does not set case-insensitive headers for http probes. (#117182, @dddddai) (kubernetes/kubernetes#117324, @dddddai) [SIG API Machinery, Apps and Node]
Revised the comment about the feature-gate level for PodFailurePolicy from alpha to beta (kubernetes/kubernetes#117815, @kerthcet) [SIG Apps]
A fix in the
resource.k8s.io/v1alpha1/ResourceClaimAPI avoids harmless (?) ".status.reservedFor: element 0: associative list without keys has an element that's a map type" errors in the apiserver. Validation now rejects the incorrect reuse of the same UID in different entries. (kubernetes/kubernetes#115354, @pohly)A terminating pod on a node that is not caused by preemption no longer prevents
kube-schedulerfrom preempting pods on that nodePreemptionByKubeSchedulertoPreemptionByScheduler(kubernetes/kubernetes#114623, @Huang-Wei)API: resource.k8s.io/v1alpha1.PodScheduling was renamed to resource.k8s.io/v1alpha2.PodSchedulingContext. (kubernetes/kubernetes#116556, @pohly) [SIG API Machinery, Apps, Auth, CLI, Node, Scheduling and Testing]
Added CEL runtime cost calculation into ValidatingAdmissionPolicy, matching the evaluation cost
restrictions that already apply to CustomResourceDefinition.
If rule evaluation uses more compute than the limit, the API server aborts the evaluation and the
admission check that was being performed is aborted; the
failurePolicyfor the ValidatingAdmissionPolicydetermines the outcome. (kubernetes/kubernetes#115747, @cici37)
Added
auditAnnotationstoValidatingAdmissionPolicy, enabling CEL to be used to add audit annotations to request audit events.Added
validationActionstoValidatingAdmissionPolicyBinding, enabling validation failures to be handled by any combination of the warn, audit and deny enforcement actions. (kubernetes/kubernetes#115973, @jpbetz)Added
messageExpressionfield toValidationRule. (kubernetes/kubernetes#115969, @DangerOnTheRanger)Added
messageExpressiontoValidatingAdmissionPolicy, to set custom failure message via CEL expression. (kubernetes/kubernetes#116397, @jiahuif) [SIG API Machinery]Added a new IPAddress object kind
Added a new alpha API: ClusterTrustBundle (
certificates.k8s.io/v1alpha1).A ClusterTrustBundle may be used to distribute X.509 trust anchors to workloads within the cluster. (kubernetes/kubernetes#113218, @ahmedtd) [SIG API Machinery, Auth and Testing]
Added authorization check support to the CEL expressions of ValidatingAdmissionPolicy via a
authorizervariable with expressions. The new variable provides a builder that allows expressions such
authorizer.group('').resource('pods').check('create').allowed(). (kubernetes/kubernetes#116054, @jpbetz) [SIG API Machinery and Testing]Added matchConditions field to ValidatingAdmissionPolicy and enabled support for CEL based custom match criteria. (kubernetes/kubernetes#116350, @maxsmythe)
Added new option to the
InterPodAffinityscheduler plugin to ignore existingpods
preferred inter-pod affinities if the incoming pod has no preferred inter-pod affinities. This option can be used as an optimization for higher scheduling throughput (at the cost of an occasional pod being scheduled non-optimally/violating existing pods preferred inter-pod affinities). To enable this scheduler option, set theInterPodAffinityscheduler plugin argignorePreferredTermsOfExistingPods: true` (kubernetes/kubernetes#114393, @danielvegamyhre)Added the
MatchConditionsfield toValidatingWebhookConfigurationandMutatingWebhookConfigurationfor the v1beta and v1 apis.The
AdmissionWebhookMatchConditionsfeaturegate is now in Alpha (kubernetes/kubernetes#116261, @ivelichkovich) [SIG API Machinery and Testing]Added validation to ensure that if
service.kubernetes.io/topology-aware-hintsandservice.kubernetes.io/topology-modeannotations are both set, they are set to the same value.Also Added deprecation warning ifservice.kubernetes.io/topology-aware-hintsannotation is used. (kubernetes/kubernetes#116612, @robscott)Added warnings about workload resources (Pods, ReplicaSets, Deployments, Jobs, CronJobs, or ReplicationControllers) whose names are not valid DNS labels. (kubernetes/kubernetes#114412, @thockin)
Adds feature gate
NodeLogQuerywhich provides cluster administrators with a streaming view of logs using kubectl without them having to implement a client side reader or logging into the node. (kubernetes/kubernetes#96120, @LorbusChris)Api: validation of a
PodSpecnow rejects invalidResourceClaimandResourceClaimTemplatenames. For a pod, the name generated for theResourceClaimwhen using a template also must be valid. (kubernetes/kubernetes#116576, @pohly)Bump default API QPS limits for Kubelet. (kubernetes/kubernetes#116121, @wojtek-t)
Enabled the
StatefulSetStartOrdinalfeature gate in beta (kubernetes/kubernetes#115260, @pwschuurman)Enabled usage of
kube-proxy,kube-schedulerandkubeletHTTP APIs for changing the loggingverbosity at runtime for JSON output. (kubernetes/kubernetes#114609, @pohly)
Encryption of API Server at rest configuration now allows the use of wildcards in the list of resources. For example, . can be used to encrypt all resources, including all current and future custom resources. (kubernetes/kubernetes#115149, @nilekhc)
Extended the kubelet's PodResources API to include resources allocated in
ResourceClaimsviaDynamicResourceAllocation. Additionally, added a newGet()method to query a specific pod for its resources. (kubernetes/kubernetes#115847, @moshe010) [SIG Node]Forbid to set matchLabelKeys when labelSelector is not set in topologySpreadConstraints (kubernetes/kubernetes#116535, @denkensk)
GCE does not support LoadBalancer Services with ports with different protocols (TCP and UDP) (kubernetes/kubernetes#115966, @aojea) [SIG Apps and Cloud Provider]
GRPC probes are now a GA feature.
GRPCContainerProbefeature gate was locked to default value and will be removed in v1.29. If you were setting this feature gate explicitly, please remove it now. (kubernetes/kubernetes#116233, @SergeyKanzhelev)Graduated
Kubelet Topology Managerto GA. (kubernetes/kubernetes#116093, @swatisehgal)Graduated
KubeletTracingto beta, which means that the feature gate is now enabled by default. (kubernetes/kubernetes#115750, @saschagrunert)Graduated seccomp profile defaulting to GA.
Set the kubelet
--seccomp-defaultflag orseccompDefaultkubelet configuration field totrueto make pods on that node default to using theRuntimeDefaultseccomp profile.Enabling seccomp for your workload can have a negative performance impact depending on the kernel and container runtime version in use.
Guidance for identifying and mitigating those issues is outlined in the Kubernetes seccomp tutorial. (kubernetes/kubernetes#115719, @saschagrunert) [SIG API Machinery, Node, Storage and Testing]
Graduated the container resource metrics feature on
HPAto beta. (kubernetes/kubernetes#116046, @sanposhiho)Implemented API streaming for the
watch-cacheWhen
sendInitialEventsListOptionis set together withwatch=true, it begins the watch stream with synthetic init events followed by a synthetic "Bookmark" after which the server continues streaming events. (kubernetes/kubernetes#110960, @p0lyn0mial)Introduced API for streaming.
Added
SendInitialEventsfield to theListOptions. When the new option is set together withwatch=true, it begins the watch stream with synthetic init events followed by a synthetic "Bookmark" after which the server continues streaming events. (kubernetes/kubernetes#115402, @p0lyn0mial)Introduced a breaking change to the
resource.k8s.ioAPI in itsAllocationResultstruct. This change allows a kubelet plugin for theDynamicResourceAllocationfeature to service allocations from multiple resource driver controllers. (kubernetes/kubernetes#116332, @klueska)Introduces new alpha functionality to the reflector, allowing user to enable API streaming.
To activate this feature, users can set the
ENABLE_CLIENT_GO_WATCH_LIST_ALPHAenvironmental variable.It is important to note that the server must support streaming for this feature to function properly.
If streaming is not supported by the server, the reflector will revert to the previous method
of obtaining data through LIST/WATCH semantics. (kubernetes/kubernetes#110772, @p0lyn0mial) [SIG API Machinery]
K8s.io/client-go/tools/record.EventBroadcaster: after Shutdown() is called, the broadcaster now gives up immediately after a failure to write an event to a sink. Previously it tried multiple times for 12 seconds in a goroutine. (kubernetes/kubernetes#115514, @pohly) [SIG API Machinery]
K8s.io/component-base/logs: usage of the pflag values in a normal Go flag set led to panics when printing the help message (kubernetes/kubernetes#114680, @pohly) [SIG Instrumentation]
Kubeadm: explicitly set
priorityfor static pods withpriorityClassName: system-node-critical(kubernetes/kubernetes#114338, @champtar) [SIG Cluster Lifecycle]Kubelet: a "maxParallelImagePulls" field can now be specified in the kubelet configuration file to control how many image pulls the kubelet can perform in parallel. (kubernetes/kubernetes#115220, @ruiwen-zhao) [SIG API Machinery, Node and Scalability]
Kubelet: changed
MemoryThrottlingFactordefault value to0.9and formulas to calculatememory.high(kubernetes/kubernetes#115371, @pacoxu)Kubernetes components that perform leader election now only support using
Leasesfor this. (kubernetes/kubernetes#114055, @aimuz)Migrated the
DaemonSetcontroller (withinkube-controller-manager) to use contextual logging (kubernetes/kubernetes#113622, @249043822)New
service.kubernetes.io/topology-modeannotation has been introduced as a replacement for theservice.kubernetes.io/topology-aware-hintsannotation.service.kubernetes.io/topology-aware-hintsannotation has been deprecated.Pods owned by a Job now uses the labels
batch.kubernetes.io/job-nameandbatch.kubernetes.io/controller-uid.The legacy labels
job-nameandcontroller-uidare still added for compatibility. (kubernetes/kubernetes#114930, @kannon92)Promoted
CronJobTimeZonefeature to GA (kubernetes/kubernetes#115904, @soltysh)Promoted
SelfSubjectReviewto Beta (kubernetes/kubernetes#116274, @nabokihms) [SIG API Machinery, Auth, CLI and Testing]Relaxed API validation to allow pod node selector to be mutable for gated pods (additions only, no deletions or mutations). (kubernetes/kubernetes#116161, @danielvegamyhre)
Remove
kubernetes.io/grpcstandard appProtocol (kubernetes/kubernetes#116866, @LiorLieberman) [SIG API Machinery and Apps]Remove deprecated
--enable-taint-managerand--pod-eviction-timeoutCLI (kubernetes/kubernetes#115840, @atosatto)Removed support for the
v1alpha1kubeletplugin API ofDynamicResourceManagement. All plugins must be updated tov1alpha2in order to function properly. (kubernetes/kubernetes#116558, @klueska)The API server now re-uses data encryption keys while the kms v2 plugin key ID is stable. Data encryption keys are still randomly generated on server start but an atomic counter is used to prevent nonce collisions. (kubernetes/kubernetes#116155, @enj)
The PodDisruptionBudget
spec.unhealthyPodEvictionPolicyfield has graduated to beta and is enabled by default. On servers with the feature enabled, this field may be set toAlwaysAllowto always allow unhealthy pods covered by the PodDisruptionBudget to be evicted. (kubernetes/kubernetes#115363, @ravisantoshgudimetla) [SIG Apps, Auth and Node]The
DownwardAPIHugePageskubelet feature graduated to stable / GA. (kubernetes/kubernetes#115721, @saschagrunert) [SIG Apps and Node]The following feature gates for volume expansion GA features have now been removed and must no longer be referenced in
--feature-gatesflags:ExpandCSIVolumes,ExpandInUsePersistentVolumes,ExpandPersistentVolumes(kubernetes/kubernetes#113942, @mengjiao-liu)The list-type of the alpha
resourceClaimsfield introduced toPodsin1.26.0was modified fromsettomap, resolving an incompatibility with use of this schema inCustomResourceDefinitionsand with server-side apply. (kubernetes/kubernetes#114585, @JoelSpeed)Updated API reference for Requests, specifying they must not exceed limits (kubernetes/kubernetes#115434, @ehashman)
Updated
KMSv2to beta (kubernetes/kubernetes#115123, @aramase)Updated: Redefine AppProtocol field description and add new standard values (kubernetes/kubernetes#115433, @LiorLieberman) [SIG API Machinery, Apps and Network]
/metrics/slisis now available for control plane components allowing you to scrape health check metrics. (kubernetes/kubernetes#114997, @Richabanker)APIServerTracingfeature gate is now enabled by default. Tracing in the APIServer is still disabled by default, and requires a config file to enable. (kubernetes/kubernetes#116144, @dashpole)
NodeResourceFitandNodeResourcesBalancedAllocationimplement thePreScoreextension point for a more performant calculation. (kubernetes/kubernetes#115655, @tangwz)
PodSchedulingReadinessis graduated to beta. (kubernetes/kubernetes#115815, @Huang-Wei)PodSpec.Container.Resourcesbecame mutable for CPU and memory resource types.PodSpec.Container.ResizePolicy(new object) gives users control over how their containers are resized.PodStatus.Resizestatus describes the state of a requested Pod resize.PodStatus.ResourcesAllocateddescribes node resources allocated to Pod.PodStatus.Resourcesdescribes node resources applied to running containers by CRI.UpdateContainerResourcesCRI API now supports both Linux and Windows. (kubernetes/kubernetes#102884, @vinaykul)SELinuxMountReadWriteOncePodgraduated to Beta. (kubernetes/kubernetes#116425, @jsafrane)StatefulSetAutoDeletePVCfeature gate promoted to beta. (kubernetes/kubernetes#116501, @mattcary)StatefulSetnames must be DNS labels, rather than subdomains. AnyStatefulSetwhich took advantage of subdomain validation (by having dots in the name) can't
possibly have worked, because we eventually set
pod.spec.hostnamefrom theStatefulSetName,and that is validated as a DNS label. (kubernetes/kubernetes#114172, @thockin)
ValidatingAdmissionPolicynow provides a status field that contains results of type checking the validation expression.The type checking is fully informational, and the behavior of the policy is unchanged. (kubernetes/kubernetes#115668, @jiahuif)
cacheSizefield inEncryptionConfigurationis not supported for KMSv2 provider (kubernetes/kubernetes#113121, @aramase)k8s.io/component-base/logsnow also supports adding command line flags to aflag.FlagSet. (kubernetes/kubernetes#114731, @pohly)kubelet: migrated--container-runtime-endpointand--image-service-endpointto kubelet config (kubernetes/kubernetes#112136, @pacoxu)
resource.k8s.io/v1alpha1was replaced withresource.k8s.io/v1alpha2. Beforeupgrading a cluster, all objects in resource.k8s.io/v1alpha1 (ResourceClaim, ResourceClaimTemplate,
ResourceClass, PodScheduling) must be deleted. The changes are internal, so
YAML files which create pods and resource claims don't need changes except for
the newer
apiVersion. (kubernetes/kubernetes#116299, @pohly)volumes:resource.claimsis now cleared for PVC specs during create or update of a pod spec with inline PVC template or of a PVC because it has no effect. (kubernetes/kubernetes#115928, @pohly)Added a new alpha API: ClusterTrustBundle (
certificates.k8s.io/v1alpha1).A ClusterTrustBundle may be used to distribute X.509 trust anchors to workloads within the cluster. (kubernetes/kubernetes#113218, @ahmedtd) [SIG API Machinery, Auth and Testing]
Remove
kubernetes.io/grpcstandard appProtocol (kubernetes/kubernetes#116866, @LiorLieberman) [SIG API Machinery and Apps]API: resource.k8s.io/v1alpha1.PodScheduling was renamed to resource.k8s.io/v1alpha2.PodSchedulingContext. (kubernetes/kubernetes#116556, @pohly) [SIG API Machinery, Apps, Auth, CLI, Node, Scheduling and Testing]
APIServerTracing feature gate is now enabled by default. Tracing in the API Server is still disabled by default, and requires a config file to enable. (kubernetes/kubernetes#116144, @dashpole) [SIG API Machinery and Testing]
Added CEL runtime cost calculation into ValidatingAdmissionPolicy, matching the evaluation cost
restrictions that already apply to CustomResourceDefinition.
If rule evaluation uses more compute than the limit, the API server aborts the evaluation and the
admission check that was being performed is aborted; the
failurePolicyfor the ValidatingAdmissionPolicydetermines the outcome. (kubernetes/kubernetes#115747, @cici37) [SIG API Machinery]
Added
messageExpressiontoValidatingAdmissionPolicy, to set custom failure message via CEL expression. (kubernetes/kubernetes#116397, @jiahuif) [SIG API Machinery]Added a new IPAddress object kind
Added a new alpha API: ClusterTrustBundle (
certificates.k8s.io/v1alpha1).A ClusterTrustBundle may be used to distribute X.509 trust anchors to workloads within the cluster. (kubernetes/kubernetes#113218, @ahmedtd) [SIG API Machinery, Auth and Testing]
Added authorization check support to the CEL expressions of ValidatingAdmissionPolicy via a
authorizervariable with expressions. The new variable provides a builder that allows expressions such
authorizer.group('').resource('pods').check('create').allowed(). (kubernetes/kubernetes#116054, @jpbetz) [SIG API Machinery and Testing]Added matchConditions field to ValidatingAdmissionPolicy, enabled support for CEL based custom match criteria. (kubernetes/kubernetes#116350, @maxsmythe) [SIG API Machinery and Testing]
Added messageExpression field to ValidationRule. (#115969, @DangerOnTheRanger) (kubernetes/kubernetes#115969, @DangerOnTheRanger) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Instrumentation, Node and Testing]
Added the
MatchConditionsfield toValidatingWebhookConfigurationandMutatingWebhookConfigurationfor the v1beta and v1 apis.The
AdmissionWebhookMatchConditionsfeaturegate is now in Alpha (kubernetes/kubernetes#116261, @ivelichkovich) [SIG API Machinery and Testing]Added validation to ensure that if
service.kubernetes.io/topology-aware-hintsandservice.kubernetes.io/topology-modeannotations are both set, they are set to the same value.service.kubernetes.io/topology-aware-hintsannotation is used. (kubernetes/kubernetes#116612, @robscott) [SIG Apps, Network and Testing]Adds auditAnnotations to ValidatingAdmissionPolicy, enabling CEL to be used to add audit annotations to request audit events.
Adds validationActions to ValidatingAdmissionPolicyBinding, enabling validation failures to be handled by any combination of the warn, audit and deny enforcement actions. (kubernetes/kubernetes#115973, @jpbetz) [SIG API Machinery and Testing]
Adds feature gate
NodeLogQuerywhich provides cluster administrators with a streaming view of logs using kubectl without them having to implement a client side reader or logging into the node. (kubernetes/kubernetes#96120, @LorbusChris) [SIG API Machinery, Apps, CLI, Node, Testing and Windows]Api: validation of a PodSpec now rejects invalid ResourceClaim and ResourceClaimTemplate names. For a pod, the name generated for the ResourceClaim when using a template also must be valid. (kubernetes/kubernetes#116576, @pohly) [SIG Apps]
Bump default API QPS limits for Kubelet. (kubernetes/kubernetes#116121, @wojtek-t) [SIG API Machinery and Node]
Enable the "StatefulSetStartOrdinal" feature gate in beta (kubernetes/kubernetes#115260, @pwschuurman) [SIG API Machinery and Apps]
Extended the kubelet's PodResources API to include resources allocated in
ResourceClaimsviaDynamicResourceAllocation. Additionally, added a newGet()method to query a specific pod for its resources. (kubernetes/kubernetes#115847, @moshe010) [SIG Node]Forbid to set matchLabelKeys when labelSelector isn’t set in topologySpreadConstraints (kubernetes/kubernetes#116535, @denkensk) [SIG API Machinery, Apps and Scheduling]
GCE does not support LoadBalancer Services with ports with different protocols (TCP and UDP) (kubernetes/kubernetes#115966, @aojea) [SIG Apps and Cloud Provider]
GRPC probes are now a GA feature. GRPCContainerProbe feature gate was locked to default value and will be removed in v1.29. If you were setting this feature gate explicitly, please remove it now. (kubernetes/kubernetes#116233, @SergeyKanzhelev) [SIG API Machinery, Apps and Node]
Graduate Kubelet Topology Manager to GA. (kubernetes/kubernetes#116093, @swatisehgal) [SIG API Machinery, Node and Testing]
Graduate
KubeletTracingto beta, which means that the feature gate is now enabled by default. (kubernetes/kubernetes#115750, @saschagrunert) [SIG Instrumentation and Node]Graduate the container resource metrics feature on HPA to beta. (kubernetes/kubernetes#116046, @sanposhiho) [SIG Autoscaling]
Introduced a breaking change to the
resource.k8s.ioAPI in itsAllocationResultstruct. This change allows a kubelet plugin for theDynamicResourceAllocationfeature to service allocations from multiple resource driver controllers. (kubernetes/kubernetes#116332, @klueska) [SIG API Machinery, Apps, CLI, Node, Scheduling and Testing]Introduces new alpha functionality to the reflector, allowing user to enable API streaming.
To activate this feature, users can set the
ENABLE_CLIENT_GO_WATCH_LIST_ALPHAenvironmental variable.It is important to note that the server must support streaming for this feature to function properly.
If streaming is not supported by the server, the reflector will revert to the previous method
of obtaining data through LIST/WATCH semantics. (kubernetes/kubernetes#110772, @p0lyn0mial) [SIG API Machinery]
Kubelet: change MemoryThrottlingFactor default value to 0.9 and formulas to calculate memory.high (kubernetes/kubernetes#115371, @pacoxu) [SIG API Machinery, Apps and Node]
Migrated the DaemonSet controller (within `kube-controller-manager) to use contextual logging (kubernetes/kubernetes#113622, @249043822) [SIG API Machinery, Apps, Instrumentation and Testing]
New
service.kubernetes.io/topology-modeannotation has been introduced as a replacement for theservice.kubernetes.io/topology-aware-hintsannotation.service.kubernetes.io/topology-aware-hintsannotation has been deprecated.NodeResourceFit and NodeResourcesBalancedAllocation implement the PreScore extension point for a more performant calculation. (kubernetes/kubernetes#115655, @tangwz) [SIG Scheduling]
Pods owned by a Job will now use the labels
batch.kubernetes.io/job-nameandbatch.kubernetes.io/controller-uid.The legacy labels
job-nameandcontroller-uidare still added for compatibility. (kubernetes/kubernetes#114930, @kannon92) [SIG Apps]Promote CronJobTimeZone feature to GA (kubernetes/kubernetes#115904, @soltysh) [SIG API Machinery and Apps]
Promoted
SelfSubjectReviewto Beta (kubernetes/kubernetes#116274, @nabokihms) [SIG API Machinery, Auth, CLI and Testing]Relax API validation to allow pod node selector to be mutable for gated pods (additions only, no deletions or mutations). (kubernetes/kubernetes#116161, @danielvegamyhre) [SIG Apps, Scheduling and Testing]
Remove deprecated
--enable-taint-managerand--pod-eviction-timeoutCLI flags (kubernetes/kubernetes#115840, @atosatto) [SIG API Machinery, Apps, Node and Testing]Resource.k8s.io/v1alpha1 was replaced with resource.k8s.io/v1alpha2. Before upgrading a cluster, all objects in resource.k8s.io/v1alpha1 (ResourceClaim, ResourceClaimTemplate, ResourceClass, PodScheduling) must be deleted. The changes will be internal, so YAML files which create pods and resource claims don't need changes except for the newer
apiVersion. (kubernetes/kubernetes#116299, @pohly) [SIG API Machinery, Apps, CLI, Node, Scheduling and Testing]SELinuxMountReadWriteOncePod graduated to Beta. (kubernetes/kubernetes#116425, @jsafrane) [SIG Storage and Testing]
StatefulSetAutoDeletePVC feature gate promoted to beta. (kubernetes/kubernetes#116501, @mattcary) [SIG Apps, Auth and Testing]
The API server now re-uses data encryption keys while the kms v2 plugin's key ID is stable. Data encryption keys are still randomly generated on server start but an atomic counter is used to prevent nonce collisions. (kubernetes/kubernetes#116155, @enj) [SIG API Machinery, Auth and Testing]
The API server's encryption at rest configuration now allows the use of wildcards in the list of resources. For example, '.' can be used to encrypt all resources, including all current and future custom resources. (kubernetes/kubernetes#115149, @nilekhc) [SIG API Machinery, Auth and Testing]
Update KMSv2 to beta (kubernetes/kubernetes#115123, @aramase) [SIG API Machinery, Auth and Testing]
Updated: Redefine AppProtocol field description and add new standard values (kubernetes/kubernetes#115433, @LiorLieberman) [SIG API Machinery, Apps and Network]
ValidatingAdmissionPolicy now provides a status field that contains results of type checking the validation expression.
The type checking is fully informational, and the behavior of the policy is unchanged. (kubernetes/kubernetes#115668, @jiahuif) [SIG API Machinery, Auth, Cloud Provider and Testing]
We have removed support for the v1alpha1 kubeletplugin API of DynamicResourceManagement. All plugins must update to v1alpha2 in order to function properly going forward. (kubernetes/kubernetes#116558, @klueska) [SIG API Machinery, Apps, CLI, Node, Scheduling and Testing]
Graduated seccomp profile defaulting to GA.
Set the kubelet
--seccomp-defaultflag orseccompDefaultkubelet configuration field totrueto make pods on that node default to using theRuntimeDefaultseccomp profile.Enabling seccomp for your workload can have a negative performance impact depending on the kernel and container runtime version in use.
Guidance for identifying and mitigating those issues is outlined in the Kubernetes seccomp tutorial. (kubernetes/kubernetes#115719, @saschagrunert) [SIG API Machinery, Node, Storage and Testing]
Implements API for streaming for the watch-cache
When sendInitialEvents ListOption is set together with watch=true, it begins the watch stream with synthetic init events followed by a synthetic "Bookmark" after which the server continues streaming events. (kubernetes/kubernetes#110960, @p0lyn0mial) [SIG API Machinery]
Introduce API for streaming.
Add SendInitialEvents field to the ListOptions. When the new option is set together with watch=true, it begins the watch stream with synthetic init events followed by a synthetic "Bookmark" after which the server continues streaming events. (kubernetes/kubernetes#115402, @p0lyn0mial) [SIG API Machinery]
Kubelet: a "maxParallelImagePulls" field can now be specified in the kubelet configuration file to control how many image pulls the kubelet can perform in parallel. (kubernetes/kubernetes#115220, @ruiwen-zhao) [SIG API Machinery, Node and Scalability]
PodSchedulingReadiness is graduated to beta. (kubernetes/kubernetes#115815, @Huang-Wei) [SIG API Machinery, Apps, Scheduling and Testing]
In-place resize feature for Kubernetes Pods
resourcesdefined for containers are mutable forcpuandmemoryresource types.resizePolicyfor containers in a pod to allow users control over how their containers are resized.allocatedResourcesfield to container status in pod status that describes the node resources allocated to a pod.resourcesfield to container status that reports actual resources applied to running containers.resizefield to pod status that describes the state of a requested pod resize.For details, see KEPs below. (kubernetes/kubernetes#102884, @vinaykul) [SIG API Machinery, Apps, Instrumentation, Node, Scheduling and Testing]
The PodDisruptionBudget
spec.unhealthyPodEvictionPolicyfield has graduated to beta and is enabled by default. On servers with the feature enabled, this field may be set toAlwaysAllowto always allow unhealthy pods covered by the PodDisruptionBudget to be evicted. (kubernetes/kubernetes#115363, @ravisantoshgudimetla) [SIG Apps, Auth and Node]The
DownwardAPIHugePageskubelet feature graduated to stable / GA. (kubernetes/kubernetes#115721, @saschagrunert) [SIG Apps and Node]Volumes:
resource.claimsgets cleared for PVC specs during create or update of a pod spec with inline PVC template or of a PVC because it has no effect. (kubernetes/kubernetes#115928, @pohly) [SIG API Machinery, Apps and Storage]A fix in the resource.k8s.io/v1alpha1/ResourceClaim API avoids harmless (?) ".status.reservedFor: element 0: associative list without keys has an element that's a map type" errors in the apiserver. Validation now rejects the incorrect reuse of the same UID in different entries. (kubernetes/kubernetes#115354, @pohly) [SIG API Machinery]
CacheSize field in EncryptionConfiguration is not supported for KMSv2 provider (kubernetes/kubernetes#113121, @aramase) [SIG API Machinery, Auth and Testing]
K8s.io/client-go/tools/record.EventBroadcaster: after Shutdown() is called, the broadcaster now gives up immediately after a failure to write an event to a sink. Previously it tried multiple times for 12 seconds in a goroutine. (kubernetes/kubernetes#115514, @pohly) [SIG API Machinery]
K8s.io/component-base/logs now also supports adding command line flags to a flag.FlagSet. (kubernetes/kubernetes#114731, @pohly) [SIG Architecture]
Update API reference for Requests, specifying they must not exceed limits (kubernetes/kubernetes#115434, @ehashman) [SIG Architecture, Docs and Node]
/metrics/slisis made available for control plane components allowing you to scrape health check metrics. (kubernetes/kubernetes#114997, @Richabanker) [SIG API Machinery, Apps, Architecture, Auth, Autoscaling, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Release, Scheduling, Storage and Testing]A terminating pod on a node that is not caused by preemption won't prevent kube-scheduler from preempting pods on that node
Added new option to the InterPodAffinity scheduler plugin to ignore existing pods` preferred inter-pod affinities if the incoming pod has no preferred inter-pod affinities. This option can be used as an optimization for higher scheduling throughput (at the cost of an occasional pod being scheduled non-optimally/violating existing pods' preferred inter-pod affinities). To enable this scheduler option, set the InterPodAffinity scheduler plugin arg "ignorePreferredTermsOfExistingPods: true". (kubernetes/kubernetes#114393, @danielvegamyhre) [SIG API Machinery and Scheduling]
Added warnings about workload resources (Pods, ReplicaSets, Deployments, Jobs, CronJobs, or ReplicationControllers) whose names are not valid DNS labels. (kubernetes/kubernetes#114412, @thockin) [SIG API Machinery and Apps]
K8s.io/component-base/logs: usage of the pflag values in a normal Go flag set led to panics when printing the help message (kubernetes/kubernetes#114680, @pohly) [SIG Instrumentation]
Kube-proxy, kube-scheduler and kubelet have HTTP APIs for changing the logging verbosity at runtime. This now also works for JSON output. (kubernetes/kubernetes#114609, @pohly) [SIG API Machinery, Architecture, Cloud Provider, Instrumentation and Testing]
Kubeadm: explicitly set
priorityfor static pods withpriorityClassName: system-node-critical(kubernetes/kubernetes#114338, @champtar) [SIG Cluster Lifecycle]Kubelet: migrate "--container-runtime-endpoint" and "--image-service-endpoint" to kubelet config (kubernetes/kubernetes#112136, @pacoxu) [SIG API Machinery, Node and Scalability]
Kubernetes components that perform leader election now only support using Leases for this. (kubernetes/kubernetes#114055, @aimuz) [SIG API Machinery, Cloud Provider and Scheduling]
StatefulSet names must be DNS labels, rather than subdomains. Any StatefulSet which took advantage of subdomain validation (by having dots in the name) can't possibly have worked, because we eventually set
pod.spec.hostnamefrom the StatefulSetName, and that is validated as a DNS label. (kubernetes/kubernetes#114172, @thockin) [SIG Apps]The following feature gates for volume expansion GA features have been removed and must no longer be referenced in
--feature-gatesflags: ExpandCSIVolumes, ExpandInUsePersistentVolumes, ExpandPersistentVolumes (kubernetes/kubernetes#113942, @mengjiao-liu) [SIG API Machinery, Apps and Testing]The list-type of the alpha resourceClaims field introduced to Pods in 1.26.0 was modified from "set" to "map", resolving an incompatibility with use of this schema in CustomResourceDefinitions and with server-side apply. (kubernetes/kubernetes#114585, @JoelSpeed) [SIG API Machinery]
v26.1.0Compare Source
Kubernetes API Version: v1.26.1
Bug or Regression
Feature
idp-certificate-authoritykey for the oidc plugin. (#1916, @vgupta3)Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.