ansible-role-k3s/tasks/build/install-k3s.yml

81 lines
2.6 KiB
YAML
Raw Normal View History

2019-03-09 21:54:44 +01:00
---
2020-07-25 15:03:53 +02:00
- name: Ensure k3s is linked into the installation destination on the contol plane
file:
src: "{{ k3s_install_dir }}/k3s-{{ k3s_release_version }}"
dest: "{{ k3s_install_dir }}/{{ item }}"
2020-07-25 15:03:53 +02:00
state: "{{ 'hard' if k3s_install_hard_links else 'link' }}"
force: "{{ k3s_install_hard_links }}"
mode: 0755
loop:
- k3s
- kubectl
- crictl
- ctr
2020-07-25 18:39:01 +02:00
when: ((k3s_control_node and k3s_controller_count | length == 1)
or (k3s_primary_control_node and k3s_controller_count | length > 1)) and not ansible_check_mode
notify:
- restart k3s
become: "{{ k3s_become_for_install_dir | ternary(true, false, k3s_become_for_all) }}"
- name: Ensure systemd unit file directory exists
file:
path: "{{ k3s_systemd_unit_directory }}"
state: directory
mode: 0755
2019-03-09 21:54:44 +01:00
- name: Ensure k3s service unit file is present on control plane
template:
src: k3s.service.j2
dest: "{{ k3s_systemd_unit_directory }}/k3s.service"
mode: 0644
when: (k3s_control_node and k3s_controller_count | length == 1)
or (k3s_primary_control_node and k3s_controller_count | length > 1)
2019-03-09 21:54:44 +01:00
notify:
- reload systemd
- restart k3s
become: "{{ k3s_become_for_systemd | ternary(true, false, k3s_become_for_all) }}"
2019-03-09 21:54:44 +01:00
- meta: flush_handlers
2020-02-25 18:29:39 +01:00
- name: Ensure k3s killall script is present on all nodes
template:
src: k3s-killall.sh.j2
dest: "/usr/local/bin/k3s-killall.sh"
mode: 0700
become: "{{ k3s_become_for_usr_local_bin | ternary(true, false, k3s_become_for_all) }}"
2020-02-25 18:29:39 +01:00
- name: Ensure k3s uninstall script is present on all nodes
template:
src: k3s-uninstall.sh.j2
dest: "/usr/local/bin/k3s-uninstall.sh"
mode: 0700
become: "{{ k3s_become_for_usr_local_bin | ternary(true, false, k3s_become_for_all) }}"
2020-02-25 18:29:39 +01:00
2020-07-25 15:03:53 +02:00
- name: Ensure k3s is linked into the installation destinations across all nodes
file:
src: "{{ k3s_install_dir }}/k3s-{{ k3s_release_version }}"
dest: "{{ k3s_install_dir }}/{{ item }}"
2020-07-25 15:03:53 +02:00
state: "{{ 'hard' if k3s_install_hard_links else 'link' }}"
force: "{{ k3s_install_hard_links }}"
mode: 0755
notify:
- restart k3s
loop:
- k3s
- kubectl
- crictl
- ctr
2020-07-25 18:39:01 +02:00
when: not ansible_check_mode
become: "{{ k3s_become_for_install_dir | ternary(true, false, k3s_become_for_all) }}"
2019-03-09 21:54:44 +01:00
- name: Ensure k3s control plane is started
systemd:
2019-03-09 21:54:44 +01:00
name: k3s
state: started
enabled: true
scope: "{{ k3s_systemd_context }}"
when: (k3s_control_node and k3s_controller_count | length == 1)
or (k3s_primary_control_node and k3s_controller_count | length > 1)
become: "{{ k3s_become_for_systemd | ternary(true, false, k3s_become_for_all) }}"