From 2e32ab4cc7f50b50603d25f4c17f7551a0711a77 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 4 Apr 2021 15:28:34 +0200 Subject: port kubernetes/base to new storage volume roles --- inventory/group_vars/emc/vars.yml | 3 ++- inventory/group_vars/lendwirbel-live/vars.yml | 3 ++- inventory/host_vars/ch-dione.yml | 3 ++- inventory/host_vars/ch-helene.yml | 3 ++- inventory/host_vars/ch-k8s-master.yml | 3 ++- inventory/host_vars/ch-thetys.yml | 3 ++- inventory/host_vars/ele-dione.yml | 3 ++- inventory/host_vars/ele-helene.yml | 3 ++- inventory/host_vars/ele-thetys.yml | 3 ++- inventory/host_vars/emc-master.yml | 3 ++- inventory/host_vars/glt-calypso.yml | 3 ++- inventory/host_vars/glt-coturn.yml | 3 ++- inventory/host_vars/glt-datacop.yml | 3 ++- inventory/host_vars/glt-dione.yml | 3 ++- inventory/host_vars/glt-helene.yml | 3 ++- inventory/host_vars/glt-jitsi.yml | 3 ++- inventory/host_vars/glt-telesto.yml | 3 ++- inventory/host_vars/glt-thetys.yml | 29 +++++++++++++++++++++++---- inventory/host_vars/lw-dione.yml | 3 ++- inventory/host_vars/lw-helene.yml | 3 ++- inventory/host_vars/lw-master.yml | 3 ++- inventory/host_vars/lw-thetys.yml | 3 ++- inventory/host_vars/s2-dione.yml | 3 ++- inventory/host_vars/s2-helene.yml | 3 ++- inventory/host_vars/s2-thetys.yml | 3 ++- inventory/host_vars/sk-cloudio/vars.yml | 3 ++- inventory/host_vars/sk-tomnext-nc.yml | 3 ++- roles/kubernetes/base/tasks/lvm.yml | 18 ----------------- roles/kubernetes/base/tasks/main.yml | 13 ++++++------ roles/kubernetes/base/tasks/zfs.yml | 14 ------------- spreadspace/glt-thetys.yml | 4 +++- 31 files changed, 86 insertions(+), 70 deletions(-) delete mode 100644 roles/kubernetes/base/tasks/lvm.yml delete mode 100644 roles/kubernetes/base/tasks/zfs.yml diff --git a/inventory/group_vars/emc/vars.yml b/inventory/group_vars/emc/vars.yml index 42515184..785f1a99 100644 --- a/inventory/group_vars/emc/vars.yml +++ b/inventory/group_vars/emc/vars.yml @@ -14,7 +14,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/group_vars/lendwirbel-live/vars.yml b/inventory/group_vars/lendwirbel-live/vars.yml index 37d3ec1a..0e037e9b 100644 --- a/inventory/group_vars/lendwirbel-live/vars.yml +++ b/inventory/group_vars/lendwirbel-live/vars.yml @@ -21,7 +21,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/ch-dione.yml b/inventory/host_vars/ch-dione.yml index b5abb06c..1ac451b4 100644 --- a/inventory/host_vars/ch-dione.yml +++ b/inventory/host_vars/ch-dione.yml @@ -70,7 +70,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/ch-helene.yml b/inventory/host_vars/ch-helene.yml index 19f0b80e..68a71a8f 100644 --- a/inventory/host_vars/ch-helene.yml +++ b/inventory/host_vars/ch-helene.yml @@ -66,7 +66,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/ch-k8s-master.yml b/inventory/host_vars/ch-k8s-master.yml index 4098a5ee..d5070c38 100644 --- a/inventory/host_vars/ch-k8s-master.yml +++ b/inventory/host_vars/ch-k8s-master.yml @@ -57,7 +57,8 @@ docker_lvm: size: 7G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/ch-thetys.yml b/inventory/host_vars/ch-thetys.yml index 5249b511..55a4f1af 100644 --- a/inventory/host_vars/ch-thetys.yml +++ b/inventory/host_vars/ch-thetys.yml @@ -39,7 +39,8 @@ docker_lvm: size: 10G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/ele-dione.yml b/inventory/host_vars/ele-dione.yml index 635ab2f8..27d067fa 100644 --- a/inventory/host_vars/ele-dione.yml +++ b/inventory/host_vars/ele-dione.yml @@ -32,7 +32,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/ele-helene.yml b/inventory/host_vars/ele-helene.yml index a753a35c..ba939034 100644 --- a/inventory/host_vars/ele-helene.yml +++ b/inventory/host_vars/ele-helene.yml @@ -32,7 +32,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/ele-thetys.yml b/inventory/host_vars/ele-thetys.yml index 1179e095..f0f14f1e 100644 --- a/inventory/host_vars/ele-thetys.yml +++ b/inventory/host_vars/ele-thetys.yml @@ -34,7 +34,8 @@ docker_lvm: size: 10G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/emc-master.yml b/inventory/host_vars/emc-master.yml index 533df8cb..1ed802df 100644 --- a/inventory/host_vars/emc-master.yml +++ b/inventory/host_vars/emc-master.yml @@ -40,7 +40,8 @@ docker_lvm: size: 7G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/glt-calypso.yml b/inventory/host_vars/glt-calypso.yml index 50fa89dc..4a1ef868 100644 --- a/inventory/host_vars/glt-calypso.yml +++ b/inventory/host_vars/glt-calypso.yml @@ -54,7 +54,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/glt-coturn.yml b/inventory/host_vars/glt-coturn.yml index 69d62437..97a11885 100644 --- a/inventory/host_vars/glt-coturn.yml +++ b/inventory/host_vars/glt-coturn.yml @@ -5,7 +5,8 @@ docker_lvm: size: 5G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/glt-datacop.yml b/inventory/host_vars/glt-datacop.yml index 1e73c967..cb92f3c8 100644 --- a/inventory/host_vars/glt-datacop.yml +++ b/inventory/host_vars/glt-datacop.yml @@ -53,7 +53,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/glt-dione.yml b/inventory/host_vars/glt-dione.yml index a02a4af6..bf6b3c54 100644 --- a/inventory/host_vars/glt-dione.yml +++ b/inventory/host_vars/glt-dione.yml @@ -54,7 +54,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/glt-helene.yml b/inventory/host_vars/glt-helene.yml index 20625b66..06740263 100644 --- a/inventory/host_vars/glt-helene.yml +++ b/inventory/host_vars/glt-helene.yml @@ -54,7 +54,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/glt-jitsi.yml b/inventory/host_vars/glt-jitsi.yml index a8083769..7e38984f 100644 --- a/inventory/host_vars/glt-jitsi.yml +++ b/inventory/host_vars/glt-jitsi.yml @@ -5,7 +5,8 @@ docker_lvm: size: 5G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/glt-telesto.yml b/inventory/host_vars/glt-telesto.yml index 43485541..962475d1 100644 --- a/inventory/host_vars/glt-telesto.yml +++ b/inventory/host_vars/glt-telesto.yml @@ -54,7 +54,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/glt-thetys.yml b/inventory/host_vars/glt-thetys.yml index 529e6d63..9fcb579c 100644 --- a/inventory/host_vars/glt-thetys.yml +++ b/inventory/host_vars/glt-thetys.yml @@ -41,6 +41,20 @@ apt_repo_components: - non-free ## for microcode updates +# lvm_groups: +# storage: +# pvs: +# - /dev/disk/by-id/ata-WDC_WD5000LPVX-22V0TT0_WD-WX81AB371127-part1 + +zfs_arc_size: + min: 2GB + max: 4GB + +zfs_pools: + storage: + mountpoint: /srv/storage + create_vdevs: /dev/disk/by-id/ata-WDC_WD5000LPVX-22V0TT0_WD-WX81AB371127-part1 + blackmagic_desktopvideo_version: 11.7a12 blackmagic_desktopvideo_include_gui: yes @@ -53,7 +67,8 @@ docker_lvm: size: 10G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G @@ -64,8 +79,14 @@ kubernetes_container_runtime: docker kubernetes_standalone_max_pods: 42 kubernetes_standalone_cni_variant: with-portmap -rtmp_streamer_base_path: /srv/streamer -rtmp_streamer_inst_name: feed +rtmp_streamer_storage: + type: zfs + pool: storage + name: streamer + properties: + quota: 400G +rtmp_streamer_base_path: /srv/storage/streamer +rtmp_streamer_inst_name: feed-glt21s1 rtmp_streamer_nginx_image_version: 2021-02-24.20 rtmp_streamer_decklink_card: "DeckLink Mini Recorder" rtmp_streamer_config: @@ -74,7 +95,7 @@ rtmp_streamer_config: full: vbitrate: 7000 -rtmp_streamer_recording_enabled: no +rtmp_streamer_recording_enabled: yes rtmp_streamer_forwards: c3voc: url: "rtmp://ingest.c3voc.de/stream/glt21s1?auth={{ vault_rtmp_streamer_forward_keys.c3voc.glt21s1 }}" diff --git a/inventory/host_vars/lw-dione.yml b/inventory/host_vars/lw-dione.yml index ce9016ca..a8c5a0b9 100644 --- a/inventory/host_vars/lw-dione.yml +++ b/inventory/host_vars/lw-dione.yml @@ -33,7 +33,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/lw-helene.yml b/inventory/host_vars/lw-helene.yml index 16c89e76..4874b6dc 100644 --- a/inventory/host_vars/lw-helene.yml +++ b/inventory/host_vars/lw-helene.yml @@ -33,7 +33,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/lw-master.yml b/inventory/host_vars/lw-master.yml index 533df8cb..1ed802df 100644 --- a/inventory/host_vars/lw-master.yml +++ b/inventory/host_vars/lw-master.yml @@ -40,7 +40,8 @@ docker_lvm: size: 7G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/lw-thetys.yml b/inventory/host_vars/lw-thetys.yml index 7387bc89..0deedcda 100644 --- a/inventory/host_vars/lw-thetys.yml +++ b/inventory/host_vars/lw-thetys.yml @@ -35,7 +35,8 @@ docker_lvm: size: 10G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/s2-dione.yml b/inventory/host_vars/s2-dione.yml index 2ae39b24..0c0757c2 100644 --- a/inventory/host_vars/s2-dione.yml +++ b/inventory/host_vars/s2-dione.yml @@ -25,7 +25,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/s2-helene.yml b/inventory/host_vars/s2-helene.yml index 4746dd7a..3d7036b0 100644 --- a/inventory/host_vars/s2-helene.yml +++ b/inventory/host_vars/s2-helene.yml @@ -25,7 +25,8 @@ docker_lvm: size: 15G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 10G diff --git a/inventory/host_vars/s2-thetys.yml b/inventory/host_vars/s2-thetys.yml index 2da1e3c1..69ca2782 100644 --- a/inventory/host_vars/s2-thetys.yml +++ b/inventory/host_vars/s2-thetys.yml @@ -41,7 +41,8 @@ docker_lvm: size: 10G fs: ext4 -kubelet_lvm: +kubelet_storage: + type: lvm vg: "{{ host_name }}" lv: kubelet size: 5G diff --git a/inventory/host_vars/sk-cloudio/vars.yml b/inventory/host_vars/sk-cloudio/vars.yml index 8faa1431..ef891e1d 100644 --- a/inventory/host_vars/sk-cloudio/vars.yml +++ b/inventory/host_vars/sk-cloudio/vars.yml @@ -48,7 +48,8 @@ docker_zfs: properties: quota: 40G -kubelet_zfs: +kubelet_storage: + type: zfs pool: storage name: kubelet properties: diff --git a/inventory/host_vars/sk-tomnext-nc.yml b/inventory/host_vars/sk-tomnext-nc.yml index 56983c20..94996a23 100644 --- a/inventory/host_vars/sk-tomnext-nc.yml +++ b/inventory/host_vars/sk-tomnext-nc.yml @@ -82,7 +82,8 @@ docker_zfs: properties: quota: 15G -kubelet_zfs: +kubelet_storage: + type: zfs pool: storage name: kubelet properties: diff --git a/roles/kubernetes/base/tasks/lvm.yml b/roles/kubernetes/base/tasks/lvm.yml deleted file mode 100644 index 3ef36e89..00000000 --- a/roles/kubernetes/base/tasks/lvm.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- name: create logical volume - lvol: - vg: "{{ kubelet_lvm.vg }}" - lv: "{{ kubelet_lvm.lv }}" - size: "{{ kubelet_lvm.size }}" - -- name: create filesystem - filesystem: - fstype: "{{ kubelet_lvm.fs }}" - dev: "/dev/mapper/{{ kubelet_lvm.vg | replace('-', '--') }}-{{ kubelet_lvm.lv | replace('-', '--') }}" - -- name: mount filesytem - mount: - src: "/dev/mapper/{{ kubelet_lvm.vg | replace('-', '--') }}-{{ kubelet_lvm.lv | replace('-', '--') }}" - path: /var/lib/kubelet - fstype: "{{ kubelet_lvm.fs }}" - state: mounted diff --git a/roles/kubernetes/base/tasks/main.yml b/roles/kubernetes/base/tasks/main.yml index e33792cc..80fd67a1 100644 --- a/roles/kubernetes/base/tasks/main.yml +++ b/roles/kubernetes/base/tasks/main.yml @@ -2,13 +2,12 @@ - name: install container runtime include_tasks: "cri_{{ kubernetes_container_runtime }}.yml" -- name: prepare /var/lib/kubelet as LVM - when: kubelet_lvm is defined - import_tasks: lvm.yml - -- name: prepare /var/lib/kubelet as ZFS dataset - when: kubelet_zfs is defined - import_tasks: zfs.yml +- name: prepare storage volume for /var/lib/kubelet + when: kubelet_storage is defined + vars: + storage_volume: "{{ kubelet_storage | combine({'dest': '/var/lib/kubelet'})}}" + include_role: + name: "storage/{{ kubelet_storage.type }}/volume" - name: add apt repository include_role: diff --git a/roles/kubernetes/base/tasks/zfs.yml b/roles/kubernetes/base/tasks/zfs.yml deleted file mode 100644 index b675ee6a..00000000 --- a/roles/kubernetes/base/tasks/zfs.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: create zfs dataset - zfs: - name: "{{ kubelet_zfs.pool }}/{{ kubelet_zfs.name }}" - state: present - extra_zfs_properties: "{{ kubelet_zfs.properties | default(omit) }}" - -- name: bind mount filesytem - mount: - src: "{{ zfs_pools[kubelet_zfs.pool].mountpoint }}/{{ kubelet_zfs.name }}" - path: /var/lib/kubelet - fstype: none - opts: bind,x-systemd.automount,nofail - state: mounted diff --git a/spreadspace/glt-thetys.yml b/spreadspace/glt-thetys.yml index 2ad32db6..888fd9bd 100644 --- a/spreadspace/glt-thetys.yml +++ b/spreadspace/glt-thetys.yml @@ -9,10 +9,12 @@ - role: core/ntp - role: core/cpu-microcode - role: apt-repo/spreadspace + #- role: storage/lvm/groups + - role: storage/zfs/pools - role: streaming/blackmagic/desktopvideo - role: kubernetes/base - role: kubernetes/standalone/base - - role: streaming/rtmp/streamer + #- role: streaming/rtmp/streamer post_tasks: - name: install lm-sensors and i7z apt: -- cgit v1.2.3