F40 Change Proposal: Replace Kubernetes 1.28 in Rawhide (F40) with v1.29 (Self-Contained)

Update Kubernetes to v1.29 in Rawhide

Wiki
Announced

This is a proposed Change for Fedora Linux.
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.

:link: Summary

Replace Kubernetes 1.28 in rawhide (F40) with v1.29.

:link: Owner

:link: Detailed Description

The upstream Kubernetes project just released Kubernetes (K8S) v1.29. The upstream k8s team maintains 3 versions concurrently. Fedora provides a target version of Kubernetes with each release. Fedora 38 has k8s v1.26; Fedora 39 has k8s v1.27, and rawhide (F40) currently has k8s v1.28. If approved this change will replace k8s v1.28 with k8s v1.29 in rawhide for the F40 release.

See Overview - rpms/kubernetes - src.fedoraproject.org for the current k8s packages in Fedora.

:link: Feedback

TBD

:link: Benefit to Fedora

Fedora F40 will have the most current Kubernetes version when F40 is released to production. This will enable Fedora users to deploy and maintain current Kubernetes on Fedora Server and Fedora CoreOS using Fedora provided rpms.

:link: Scope

  • Proposal owners:

Execute communication plan (community blog and mailing list posts) announcing the change. Test and deploy the update (already available in COPR).

  • Other developers:

Coordinate with the CRI-O packager so that they release a compatible version of CRI-O. Kubernetes and CRI-O have the same release cycle and version numbering, i.e kubernetes v1.29 requires cri-0 1.29 (if cri-o is used as the container runtime interface).

  • Release engineering: #Releng issue number

  • Policies and guidelines: N/A (not needed for this Change)

  • Trademark approval: N/A (not needed for this Change)

  • Alignment with Community Initiatives:

n/a

:link: Upgrade/compatibility impact

Kubernetes update guidelines do not permit a version skip. For example, if a Kubernetes cluster is currently using Kubernetes v1.27, then in order to update to k8s v1.29, first v1.28 needs to be deployed. Skipping versions, as this proposal does, requires effective communications and an effective replacement. In this instance, Kubernetes v1.28 will be available from COPR. There is another change request in DRAFT form that addresses this problem by shifting to multiple versioned packages of Kubernetes for each release (i.e. the package changes from kubernetes-1.29.f40 to kubernetes1.29-1.29.f40 and so on.

The Kubernetes user community is somewhat used to using COPR for past releases. Kubernetes 1.23 was also skipped in Fedora and only available in COPR. Kubernetes 1.25 was initially provided in Fedora 37 but moved to COPR when upstream adopted a version of the go language not available for F37.

:link: How To Test

:link: User Experience

Users managing kubernetes clusters using Fedora packages on Fedora machines will need to be aware of this change. An unplanned version update can break a cluster, hence rawhide is the best starting point for this update.

:link: Dependencies

None.

:link: Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No

:link: Documentation

N/A (not a System Wide Change)

:link: Release Notes

This change proposal has now been submitted to FESCo with ticket #3138 for voting.

To find out more, please visit our Changes Policy documentation.

I guess the plan to move to versioned packages won’t be ready for f40?

I guess I am asking if we could just move to that and avoid the copr version for people upgrading?

The draft change request for versioned Kubernetes packages is just about complete. The updates to the package scripts to accommodate versioned packages are also done. I have been working with the maintainers for the cri-o and cri-tools packages as these packages will also need to be versioned. They are in concurrence and will follow along.

The draft change request is at Changes/VersionedKubernetesPackages - Fedora Project Wiki.

I would prefer to move to the versioned model in F40 for all 3 packages. Now that i have concurrence I will submit the change request early this coming week (dealing with illness at home).

Great news! Thanks for working on this…