--- # Part of role: k3s-agent # Called by: ansible/playbooks/join-debian-agent.yaml # ansible/playbooks/setup-gpu-node.yaml # Description: Installs K3s in agent mode, joins the cluster, labels and taints the node. - name: Download and install K3s agent ansible.builtin.shell: cmd: > curl -sfL https://get.k3s.io | INSTALL_K3S_VERSION={{ k3s_version }} K3S_URL={{ k3s_server_url }} K3S_TOKEN={{ k3s_node_token }} sh - creates: /usr/local/bin/k3s - name: Ensure K3s agent service is running ansible.builtin.service: name: k3s-agent state: started enabled: true become: true - name: Apply node labels ansible.builtin.shell: cmd: > k3s kubectl label node {{ ansible_hostname }} {{ item.key }}={{ item.value }} --overwrite loop: "{{ k3s_node_labels | dict2items }}" delegate_to: minisforum become: true changed_when: false when: k3s_node_labels is defined and k3s_node_labels | length > 0 - name: Apply node taints ansible.builtin.shell: cmd: > k3s kubectl taint node {{ ansible_hostname }} {{ item }} --overwrite loop: "{{ k3s_node_taints }}" delegate_to: minisforum become: true changed_when: false when: k3s_node_taints is defined and k3s_node_taints | length > 0