main.yml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ---
  2. # REF: https://github.com/k3s-io/k3s-ansible/blob/master/roles/airgap/tasks/main.yml
  3. - name: Check for Airgap
  4. when: airgap_dir is defined
  5. block:
  6. # - name: Verify Ansible meets airgap version requirements.
  7. # ansible.builtin.assert:
  8. # that: "ansible_version.full is version_compare('2.12', '>=')"
  9. # msg: "The Airgap role requires at least ansible-core 2.12"
  10. #
  11. # - name: Download k3s install script
  12. # delegate_to: localhost
  13. # ansible.builtin.get_url:
  14. # url: https://get.k3s.io/
  15. # timeout: 120
  16. # dest: "{{ airgap_dir }}/k3s-install.sh"
  17. # mode: 0755
  18. #
  19. - name: Distribute K3s install script
  20. ansible.builtin.copy:
  21. src: "{{ airgap_dir }}/k3s-install.sh"
  22. dest: /usr/local/bin/k3s-install.sh
  23. owner: root
  24. group: root
  25. mode: 0755
  26. - name: Distribute K3s x86_64 binary
  27. when: ansible_architecture == 'x86_64'
  28. ansible.builtin.copy:
  29. src: "{{ airgap_dir }}/k3s"
  30. dest: /usr/local/bin/k3s
  31. owner: root
  32. group: root
  33. mode: 0755
  34. - name: Distribute K3s x86_64 binary
  35. when: ansible_architecture == 'aarch64'
  36. ansible.builtin.copy:
  37. src: "{{ airgap_dir }}/k3s-arm64"
  38. dest: /usr/local/bin/k3s
  39. owner: root
  40. group: root
  41. mode: 0755
  42. # - name: Distribute K3s SELinux RPM
  43. # ansible.builtin.copy:
  44. # src: "{{ item }}"
  45. # dest: /tmp/
  46. # owner: root
  47. # group: root
  48. # mode: 0755
  49. # with_fileglob:
  50. # - "{{ airgap_dir }}/k3s-selinux*.rpm"
  51. # register: selinux_copy
  52. # ignore_errors: true
  53. #
  54. # - name: Install K3s SELinux RPM
  55. # when:
  56. # - ansible_os_family == 'RedHat'
  57. # - selinux_copy.skipped is false
  58. # ansible.builtin.yum:
  59. # name: "{{ selinux_copy.results[0].dest }}"
  60. # state: present
  61. # disable_gpg_check: true
  62. - name: Make images directory
  63. ansible.builtin.file:
  64. path: "/var/lib/rancher/k3s/agent/images/"
  65. mode: 0755
  66. state: directory
  67. - name: Determine Architecture
  68. ansible.builtin.set_fact:
  69. k3s_arch: "{{ ansible_architecture }}"
  70. - name: Distribute K3s amd64 images
  71. when: ansible_architecture == 'x86_64'
  72. ansible.builtin.copy:
  73. src: "{{ airgap_dir }}/k3s-airgap-images-amd64.tar.zst"
  74. dest: /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.zst
  75. owner: root
  76. group: root
  77. mode: 0755
  78. - name: Distribute K3s arm64 images
  79. when: ansible_architecture == 'aarch64'
  80. ansible.builtin.copy:
  81. src: "{{ airgap_dir }}/k3s-airgap-images-arm64.tar.zst"
  82. dest: /var/lib/rancher/k3s/agent/images/k3s-airgap-images-arm64.tar.zst
  83. owner: root
  84. group: root
  85. mode: 0755
  86. # - name: Distribute K3s arm images
  87. # when: ansible_architecture == 'armv7l'
  88. # ansible.builtin.copy:
  89. # src: "{{ item }}"
  90. # dest: /var/lib/rancher/k3s/agent/images/k3s-airgap-images-arm.tar
  91. # owner: root
  92. # group: root
  93. # mode: 0755
  94. # with_first_found:
  95. # - files:
  96. # - "{{ airgap_dir }}/k3s-airgap-images-arm.tar.zst"
  97. # - "{{ airgap_dir }}/k3s-airgap-images-arm.tar.gz"
  98. # - "{{ airgap_dir }}/k3s-airgap-images-arm.tar"
  99. # skip: true
  100. - name: Run K3s Install [server]
  101. when: is_k3s_server
  102. ansible.builtin.command:
  103. cmd: /usr/local/bin/k3s-install.sh
  104. environment:
  105. INSTALL_K3S_SKIP_START: "true"
  106. INSTALL_K3S_SKIP_DOWNLOAD: "true"
  107. changed_when: true
  108. - name: Run K3s Install [agent]
  109. when: not is_k3s_server
  110. ansible.builtin.command:
  111. cmd: /usr/local/bin/k3s-install.sh
  112. environment:
  113. INSTALL_K3S_SKIP_START: "true"
  114. INSTALL_K3S_SKIP_DOWNLOAD: "true"
  115. INSTALL_K3S_EXEC: "agent"
  116. changed_when: true