Using Kubernetes on Fedora

Bradley G Smith, Version F37,F38,F39,F40,rawhide Last review: 2024-07-27

This page discusses third-party software sources not officially affiliated with or endorsed by the Fedora Project. Use them at your own discretion. Fedora recommends the use of free and open source software and avoidance of software encumbered by patents.

Overview

This guide provides useful information about Kubernetes and the Kubernetes rpms available from Fedora.

Starting with Fedora 41 (currently rawhide) the packaging standard for Kubernetes changed from one version of Kubernetes for each Fedora release (non-versioned rpms) to all versions of Kubernetes available for each release of Fedora (versioned rpms - with availability subject to a Golang language constraint). These changes are documented here, including what changed, and how installation of these rpms has been affected. A short guide on creating a Kubernetes cluster using kubeadm is included, as a short introduction to Kubernetes for those new to this technology stack.

The guide also touches on an alternative source for Kubernetes rpms available in COPR and potential benefits.

What is Kubernetes?

Kubernetes is an "open-source system for automating deployment, scaling, and management of containerized applications" on one or more machines. Kubernetes automates many of the tasks necessary to deploy, manage, and scale applications that are running as a container. This automation is vital when managing applications in data center or cloud environment where there are 100’s or 1000’s of machines and a corresponding complexity in numbers of applications.Fedora provides several technologies, in addition to Kubernetes, that run containers such as Docker or Podman.

Kubernetes is now at the center of a vast ecosystem of products and services (Cloud Native Computing Foundation) that help organizations create, install, run, manage and secure container-based applications and services at any possible scale.

Kubernetes can be used in a home lab on a single machine, a small cluster for home or business automation, edge-based services and applications in remote offices or enterprise scale production workloads in the cloud.

This guide is narrowly focused on the Kubernetes rpms available from Fedora and using dnf and the command line to install these rpms on Fedora and create a basic cluster using kubeadm.

Please visit the Fedora Quick Docs Virtualization Guide to learn more about containers and other virtualization technologies and their availability in Fedora.

Content guide

Basics

A brief overview of Kubernetes for those new to the technology along with a terminology table.

Non-versioned rpms - Fedora 40 and older

The guide to the legacy, non-versioned rpm format for Kubernetes in Fedora 41, 40, and 39.

Versioned rpms - Fedora 41 and newer

The guide to the versioned rpm format for Kubernetes in Fedora 41 and newer.

Resilient kubelet configuration

A brief guide to kubelet configuration methods.

Create a cluster

The guide to using kubeadm to instantiate a Kubernetes cluster on a single Fedora machine for exploration, testing, and development.

CRI-O and CRI-Tools

The guide to the new versions of CRI-O and CRI-Tools available in Fedora 41 and newer.