108 lines
2.9 KiB
YAML
108 lines
2.9 KiB
YAML
- name: Disable swap in fstab
|
|
ansible.builtin.replace:
|
|
path: /etc/fstab
|
|
regexp: '^.*swap.*$'
|
|
replace: '# \0'
|
|
backup: true
|
|
|
|
- name: Disable swap.target
|
|
ansible.builtin.systemd_service:
|
|
name: swap.target
|
|
state: stopped
|
|
enabled: false
|
|
masked: true
|
|
|
|
- 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
|
|
|
|
- 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
|