|
|
@@ -34,20 +34,49 @@
|
|
|
k3s_download_url: "http://download.9981.tech/k3s-v1.35.0%2Bk3s1"
|
|
|
|
|
|
tasks:
|
|
|
- - name: Stop and cleanup any existing k3s installation on workers
|
|
|
- shell: |
|
|
|
- systemctl stop k3s-agent 2>/dev/null || true
|
|
|
- pkill -f k3s 2>/dev/null || true
|
|
|
- rm -rf /var/lib/rancher/k3s
|
|
|
- rm -f /etc/systemd/system/k3s-agent.service
|
|
|
- systemctl daemon-reload 2>/dev/null || true
|
|
|
- register: cleanup_result
|
|
|
+ - name: Check if k3s-agent service exists
|
|
|
+ stat:
|
|
|
+ path: /etc/systemd/system/k3s-agent.service
|
|
|
+ register: k3s_agent_service_exists
|
|
|
+
|
|
|
+ - name: Stop k3s-agent service if it exists
|
|
|
+ systemd:
|
|
|
+ name: k3s-agent
|
|
|
+ state: stopped
|
|
|
+ when: k3s_agent_service_exists.stat.exists
|
|
|
ignore_errors: yes
|
|
|
|
|
|
+ - name: Kill any running k3s processes
|
|
|
+ shell: pkill -f k3s || true
|
|
|
+ when: k3s_agent_service_exists.stat.exists
|
|
|
+ ignore_errors: yes
|
|
|
+
|
|
|
+ - name: Remove k3s-agent service file
|
|
|
+ file:
|
|
|
+ path: /etc/systemd/system/k3s-agent.service
|
|
|
+ state: absent
|
|
|
+
|
|
|
+ - name: Remove k3s data directory
|
|
|
+ file:
|
|
|
+ path: /var/lib/rancher/k3s
|
|
|
+ state: absent
|
|
|
+
|
|
|
+ - name: Reload systemd daemon
|
|
|
+ systemd:
|
|
|
+ daemon_reload: yes
|
|
|
+
|
|
|
- name: Print cleanup status
|
|
|
debug:
|
|
|
msg: "Cleanup completed on worker node {{ inventory_hostname }}"
|
|
|
|
|
|
+ - name: Test connectivity to master node
|
|
|
+ wait_for:
|
|
|
+ port: 6443
|
|
|
+ host: "{{ master_ip }}"
|
|
|
+ timeout: 10
|
|
|
+ state: started
|
|
|
+ ignore_errors: yes
|
|
|
+
|
|
|
- name: Check if k3s binary exists
|
|
|
stat:
|
|
|
path: /usr/local/bin/k3s
|
|
|
@@ -85,10 +114,40 @@
|
|
|
wait_for:
|
|
|
port: 10250
|
|
|
host: "{{ inventory_hostname }}"
|
|
|
- timeout: 300
|
|
|
+ timeout: 120
|
|
|
delay: 10
|
|
|
ignore_errors: yes
|
|
|
|
|
|
+ - name: Check k3s-agent service status
|
|
|
+ shell: systemctl is-active k3s-agent
|
|
|
+ register: service_status
|
|
|
+ ignore_errors: yes
|
|
|
+
|
|
|
+ - name: Display k3s-agent service status
|
|
|
+ debug:
|
|
|
+ msg: "k3s-agent service status on {{ inventory_hostname }}: {{ service_status.stdout }}"
|
|
|
+
|
|
|
+ - name: Get k3s-agent logs if service is not active
|
|
|
+ shell: journalctl -u k3s-agent --no-pager -n 20
|
|
|
+ when: service_status.stdout != 'active'
|
|
|
+ register: service_logs
|
|
|
+ ignore_errors: yes
|
|
|
+
|
|
|
+ - name: Display k3s-agent logs if needed
|
|
|
+ debug:
|
|
|
+ msg: "{{ service_logs.stdout_lines }}"
|
|
|
+ when: service_status.stdout != 'active'
|
|
|
+
|
|
|
+ - name: Check if k3s-agent process is running
|
|
|
+ shell: pgrep k3s
|
|
|
+ register: k3s_process
|
|
|
+ ignore_errors: yes
|
|
|
+
|
|
|
+ - name: Display k3s process info
|
|
|
+ debug:
|
|
|
+ msg: "k3s process IDs on {{ inventory_hostname }}: {{ k3s_process.stdout }}"
|
|
|
+ when: k3s_process.stdout is defined and k3s_process.stdout != ""
|
|
|
+
|
|
|
- name: Display success message
|
|
|
debug:
|
|
|
msg: "k3s agent installed and joined to cluster on worker {{ inventory_hostname }}"
|