--- - name: Install Wireguard include_role: name: wireguard # when: # - kubernetes_cni == "wireguard" - name: Check if /usr/local/bin/k3s already existe stat: path: /usr/local/bin/k3s register: k3s_bin changed_when: False - name: retreive k3s binary for x86_64 get_url: url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s" dest: "/usr/local/bin/k3s" group: root owner: root mode: 0755 when: - not k3s_bin.stat.exists - ansible_machine == "x86_64" - name: retreive k3s binary for arm64 get_url: url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s-arm64" dest: "/usr/local/bin/k3s" group: root owner: root mode: 0755 when: - not k3s_bin.stat.exists - ansible_machine == "arm64" - name: retreive k3s binary for armv6/armv7 get_url: url: "https://github.com/rancher/k3s/releases/download/v1.19.5%2Bk3s2/k3s-armhf" dest: "/usr/local/bin/k3s" group: root owner: root mode: 0755 when: - not k3s_bin.stat.exists - (ansible_machine == "armv7l") or (ansible_machine == "armv6l") - name: Create tools link file: src: "k3s" dest: "/usr/local/bin/{{ item }}" owner: root group: root state: link with_items: - "kubectl" - "crictl" - "ctr" # Manque kubernetes_server_token, kubernetes_master url - name: Deploy systemd service template: src: "etc/systemd/system/{{ item }}.j2" dest: "/etc/systemd/system/{{ item }}" owner: root group: root mode: 0600 with_items: - "k3s.service" - "k3s.service.env" when: - ansible_service_mgr == "systemd" - name: Create thin volumes for k3s lvol: vg: "{{ item.vg }}" lv: "{{ item.name }}" thinpool: kubernetes size: "{{ item.size }}" with_items: - { name: var_lib_k3s, vg: vg_sys, size: 10g, mount_point: /var/lib/rancher/k3s, mount_opts: "discard"} - name: create file system on containerd lv filesystem: fstype: ext4 dev: "/dev/{{ item.vg }}/{{ item.name }}" with_items: - { name: var_lib_k3s, vg: vg_sys, size: 10g, mount_point: /var/lib/rancher/k3s, mount_opts: "discard"} - name: mount logical volumes mount: name: "{{ item.mount_point }}" src: "/dev/{{ item.vg }}/{{ item.name }}" fstype: ext4 opts: "{{ item.mount_opts }}" state: mounted with_items: - { name: var_lib_k3s, vg: vg_sys, size: 10g, mount_point: /var/lib/rancher/k3s, mount_opts: "discard"} - name: Enable k3s on boot service: name: k3s state: started enabled: yes