update: Added 'git' and 'vagrant' to required tools in pre-flight checks fix: configured k3s install to use internal nic for flanel network update: Added Longhorn installation process and updated memory allocation for VMs update: Added 'git' and 'vagrant' to required tools in pre-flight checks fix: configured k3s install to use internal nic for flanel network fix: corrected JSON formatting for config json update: reduce VM memory allocation to 2GB, add Longhorn installation scripts and prerequisites, and implement checks for existing pods update: improve error logging in RunJsonDeployment and RunCommand functions update: add jq installation to provision script update: add version flag
47 lines
No EOL
1.2 KiB
YAML
47 lines
No EOL
1.2 KiB
YAML
---
|
|
- name: Install k3s on 3-node cluster
|
|
hosts: vm1,vm2,vm3
|
|
become: true
|
|
become_user: root
|
|
serial: 1 # Ensure tasks are executed one host at a time
|
|
vars_files:
|
|
- vars.yaml
|
|
|
|
tasks:
|
|
- name: Install open-iscsi on all nodes
|
|
ansible.builtin.package:
|
|
name: open-iscsi
|
|
state: present
|
|
|
|
- name: Install nfs-common on all nodes
|
|
ansible.builtin.package:
|
|
name: nfs-common
|
|
state: present
|
|
|
|
- name: Install cryptsetup and dmsetup packages
|
|
ansible.builtin.package:
|
|
name:
|
|
- cryptsetup
|
|
- dmsetup
|
|
state: present
|
|
|
|
- name: Load dm_crypt kernel module
|
|
community.general.modprobe:
|
|
name: dm_crypt
|
|
state: present
|
|
|
|
- name: Make dm_crypt module load on boot
|
|
ansible.builtin.lineinfile:
|
|
path: /etc/modules
|
|
line: dm_crypt
|
|
create: yes
|
|
|
|
- name: Check if dm_crypt module is loaded
|
|
ansible.builtin.shell: lsmod | grep dm_crypt
|
|
register: dm_crypt_check
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: Show dm_crypt status
|
|
ansible.builtin.debug:
|
|
msg: "dm_crypt module is {{ 'loaded' if dm_crypt_check.rc == 0 else 'not loaded' }}" |