140 lines
3.5 KiB
YAML
140 lines
3.5 KiB
YAML
---
|
|
|
|
- name: Set specific variables for distributions
|
|
ansible.builtin.include_vars: '{{ item }}'
|
|
with_first_found:
|
|
- '{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml'
|
|
- '{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml'
|
|
- '{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml'
|
|
- '{{ ansible_distribution }}.yml'
|
|
- '{{ ansible_os_family }}.yml'
|
|
- default.yml
|
|
|
|
- name: Suppression anciennes versions de docker
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- docker
|
|
- docker-engine
|
|
- docker.io
|
|
state: absent
|
|
|
|
- name: Installation des prérequis
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg2
|
|
- software-properties-common
|
|
- nfs-common
|
|
state: present
|
|
update_cache: true
|
|
|
|
- name: Ajout de la clef GPG docker.com
|
|
ansible.builtin.apt_key:
|
|
url: https://download.docker.com/linux/ubuntu/gpg
|
|
state: present
|
|
|
|
- name: Ajout du repo APT docker.com
|
|
ansible.builtin.apt_repository:
|
|
repo: deb [arch=amd64] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
|
|
state: present
|
|
filename: docker
|
|
|
|
- name: Installation de docker dans la version {{ docker_target_version }}
|
|
ansible.builtin.apt:
|
|
pkg:
|
|
- docker-ce={{ docker_target_version }}
|
|
- docker-ce-cli={{ docker_target_version }}
|
|
state: present
|
|
update_cache: true
|
|
register: apt_out
|
|
|
|
- name: Affichage sortie du module apt
|
|
ansible.builtin.debug:
|
|
msg:
|
|
- "{{ apt_out.stdout_lines }}"
|
|
- "{{ apt_out.stderr_lines }}"
|
|
failed_when: apt_out.rc != 0
|
|
|
|
- name: Verrouillage des paquets docker-ce
|
|
ansible.builtin.dpkg_selections:
|
|
name: "{{ item }}"
|
|
selection: hold
|
|
with_items:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
|
|
- name: Adding cleaning cron
|
|
ansible.builtin.cron:
|
|
minute: "0"
|
|
hour: "0"
|
|
job: "/usr/bin/docker image prune -a -f >/dev/null 2>&1"
|
|
name: "image-prune"
|
|
user: "root"
|
|
cron_file: image-prune
|
|
|
|
- name: Augmentation des valeurs systeme inotify max_user_instances
|
|
ansible.posix.sysctl:
|
|
name: fs.inotify.max_user_instances
|
|
value: '4096'
|
|
sysctl_set: true
|
|
state: present
|
|
reload: true
|
|
|
|
- name: Augmentation des valeurs systeme inotify max_user_watches
|
|
ansible.posix.sysctl:
|
|
name: fs.inotify.max_user_watches
|
|
value: '2097152'
|
|
sysctl_set: true
|
|
state: present
|
|
reload: true
|
|
|
|
- name: Désactivation du swap
|
|
ansible.posix.sysctl:
|
|
name: vm.swappiness
|
|
value: '1'
|
|
sysctl_set: true
|
|
state: present
|
|
reload: true
|
|
|
|
- name: Customise containerd file config.toml
|
|
ansible.builtin.copy:
|
|
src: config.toml
|
|
dest: /etc/containerd/config.toml
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
notify: Restart containerd
|
|
|
|
- name: Customise docker file daemon.json
|
|
ansible.builtin.copy:
|
|
src: daemon.json
|
|
dest: /etc/docker/daemon.json
|
|
owner: root
|
|
group: root
|
|
mode: "0755"
|
|
notify: Restart docker
|
|
|
|
- name: Adding Multipathd blacklist for longhorn support
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/multipath.conf
|
|
block: |
|
|
# https://longhorn.io/kb/troubleshooting-volume-with-multipath/
|
|
blacklist {
|
|
devnode "^sd[a-z0-9]+"
|
|
}
|
|
notify: Restart multipathd
|
|
|
|
- name: Start and enable iscsi daemon for longhorn support
|
|
ansible.builtin.systemd_service:
|
|
name: iscsid
|
|
enabled: true
|
|
state: started
|
|
|
|
- name: Enable iscsi_tcp kernel module for longhorn support
|
|
community.general.modprobe:
|
|
name: iscsi_tcp
|
|
state: present
|