Dedicate LVM per K8s engine

This MR !154 (merged) extends the LVM partitioning to the plain flavor. However this partitioning was only design for RKE2 deployment so for Kubeadm the partitioning does not fit well and could cause issues.

This MR fixes the situation by declaring two partitioning models:

  • One inherited from the block-device-kanod-lvm called block-device-rke2-kvm used only for RKE2 flavors
  • One called block-device-kubedam-lvm which take support the mount points for containerd and etcd with Kubeadm flavor. It is worth mentioning the /var/lib/etcd volume should must be formatted with xfs instead ext4 to avoid lost+found folder preventing preflight/init of kubeadm.

Below the output of OpenSUSE kubeadm partitioning:

management-cluster-cp-61e79a0dd1-s2dvl:/home/tmon # cat /etc/*-release
NAME="openSUSE Leap"
VERSION="15.5"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.5"
PRETTY_NAME="openSUSE Leap 15.5"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:15.5"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
DOCUMENTATION_URL="https://en.opensuse.org/Portal:Leap"
LOGO="distributor-logo-Leap"
management-cluster-cp-61e79a0dd1-s2dvl:/home/tmon # lsblk
NAME                  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda                   253:0    0  100G  0 disk 
├─vda1                253:1    0    4M  0 part 
├─vda2                253:2    0  250M  0 part /boot/efi
└─vda3                253:3    0 99.8G  0 part 
  ├─vg-lv_root        254:0    0  4.7G  0 lvm  /
  ├─vg-lv_tmp         254:1    0    5G  0 lvm  /tmp
  ├─vg-lv_var         254:2    0    5G  0 lvm  /var
  ├─vg-lv_vartmp      254:3    0    5G  0 lvm  /var/tmp
  ├─vg-lv_varlog      254:4    0    5G  0 lvm  /var/log
  ├─vg-lv_varlogaudit 254:5    0    5G  0 lvm  /var/log/audit
  ├─vg-lv_home        254:6    0    5G  0 lvm  /home
  ├─vg-lv_etcd        254:7    0   10G  0 lvm  /var/lib/etcd
  ├─vg-lv_containerd  254:8    0 29.9G  0 lvm  /var/lib/containerd
  ├─vg-lv_kubelet     254:9    0 19.9G  0 lvm  /var/lib/kubelet/pods/9e8edfaf-b723-46ea-acab-e59fe14db125/volume-subpaths/empty-dir/postgresql/3
  │                                            /var/lib/kubelet/pods/9e8edfaf-b723-46ea-acab-e59fe14db125/volume-subpaths/empty-dir/postgresql/2
  │                                            /var/lib/kubelet/pods/9e8edfaf-b723-46ea-acab-e59fe14db125/volume-subpaths/empty-dir/postgresql/1
  │                                            /var/lib/kubelet/pods/9e8edfaf-b723-46ea-acab-e59fe14db125/volume-subpaths/empty-dir/postgresql/0
  │                                            /var/lib/kubelet/pods/01a1981e-bd7b-4e7c-a2e7-933c40d51ac2/volume-subpaths/empty-dir/postgresql/3
  │                                            /var/lib/kubelet/pods/01a1981e-bd7b-4e7c-a2e7-933c40d51ac2/volume-subpaths/empty-dir/postgresql/2
  │                                            /var/lib/kubelet/pods/01a1981e-bd7b-4e7c-a2e7-933c40d51ac2/volume-subpaths/empty-dir/postgresql/1
  │                                            /var/lib/kubelet/pods/01a1981e-bd7b-4e7c-a2e7-933c40d51ac2/volume-subpaths/empty-dir/postgresql/0
  │                                            /var/lib/kubelet/pods/30fb3d91-f252-46d0-844c-142b6e414978/volume-subpaths/tigera-ca-bundle/calico-kube-controllers/1
  │                                            /var/lib/kubelet/pods/d6a6bc09-2f30-4449-9193-93768cc83999/volume-subpaths/tigera-ca-bundle/calico-typha/1
  │                                            /var/lib/kubelet/pods/fffe71f2-d03a-4cb0-9401-39763d2ad29e/volume-subpaths/tigera-ca-bundle/calico-node/1
  │                                            /var/lib/kubelet
  └─vg-lv_opt         254:10   0  1.9G  0 lvm  /opt
vdb                   253:16   0    1G  0 disk /var/lib/kubelet/pods/a26719a5-e234-43d4-94a7-80fb8873c4f5/volumes/kubernetes.io~csi/pvc-494d79b2-9c6f-4f8a-8f0f-bba804e300c0/mount
                                               /var/lib/kubelet/plugins/kubernetes.io/csi/cinder.csi.openstack.org/5033acbc53fb6fe0f127df3a20637e5cd560cf86189137aa287cae8c6973a74d/globalmount
vdc                   253:32   0    1G  0 disk /var/lib/kubelet/pods/6e7c3105-9e51-4ed8-9f74-f4c5b37f297d/volumes/kubernetes.io~csi/pvc-0c9ed116-6176-49f4-b216-5b332acd541e/mount
                                               /var/lib/kubelet/plugins/kubernetes.io/csi/cinder.csi.openstack.org/2c8b1b5e8f6ecca7feec378b49e65fdf5bd4344ad9a504f582b216cf1a8e9a13/globalmount
vdd                   253:48   0    8G  0 disk /var/lib/kubelet/pods/9e8edfaf-b723-46ea-acab-e59fe14db125/volumes/kubernetes.io~csi/pvc-5eed61ce-b828-41bc-aba0-2d577856cd7a/mount
                                               /var/lib/kubelet/plugins/kubernetes.io/csi/cinder.csi.openstack.org/f3da9c9f68bcb72d7eac647fc353391b6b21716b2c3bc963500cbfced0909aad/globalmount
vde                   253:64   0    8G  0 disk /var/lib/kubelet/pods/01a1981e-bd7b-4e7c-a2e7-933c40d51ac2/volumes/kubernetes.io~csi/pvc-5478de4d-d308-4d79-82b7-503674e7c8dd/mount
                                               /var/lib/kubelet/plugins/kubernetes.io/csi/cinder.csi.openstack.org/8896de6dc19163e6b4bb8f5fa2c34dd98046caf9eeed1122a6e7c43b731f97dd/globalmount
vdf                   253:80   0    1G  0 disk /var/lib/kubelet/pods/1e593a3c-70af-4e06-b721-e6178af31b5c/volumes/kubernetes.io~csi/pvc-72a4616f-7ffb-4292-8795-60028cbe229b/mount
                                               /var/lib/kubelet/plugins/kubernetes.io/csi/cinder.csi.openstack.org/608f57e045c111b33c0043f2004f24d93160b188ea066c8c45cebd166889f2f7/globalmount
management-cluster-cp-61e79a0dd1-s2dvl:/home/tmon # 
Edited by Thomas Monguillon

Merge request reports

Loading