Buckaroogeek (talk | contribs) |
Buckaroogeek (talk | contribs) (→Scope) |
||
Line 82: | Line 82: | ||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: | ||
Modify the kubernetes.spec file to reflect the new package organization and new package content. Build and test new installs and updates across multiple Fedora flavors including server, workstation, and CoreOS. | |||
* Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Other developers: <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
N/A | |||
<!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | <!-- What work do other developers have to accomplish to complete the feature in time for release? Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?--> | ||
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
N/A | |||
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | <!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)? Is a mass rebuild required? include a link to the releng issue. | ||
The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | The issue is required to be filed prior to feature submission, to ensure that someone is on board to do any process development work and testing and that all changes make it into the pipeline; a bullet point in a change is not sufficient communication --> | ||
* Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | * Policies and guidelines: N/A (not needed for this Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES --> | ||
N/A | |||
<!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | <!-- Do the packaging guidelines or other documents need to be updated for this feature? If so, does it need to happen before or after the implementation is done? If a FPC ticket exists, add a link here. Please submit a pull request with the proposed changes before submitting your Change proposal. --> | ||
Revision as of 19:58, 17 August 2023
Kubernetes Package Name Changes
Summary
New or revised (sub)package names are proposed for the Kubernetes packages. The new names will better align Kubernetes with current usage as documented upstream and improve alignment of package content with current Fedora practices and standards.
Owner
- Name: Brad Smith
- Email: bradley.g.smith@gmail.com
Current status
- Targeted release: Fedora Linux 40
- Last updated: 2023-08-17
- [<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
Kubernetes provides "Open Source Production-Grade Container Scheduling And Management".
The existing Kubernetes package and sub-packages are outlined in the table below. All packages include relevant configuration files and documentation (man pages).
Name | Status | (Sub )Package Notes |
---|---|---|
Kubernetes | Main Package | Empty. Requires the Client sub-package. |
Client | Sub-package | Kubectl - Command line client. Used to manage a cluster from any computer connected to network. |
Kubeadm | Sub-package | Kubeadm - Administrative client. Used to join or remove a node to/from a cluster. |
Master | Sub-package | Kubernetes services packaged as obsolete systemd services. Modern installations of Kubernetes install these services as static pods. |
Node | Subpackage | Kubelet - Kubernetes runtime. |
Proposed sub package names and associate content are in the table below.
Name | Status | (Sub )Package Notes |
---|---|---|
Kubernetes | Main Package | Provides kubelet (runtime) and kuberadm (node administation) binaries and configuration files. Requires the Client sub-package. |
Kubernetes-doc | Sub-package | Documentation (man pages) for kubectl and kubeadm. |
Client | Sub-package | Kubectl - Command line client. Used to manage a cluster from any computer connected to network. |
Client-doc | Sub-package | Documentation for kubectl, command line client. |
With the proposed sub packages a user that wants to install Kubernetes on a Fedora machine will only need to install the kubernetes rpm and optionally the kubernetes.doc rpm. This action installs all 3 needed Kubernetes binaries and configuration files and aligns with guidance from upstream (i.e. install kubectl, kubeadm, and kubelet on each machine in a cluster).
Kubernetes cluster managers will install, as before, the kubernetes-client rpm on any machine used by the manager to manage a cluster. The kubernetes-client-doc rpm will be optional.
Feedback
Benefit to Fedora
The primary beneficiary will be Fedora users that want to install Kubernetes on a Fedora machine and use that machine as a node in a cluster or as a management console to manage one or more local or remote clusters. It will also segregate out documentation (man files) so that a minimal install can be done with just the needed executables and supporting configuration files. Installation of the kubernetes rpm is all that is needed to prepare a Fedora machine to participate as a node in a cluster. The current package structure requires the user to install either the kubernetes, kubernetes-kubeadm, and kubernetes-node rpms or install the kubernetes-client, kubernetes-kubeadm, and kubernetes-node rpms to obtain the same level of functionality.
Scope
- Proposal owners:
Modify the kubernetes.spec file to reflect the new package organization and new package content. Build and test new installs and updates across multiple Fedora flavors including server, workstation, and CoreOS.
- Other developers:
N/A
- Release engineering: #Releng issue number
N/A
- Policies and guidelines: N/A (not needed for this Change)
N/A
- Trademark approval: N/A (not needed for this Change)
- Alignment with Community Initiatives:
Upgrade/compatibility impact
The primary effect will be changes to some of the kubernetes-related rpms, but there will not be any effects to existing functionality or configuration. Any scripts or system provisioning tools such as Ansible should continue to function.
How To Test
Two test scenarios are needed.
1. Upgrade Test. Install Kubernetes or the Kubernetes client on a Fedora machine using legacy rpms. Optionally configure a cluster or the client. Upgrade the system using the new packages. No change in functionality or configuration should be detected.
2. New Install Test. Install kubernetes or the client on a Fedora machine using the new rpms. Compare functionality to another machine that has Kubernetes or the client installed using the legacy rpms. No change in functionality should be detected.
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)