This playbook installs containerd, writes a default config, and enables the service.
- name: Install containerd
hosts: containerd
become: true
tasks:
- name: Install containerd on Debian family
ansible.builtin.apt:
update_cache: true
name: containerd
state: present
when: ansible_os_family == "Debian"
- name: Install containerd on RHEL family
ansible.builtin.dnf:
name: containerd
state: present
when: ansible_os_family == "RedHat"
- name: Ensure config directory exists
ansible.builtin.file:
path: /etc/containerd
state: directory
mode: "0755"
- name: Generate default containerd config if missing
ansible.builtin.shell: containerd config default > /etc/containerd/config.toml
args:
creates: /etc/containerd/config.toml
- name: Enable and start containerd
ansible.builtin.systemd:
name: containerd
enabled: true
state: started
ansible-playbook -i inventory.ini containerd-install.yml