From 1eb8be83092d98f76d7e5c292b285c5c755bf095 Mon Sep 17 00:00:00 2001 From: Marc Bihlmaier Date: Tue, 7 Nov 2023 04:00:59 +0100 Subject: [PATCH 01/10] update apt sources, add apt keyring gpg --- defaults/main.yml | 8 +++++--- tasks/setup-Debian.yml | 26 ++++++++++++++++++-------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 9827631..9b57ee4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -51,10 +51,12 @@ kubernetes_apiserver_advertise_address: '' kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}' kubernetes_ignore_preflight_errors: 'all' -kubernetes_apt_release_channel: main -# Note that xenial repo is used for all Debian derivatives at this time. -kubernetes_apt_repository: "deb http://apt.kubernetes.io/ kubernetes-xenial {{ kubernetes_apt_release_channel }}" +kubernetes_apt_release_channel: "stable" +kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.gpg" +kubernetes_apt_repository_pkgs_k8s_io: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" kubernetes_apt_ignore_key_error: false +# this one is deprecated and will be deleted with this role +kubernetes_apt_repository: "deb http://apt.kubernetes.io/ kubernetes-xenial {{ kubernetes_apt_release_channel }}" kubernetes_yum_arch: '$basearch' kubernetes_yum_base_url: "https://packages.cloud.google.com/yum/repos/kubernetes-el7-{{ kubernetes_yum_arch }}" diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 4a83a58..5628ba3 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -6,16 +6,26 @@ - ca-certificates state: present -- name: Add Kubernetes apt key. - apt_key: - url: https://packages.cloud.google.com/apt/doc/apt-key.gpg - state: present - register: add_repository_key - ignore_errors: "{{ kubernetes_apt_ignore_key_error }}" +- name: Prepare apt keyring directory. + ansible.builtin.file: + path: "{{ kubernetes_apt_keyring_file | dirname }}" + state: directory + mode: 0755 + +- name: Get Kubernetes apt key. + shell: "curl -fsSL https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/Release.key | gpg --dearmor -o {{ kubernetes_apt_keyring_file }}" + args: + creates: "{{ kubernetes_apt_keyring_file }}" + +- name: Be sure deprecated Kubernetes repository is absent. + file: + path: "/etc/apt/sources.list.d/apt_kubernetes_io.list" + state: absent - name: Add Kubernetes repository. - apt_repository: - repo: "{{ kubernetes_apt_repository }}" + ansible.builtin.apt_repository: + repo: "{{ kubernetes_apt_repository_pkgs_k8s_io }}" + filename: pkgs_k8s_io state: present update_cache: true From 0b73d150af3a1ea60bda5d014da4f52ae48347e1 Mon Sep 17 00:00:00 2001 From: Marc Bihlmaier Date: Tue, 7 Nov 2023 15:11:01 +0100 Subject: [PATCH 02/10] simplify --- defaults/main.yml | 7 ++----- tasks/setup-Debian.yml | 10 ++++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 9b57ee4..8be101a 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -52,11 +52,8 @@ kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}' kubernetes_ignore_preflight_errors: 'all' kubernetes_apt_release_channel: "stable" -kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.gpg" -kubernetes_apt_repository_pkgs_k8s_io: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" -kubernetes_apt_ignore_key_error: false -# this one is deprecated and will be deleted with this role -kubernetes_apt_repository: "deb http://apt.kubernetes.io/ kubernetes-xenial {{ kubernetes_apt_release_channel }}" +kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" +kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" kubernetes_yum_arch: '$basearch' kubernetes_yum_base_url: "https://packages.cloud.google.com/yum/repos/kubernetes-el7-{{ kubernetes_yum_arch }}" diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 5628ba3..ee73486 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -13,9 +13,11 @@ mode: 0755 - name: Get Kubernetes apt key. - shell: "curl -fsSL https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/Release.key | gpg --dearmor -o {{ kubernetes_apt_keyring_file }}" - args: - creates: "{{ kubernetes_apt_keyring_file }}" + ansible.builtin.get_url: + url: "https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/Release.key" + dest: "{{ kubernetes_apt_keyring_file }}" + mode: '0644' + force: true - name: Be sure deprecated Kubernetes repository is absent. file: @@ -24,7 +26,7 @@ - name: Add Kubernetes repository. ansible.builtin.apt_repository: - repo: "{{ kubernetes_apt_repository_pkgs_k8s_io }}" + repo: "{{ kubernetes_apt_repository }}" filename: pkgs_k8s_io state: present update_cache: true From 78169d1895dc67220618feabce7aba7698cb495b Mon Sep 17 00:00:00 2001 From: Marc Bihlmaier Date: Tue, 7 Nov 2023 15:18:40 +0100 Subject: [PATCH 03/10] remove trailing spaces --- tasks/setup-Debian.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index ee73486..7c77ae5 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -13,14 +13,14 @@ mode: 0755 - name: Get Kubernetes apt key. - ansible.builtin.get_url: + ansible.builtin.get_url: url: "https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/Release.key" dest: "{{ kubernetes_apt_keyring_file }}" mode: '0644' force: true - name: Be sure deprecated Kubernetes repository is absent. - file: + file: path: "/etc/apt/sources.list.d/apt_kubernetes_io.list" state: absent From 8a50ed564199590f80ea1701bd0a5fd7ba22fcb4 Mon Sep 17 00:00:00 2001 From: Marc Bihlmaier Date: Tue, 7 Nov 2023 15:22:11 +0100 Subject: [PATCH 04/10] remove trailing spaces --- defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index 8be101a..32c7648 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -52,7 +52,7 @@ kubernetes_version_kubeadm: 'stable-{{ kubernetes_version }}' kubernetes_ignore_preflight_errors: 'all' kubernetes_apt_release_channel: "stable" -kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" +kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" kubernetes_yum_arch: '$basearch' From d83e2adff20ac03ddcaf10f68eb35a99a75498ba Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Wed, 24 Jan 2024 21:53:36 -0600 Subject: [PATCH 05/10] Make local dev with molecule a little easier. --- molecule/default/molecule.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 518aa05..253c8f2 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -2,11 +2,13 @@ role_name_check: 1 dependency: name: galaxy + options: + ignore-errors: true driver: name: docker platforms: - name: instance - image: "geerlingguy/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest" + image: "geerlingguy/docker-${MOLECULE_DISTRO:-rockylinux8}-ansible:latest" command: ${MOLECULE_DOCKER_COMMAND:-""} volumes: - /sys/fs/cgroup:/sys/fs/cgroup:rw From 2f9f167dc36dfe041413ddc6ce544908f3e7852b Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Wed, 24 Jan 2024 22:11:56 -0600 Subject: [PATCH 06/10] Fixup CI library versions. --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/release.yml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2cf1bbd..e25bd67 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,12 +19,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.kubernetes' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' @@ -53,12 +53,12 @@ jobs: steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.kubernetes' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f734f42..7743a2c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,12 +22,12 @@ jobs: runs-on: ubuntu-latest steps: - name: Check out the codebase. - uses: actions/checkout@v2 + uses: actions/checkout@v4 with: path: 'geerlingguy.kubernetes' - name: Set up Python 3. - uses: actions/setup-python@v2 + uses: actions/setup-python@v5 with: python-version: '3.x' From 2bd76783dd5308a40ebc5c3c9a5910f049a9e45f Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Tue, 5 Mar 2024 22:08:09 -0600 Subject: [PATCH 07/10] PR #150 follow-up: Update yum repos to new format as well. --- defaults/main.yml | 6 ++---- tasks/setup-RedHat.yml | 3 +-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 32c7648..d2ed8a7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -56,10 +56,8 @@ kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" kubernetes_yum_arch: '$basearch' -kubernetes_yum_base_url: "https://packages.cloud.google.com/yum/repos/kubernetes-el7-{{ kubernetes_yum_arch }}" -kubernetes_yum_gpg_key: - - https://packages.cloud.google.com/yum/doc/yum-key.gpg - - https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg +kubernetes_yum_base_url: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/" +kubernetes_yum_gpg_key: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/repodata/repomd.xml.key" kubernetes_yum_gpg_check: true kubernetes_yum_repo_gpg_check: true diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index 94d94de..f58bad2 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -11,10 +11,9 @@ - name: Add Kubernetes GPG keys. rpm_key: - key: "{{ item }}" + key: "{{ kubernetes_yum_gpg_key }}" state: present register: kubernetes_rpm_key - with_items: "{{ kubernetes_yum_gpg_key }}" - name: Make cache if Kubernetes GPG key changed. command: "yum -q makecache -y --disablerepo='*' --enablerepo='kubernetes'" From 9dec31f3a6611f8fbeaf13ac77f2dbfd6288ba8a Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Tue, 5 Mar 2024 22:09:31 -0600 Subject: [PATCH 08/10] Docs updates for previous commit. --- README.md | 7 ++----- defaults/main.yml | 2 -- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6fb94f4..b8f9620 100644 --- a/README.md +++ b/README.md @@ -148,11 +148,8 @@ kubernetes_apt_ignore_key_error: false Apt repository options for Kubernetes installation. ```yaml -kubernetes_yum_arch: x86_64 -kubernetes_yum_base_url: "https://packages.cloud.google.com/yum/repos/kubernetes-el7-{{ kubernetes_yum_arch }}" -kubernetes_yum_gpg_key: - - https://packages.cloud.google.com/yum/doc/yum-key.gpg - - https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg +kubernetes_yum_base_url: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/" +kubernetes_yum_gpg_key: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/repodata/repomd.xml.key" kubernetes_yum_gpg_check: true kubernetes_yum_repo_gpg_check: true ``` diff --git a/defaults/main.yml b/defaults/main.yml index d2ed8a7..e850ed0 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -55,10 +55,8 @@ kubernetes_apt_release_channel: "stable" kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" -kubernetes_yum_arch: '$basearch' kubernetes_yum_base_url: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/" kubernetes_yum_gpg_key: "https://pkgs.k8s.io/core:/stable:/v{{ kubernetes_version }}/rpm/repodata/repomd.xml.key" - kubernetes_yum_gpg_check: true kubernetes_yum_repo_gpg_check: true From 1ac324792dcb9db02027f33ad48f5399b0893497 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Tue, 5 Mar 2024 22:11:54 -0600 Subject: [PATCH 09/10] Fix docs for kubernetes apt variables. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b8f9620..578a237 100644 --- a/README.md +++ b/README.md @@ -140,9 +140,9 @@ kubernetes_ignore_preflight_errors: 'all' Options passed to `kubeadm init` when initializing the Kubernetes control plane. The `kubernetes_apiserver_advertise_address` defaults to `ansible_default_ipv4.address` if it's left empty. ```yaml -kubernetes_apt_release_channel: main -kubernetes_apt_repository: "deb http://apt.kubernetes.io/ kubernetes-xenial {{ kubernetes_apt_release_channel }}" -kubernetes_apt_ignore_key_error: false +kubernetes_apt_release_channel: "stable" +kubernetes_apt_keyring_file: "/etc/apt/keyrings/kubernetes-apt-keyring.asc" +kubernetes_apt_repository: "deb [signed-by={{ kubernetes_apt_keyring_file }}] https://pkgs.k8s.io/core:/{{ kubernetes_apt_release_channel }}:/v{{ kubernetes_version }}/deb/ /" ``` Apt repository options for Kubernetes installation. From 961ed87fca6503508fd0e24c7e69d85b8413166f Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Tue, 5 Mar 2024 22:23:18 -0600 Subject: [PATCH 10/10] PR #150 follow-up: Update yum package names. --- vars/RedHat.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/vars/RedHat.yml b/vars/RedHat.yml index e156651..697636d 100644 --- a/vars/RedHat.yml +++ b/vars/RedHat.yml @@ -1,12 +1,3 @@ --- procps_package: procps-ng kubelet_environment_file_path: /etc/sysconfig/kubelet -kubernetes_packages: - - name: kubelet-{{ kubernetes_version_rhel_package }}-0 - state: present - - name: kubectl-{{ kubernetes_version_rhel_package }}-0 - state: present - - name: kubeadm-{{ kubernetes_version_rhel_package }}-0 - state: present - - name: kubernetes-cni - state: present