- name: Disable swap for current session ansible.builtin.command: cmd: swapoff -a register: swap_off changed_when: swap_off.rc == 0 failed_when: swap_off.rc != 0 become: true - name: Disable swap ansible.builtin.replace: path: /etc/fstab regexp: '^.*swap.*$' replace: '# \0' backup: true - name: Ensure /etc/apt/keyrings directory exists ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Get Kubernetes apt key ansible.builtin.get_url: url: "https://pkgs.k8s.io/core:/stable:/{{ kubernetes_version }}/deb/Release.key" dest: /tmp/kubernetes-release.key mode: '0644' register: kubernetes_key - name: Dearmor Kubernetes Release key ansible.builtin.command: cmd: "gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg /tmp/kubernetes-release.key" args: creates: /etc/apt/keyrings/kubernetes-apt-keyring.gpg - name: Add Kubernetes apt repository ansible.builtin.apt_repository: repo: "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/{{ kubernetes_version }}/deb/ /" filename: kubernetes state: present - name: Get CRI-O apt key ansible.builtin.get_url: url: "https://download.opensuse.org/repositories/isv:/cri-o:/stable:/{{ crio_version }}/deb/Release.key" dest: /tmp/cri-o-release.key mode: '0644' register: crio_key - name: Dearmor Kubernetes Release key ansible.builtin.command: cmd: "gpg --dearmor -o /etc/apt/keyrings/cri-o-apt-keyring.gpg /tmp/cri-o-release.key" args: creates: /etc/apt/keyrings/cri-o-apt-keyring.gpg - name: Add CRI-O apt repository ansible.builtin.apt_repository: repo: "deb [signed-by=/etc/apt/keyrings/cri-o-apt-keyring.gpg] https://download.opensuse.org/repositories/isv:/cri-o:/stable:/{{ crio_version }}/deb/ /" filename: crio state: present - name: Update apt cache ansible.builtin.apt: update_cache: true - name: Install CRI-O and Kubernetes components ansible.builtin.apt: name: - cri-o - kubelet - kubeadm - kubectl state: present - name: Enable overlay module community.general.modprobe: name: overlay state: present persistent: present - name: Use systemd as cgroup driver for CRI-O ansible.builtin.copy: src: kubernetes/20-cgroup.conf dest: /etc/crio/crio.conf.d/20-cgroup.conf mode: "644" - name: Use systemd as cgroup driver Kubelet ansible.builtin.copy: src: kubernetes/kubelet dest: /etc/default/kubelet mode: "644" - name: Enable CRI-O ansible.builtin.systemd_service: name: crio enabled: true state: restarted - name: Enable kubelet ansible.builtin.systemd_service: name: kubelet enabled: true state: restarted