From Fedora Project Wiki

< Changes

Revision as of 18:47, 22 September 2023 by Buckaroogeek (talk | contribs) (Buckaroogeek moved page Changes/ParallelKubernetesPackages to Changes/VersionedKubernetesPackages: Original name was misleading)


Multiple Versioned Kubernetes Packages

Important.png
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.

Summary

Provide Kubernetes in Fedora as parallel-installable packages. Current practice is a separate release of Kubernetes for each Fedora release.

This proposal is independent from https://fedoraproject.org/wiki/Changes/RestructureKubernetesPackages.

Owner

Current status

  • Targeted release: Fedora Linux 40
  • Last updated: 2023-09-22
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The Kubernetes project maintains 3 concurrent versions. Each version has a defined life-cycle of approximately 1 year (https://https://kubernetes.io/releases/ for details and current versions). We currently provide one version of Kubernetes for each Fedora release. See https://src.fedoraproject.org/rpms/kubernetes for the list of Kubernetes versions by Fedora release. Due to the differing release cadences between Fedora and Kubernetes this means that a new release of Fedora may not have the most current version of Kubernetes. And, given that the Kubernetes upgrade process does not permit skipping major:minor versions, skipping Kubernetes versions in Fedora is a barrier to using Fedora as a host OS for Kubernetes.

We propose to create packages for all current Kubernetes releases for each Fedora release starting with Fedora 40. The package name would follow the Fedora standard of kubernetes[major].[minor] naming convention. Using the kubernetes-node rpm as an example, instead of kubernetes-node-1.28.2-1.fc40 Fedora would offer kubernetes1.28-node-1.28.2-1.fc40, kubernetes1.27-node-1.27.5-1.fc40, and kubernetes1.26-node-1.26.8-1.fc40. The exact list of Kubernetes versions available will depend on what is supported upstream.

Feedback

To be provided.

Benefit to Fedora

Fedora becomes a first class platform for Kubernetes using packages from Fedora repositories. That is, all current, maintained releases of Kubernetes are available in the main Fedora repositories. This allows Fedora as a host OS for a Kubernetes cluster to be maintained and upgraded independently of the Kubernetes release used by the cluster. This also allows the cluster to be upgraded independently of the Fedora release using Fedora provided packages.

This also means that a Kubernetes cluster administrator using Fedora as their workstation can install and use or retain the appropriate Kubernetes command line client that matches the release of the cluster. Updating to a new Fedora release will not inadvertently install a command line client that is not compatible with the release version of the cluster(s) managed by the user.


Scope

  • Proposal owners:
  • Other developers:
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

How To Test

User Experience

Dependencies

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


Documentation

N/A (not a System Wide Change)

Release Notes