ansible-role-containerd/tasks/main.yml
Adrien Reslinger f3d65f6456
All checks were successful
continuous-integration/drone/push Build is passing
Fix lint errors
2022-08-16 16:57:42 +02:00

106 lines
2.8 KiB
YAML

---
- name: Include vars for {{ ansible_os_family }}
ansible.builtin.include_vars: "{{ ansible_os_family }}.yml"
- name: Add Official docker's repo
ansible.builtin.get_url:
url: https://download.docker.com/linux/centos/docker-ce.repo
dest: /etc/yum.repos.d/docker-ce.repo
mode: 0644
when:
- ansible_os_family == "RedHat"
# - name: Remove all other's containerd version packages
# ansible.builtin.package:
# name: "{{ containerd_remove_packages_name }}"
# state: absent
# update_cache: true
- name: Create thin volumes for containerd
community.general.lvol:
vg: "{{ item.vg }}"
lv: "{{ item.name }}"
thinpool: kubernetes
size: "{{ item.size }}"
with_items:
- { name: var_lib_containerd, vg: vg_sys, size: 10g, mount_point: /var/lib/containerd, mount_opts: "discard"}
- name: create file system on containerd lv
community.general.filesystem:
fstype: ext4
dev: "/dev/{{ item.vg }}/{{ item.name }}"
with_items:
- { name: var_lib_containerd, vg: vg_sys, size: 10g, mount_point: /var/lib/containerd, mount_opts: "discard"}
- name: mount logical volumes
ansible.posix.mount:
name: "{{ item.mount_point }}"
src: "/dev/{{ item.vg }}/{{ item.name }}"
fstype: ext4
opts: "{{ item.mount_opts }}"
state: mounted
with_items:
- { name: var_lib_containerd, vg: vg_sys, size: 10g, mount_point: /var/lib/containerd, mount_opts: "discard"}
- name: Install containerd
ansible.builtin.package:
name: "{{ containerd_package_name }}"
state: present
update_cache: true
notify: Restart containerd
- name: Enable containerd on boot
ansible.builtin.service:
name: containerd
state: started
enabled: true
- name: Configuring kernel module to be load on boot
ansible.builtin.template:
src: "etc/modules-load.d/{{ item }}.conf.j2"
dest: "/etc/modules-load.d/{{ item }}.conf"
group: root
owner: root
mode: 0644
with_items:
- "br_netfilter"
- "overlay"
- name: Load kernel module
community.general.modprobe:
name: "{{ item }}"
state: present
with_items:
- br_netfilter
- overlay
- name: Configure sysctl
ansible.posix.sysctl:
name: "{{ item }}"
value: "1"
sysctl_file: /etc/sysctl.d/99-kubernetes-cri.conf
reload: true
with_items:
- "net.bridge.bridge-nf-call-iptables"
- "net.ipv4.ip_forward"
- "net.bridge.bridge-nf-call-ip6tables"
- name: Ensuring /etc/containerd folder exists
ansible.builtin.file:
path: "/etc/containerd"
state: "directory"
group: root
owner: root
mode: 0755
- name: Configuring containerd
ansible.builtin.template:
src: "etc/containerd/config.toml.j2"
dest: "/etc/containerd/config.toml"
group: root
owner: root
mode: 0644
notify: Restart containerd
- name: Flush handlers
ansible.builtin.meta: flush_handlers