diff --git a/README.md b/README.md index 74bb99c..548e3ab 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # bootstrap k3s cluster +## requirements + +* 3 nodes, key-based SSH to root, empty sdb for gluster + ## init repository local requirements: wireguard-tools, yq, jq, ansible diff --git a/roles/gluster/tasks/main.yaml b/roles/gluster/tasks/main.yaml new file mode 100644 index 0000000..9158261 --- /dev/null +++ b/roles/gluster/tasks/main.yaml @@ -0,0 +1,46 @@ +--- +- name: install gluster package + apt: + name: glusterfs-server +- name: start and enable gluster + service: + enabled: yes + name: glusterd + state: started +- name: filesystem on gluster disk + filesystem: + dev: /dev/sdb + fstype: ext4 +- name: mount gluster disk + mount: + path: /mnt/gluster + src: /dev/sdb + options: noatime + fstype: ext4 + state: mounted +- name: gluster peers + gluster_peer: + nodes: + - node01 + - node02 + - node03 +- name: gluster volume + gluster_volume: + name: data + replicas: 3 + state: started + bricks: /mnt/gluster/data + cluster: + - node01 + - node02 + - node03 +- name: gluster client package + apt: + name: glusterfs-client +- name: mount gluster brick + mount: + path: /data + src: "{{ansible_nodename}}:/data" + options: noatime + fstype: glusterfs + state: mounted diff --git a/site.yml b/site.yml index c611285..96ea950 100644 --- a/site.yml +++ b/site.yml @@ -4,3 +4,4 @@ roles: - base - wireguard + - gluster