Support for Kubernetes v1.31#10472
Conversation
|
Skipping CI for Draft Pull Request. |
|
/assign |
af3eafb to
783e430
Compare
|
Please also update gardener/example/operator/20-garden.yaml Line 73 in be8aced |
``` ./hack/compare-k8s-feature-gates.sh 1.30 1.31 Feature gates added in 1.31 compared to 1.30: AllowDNSOnlyNodeCSR AllowInsecureKubeletCertificateSigningRequests AnonymousAuthConfigurableEndpoints AuthorizeNodeWithSelectors AuthorizeWithSelectors ConcurrentWatchObjectDecode CoordinatedLeaderElection DRAControlPlaneController DisableAllocatorDualWrite ImageVolume ReloadKubeletServerCertificateFile ResilientWatchCacheInitialization ResourceHealthStatus SupplementalGroupsPolicy WatchCacheInitializationPostStartHook ```
``` ./hack/compare-k8s-feature-gates.sh 1.30 1.31 Feature gates removed in 1.31 compared to 1.30: APIPriorityAndFairness CSIMigrationRBD CSINodeExpandSecret ConsistentHTTPGetHandlers CustomResourceValidationExpressions DefaultHostNetworkHostPortsInPodTemplates InTreePluginAWSUnregister InTreePluginAzureDiskUnregister InTreePluginAzureFileUnregister InTreePluginGCEUnregister InTreePluginOpenStackUnregister InTreePluginRBDUnregister InTreePluginvSphereUnregister JobReadyPods ReadWriteOncePod ServiceNodePortStaticSubrange SkipReadOnlyValidationGCE ```
``` ./hack/compare-k8s-feature-gates.sh 1.30 1.31 Feature gates locked to default in 1.31 compared to 1.30: AppArmor Default: true AppArmorFields Default: true DevicePluginCDIDevices Default: true DisableCloudProviders Default: true DisableKubeletCloudCredentialProviders Default: true ElasticIndexedJob Default: true JobPodFailurePolicy Default: true KubeProxyDrainingTerminatingNodes Default: true LogarithmicScaleDown Default: true PDBUnhealthyPodEvictionPolicy Default: true PersistentVolumeLastPhaseTransitionTime Default: true PodDisruptionConditions Default: true StatefulSetStartOrdinal Default: true ```
``` ./hack/compare-k8s-admission-plugins.sh 1.30 1.31 Admission plugins added in 1.31 compared to 1.30: Admission plugins removed in 1.31 compared to 1.30: PersistentVolumeLabel ```
``` ./hack/compare-k8s-api-groups.sh 1.30 1.31 Kubernetes API group versions added in 1.31 compared to 1.30: coordination.k8s.io/v1alpha1 resource.k8s.io/v1alpha3 Kubernetes API GVRs added in 1.31 compared to 1.30: coordination.k8s.io/v1alpha1/leasecandidates networking.k8s.io/v1beta1/ipaddresses networking.k8s.io/v1beta1/servicecidrs resource.k8s.io/v1alpha3/deviceclasses resource.k8s.io/v1alpha3/podschedulingcontexts resource.k8s.io/v1alpha3/resourceclaims resource.k8s.io/v1alpha3/resourceclaimtemplates resource.k8s.io/v1alpha3/resourceslices storage.k8s.io/v1beta1/volumeattributesclasses Kubernetes API group versions removed in 1.31 compared to 1.30: resource.k8s.io/v1alpha2 Kubernetes API GVRs removed in 1.31 compared to 1.30: resource.k8s.io/v1alpha2/podschedulingcontexts resource.k8s.io/v1alpha2/resourceclaimparameters resource.k8s.io/v1alpha2/resourceclaims resource.k8s.io/v1alpha2/resourceclaimtemplates resource.k8s.io/v1alpha2/resourceclasses resource.k8s.io/v1alpha2/resourceclassparameters resource.k8s.io/v1alpha2/resourceslices ```
``` ./hack/compute-k8s-controllers.sh 1.30 1.31 kube-controller-manager controllers added in 1.31 compared to 1.30: Added Controllers for API Group [networking/v1beta1]: service-cidr-controller Added Controllers for API Group [resource/v1alpha3]: resourceclaim-controller kube-controller-manager controllers removed in 1.31 compared to 1.30: Removed Controllers for API Group [networking/v1alpha1]: service-cidr-controller Removed Controllers for API Group [resource/v1alpha2]: resourceclaim-controller ```
…n` field The `.status field.nodeInfo.kubeProxyVersion` is a lie since its initial introduction. The field is set by kubelet which cannot know the kube-proxy version or whether kube-proxy is running at all or not. The `DisableNodeKubeProxyVersion` feature gate is enabled by default since K8s 1.31. The field is set to empty string in the Node status. There is no added value in checking this field in the upgrade tests due to the reasons from above. Ref kubernetes/enhancements#4004
…g.clientAuthentication=nil` when doing forceful update to K8s 1.31+
…kubernetes.kubelet.kubeReserved` when doing forceful update to K8s 1.31+
7917a89 to
9e3e85a
Compare
|
/test pull-gardener-integration |
1 similar comment
|
/test pull-gardener-integration |
|
The last failure of |
|
/test pull-gardener-integration |
|
Is there a reason why 1.31 has not yet been merged? We would like to start migrating the fleet to 1.31. I don't want to prioritized/stressed this per se, I just wanted to ask because we had just talked about it in our Daily. |
|
/assign |
ScheererJ
left a comment
There was a problem hiding this comment.
Thanks a lot for the very nicely structured enhancement.
I only have a few minor comments/questions.
|
/lgtm |
|
LGTM label has been added. DetailsGit tree hash: 14cdd89f1fc4a0c90baa29feb1e251c46fbce45f |
shafeeqes
left a comment
There was a problem hiding this comment.
Thanks for the well structured PR!
/lgtm
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ialidzhikov The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/test pull-gardener-e2e-kind-operator-seed |
How to categorize this PR?
/area open-source
/kind enhancement
What this PR does / why we need it:
Support for Kubernetes v1.31.
Which issue(s) this PR fixes:
Part of #10286
Part of #5325
Special notes for your reviewer:
k8s.io/*Golang sources, this item is usually tracked and worked on separately.Release note: