r/{cri-o,kubelet}: Support versioned packages

Fedora 41 introduced versioned package names for Kubernetes components,
including CRI-O.  The intent is to allow multiple versions of Kubernetes
to be available (but not necessarily installed) within a given Fedora
release.  In order to use these packages, we need to set the desired
Kubernetes version, via the new `kubernetes_version` Ansible variable.
dynamic-inventory
Dustin 2025-01-31 18:57:21 -06:00
parent cbc4d29bd6
commit a9a6a30e59
6 changed files with 33 additions and 1 deletions

View File

@ -1,8 +1,29 @@
- name: load os-specific values
include_vars: '{{ item }}'
with_first_found:
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
- '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml'
- '{{ ansible_distribution }}.yml'
- '{{ ansible_os_family }}.yml'
- defaults.yml
tags:
- always
- name: ensure legacy cri-o package is not installed
package:
name: cri-o
state: absent
when: crio_package != 'cri-o'
tags:
- install
- cleanup
- name: ensure cri-o is installed
package:
name:
- container-selinux
- cri-o
- '{{ crio_package }}'
- crun
state: present
tags:

View File

@ -0,0 +1 @@
crio_package: cri-o

View File

@ -0,0 +1 @@
crio_package: cri-o{{ kubernetes_version }}

View File

@ -0,0 +1 @@
kubernetes_version: 1.29

View File

@ -0,0 +1,7 @@
kubernetes_distro_packages:
- kubernetes{{ kubernetes_version }}
- kubernetes{{ kubernetes_version }}-client
- kubernetes{{ kubernetes_version }}-kubeadm
kubernetes_packages: '{{ kubernetes_common_packages + kubernetes_distro_packages }}'

View File

@ -2,6 +2,7 @@ kubernetes_kernel_modules:
- br_netfilter
kubernetes_common_packages:
- cri-tools
- ebtables
- ethtool
- iproute-tc