--- - 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: yes 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