install-k3s-master.yml 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. ---
  2. - name: Install k3s on master node
  3. hosts: master
  4. become: yes
  5. vars:
  6. k3s_version: "v1.35.0+k3s1"
  7. k3s_download_url: "http://download.9981.tech/k3s-v1.35.0%2Bk3s1"
  8. master_ip: "47.113.186.215"
  9. k3s_token: "my-secret-token"
  10. tasks:
  11. - name: Stop and cleanup any existing k3s installation
  12. shell: |
  13. systemctl stop k3s 2>/dev/null || true
  14. pkill -f k3s 2>/dev/null || true
  15. rm -f /etc/systemd/system/k3s.service
  16. rm -rf /var/lib/rancher/k3s
  17. rm -rf /etc/rancher/k3s
  18. rm -rf /root/.kube
  19. register: cleanup_result
  20. ignore_errors: yes
  21. - name: Print cleanup status
  22. debug:
  23. msg: "Cleanup completed on master node"
  24. - name: Check if k3s binary exists
  25. stat:
  26. path: /usr/local/bin/k3s
  27. register: k3s_binary
  28. - name: Download k3s binary
  29. get_url:
  30. url: "{{ k3s_download_url }}"
  31. dest: /usr/local/bin/k3s
  32. mode: '0755'
  33. when: not k3s_binary.stat.exists
  34. - name: Print k3s binary status
  35. debug:
  36. msg: "k3s binary already exists, skipping download"
  37. when: k3s_binary.stat.exists
  38. - name: Create k3s systemd service file
  39. template:
  40. src: k3s.service.j2
  41. dest: /etc/systemd/system/k3s.service
  42. mode: '0644'
  43. - name: Reload systemd daemon
  44. systemd:
  45. daemon_reload: yes
  46. - name: Enable and start k3s service
  47. systemd:
  48. name: k3s
  49. enabled: yes
  50. state: started
  51. - name: Wait for node-token file to be created
  52. wait_for:
  53. path: /var/lib/rancher/k3s/server/node-token
  54. timeout: 300
  55. register: token_wait
  56. - name: Display success message
  57. debug:
  58. msg: "k3s master node installed and running successfully"