Fix kubernetes install methods

There are two problems with kubernetes installation currently. The first
is that cri-o's package location has moved. The second is the debian
bookworms snap install has gone stale and we should update it with snap
before installing more snaps.

Per the cri-o packaging README [0] the packages for cri-o moved from the
k8s package cdn to downloads.opensuse.org. Update our cri-o installation
tasks to use the correct package repo. Not updating produces HTTP 403
errors. I guess they want people to notice that they shouldn't use the
old location any longer.

In the case of debian bookworm the microk8s snap needs a core snap
version available in a newer snapd release. We can use snap to install
snap in order to update snap. Do that so that microk8s can be installed
on Debian.

[0] 3b30cfee75/README.md

Change-Id: Ied971eb4ae4f53440fdb7204540b4360ab797e74
This commit is contained in:
Clark Boylan
2025-08-28 10:04:13 -07:00
parent 9463df43e2
commit 81b2a1896a
2 changed files with 11 additions and 2 deletions

View File

@@ -6,10 +6,10 @@
vars:
repositories_keys:
- url: "https://pkgs.k8s.io/core:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/Release.key"
- url: "https://pkgs.k8s.io/addons:/cri-o:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/Release.key"
- url: "https://download.opensuse.org/repositories/isv:/cri-o:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/Release.key"
repositories_list:
- repo: "deb https://pkgs.k8s.io/core:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/ /"
- repo: "deb https://pkgs.k8s.io/addons:/cri-o:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/ /"
- repo: "deb https://download.opensuse.org/repositories/isv:/cri-o:/stable:/{{ ensure_kubernetes_kubectl_version }}/deb/ /"
- name: Install packages
package:

View File

@@ -9,6 +9,15 @@
name: snapd
state: present
# Snapd isn't installed as a snap on Debian (it is on Ubuntu). After the
# base install we use snap to update itself so that we're running a modern
# snapd
# Otherwise some snaps complain about missing their dependencies.
- name: Update snap on Debian
become: yes
command: snap install core snapd
when: ansible_distribution == "Debian"
- name: Install microk8s snap
become: yes
command: 'snap install microk8s --classic --channel={{ ensure_kubernetes_microk8s_channel }}'