Longhorn

Talos

Longhorn benötigt iscsi-tools und util-linux-tools in Talos Linux. Siehe die Longhorn Dokumentation

customization:
  systemExtensions:
    officialExtensions:
      - siderolabs/iscsi-tools
      - siderolabs/util-linux-tools

Namespace Labels

Den longhorn-system Namespace mit folgenden Labels versehen, damit Longhorn unter Talos läuft:

  labels:
    pod-security.kubernetes.io/enforce: privileged
    pod-security.kubernetes.io/enforce-version: latest
    pod-security.kubernetes.io/audit: privileged
    pod-security.kubernetes.io/audit-version: latest
    pod-security.kubernetes.io/warn: privileged
    pod-security.kubernetes.io/warn-version: latest

seperate Festplatte für Longhorn nutzen

  • wird als /dev/sda von Talos erkannt (siehe talosctl -n 192.168.0.22 get disk)

  • Patch für Machineconfig erstellen

  • Disk wird nach /var/lib/longhorn/ gemountet

  • Disk wird als extraMounts definiert

machine:
  kubelet:
    extraMounts:
      - destination: /var/lib/longhorn/
        type: bind
        source: /var/lib/longhorn/
        options:
          - bind
          - rshared
          - rw
  disks:
    - device: /dev/sda
      partitions:
        - mountpoint: /var/lib/longhorn/
  • Patch nachträglich ausführen falls nicht schon von Anfang an applied)

talosctl -n 192.168.0.21 patch machineconfig -p @patches/all/longhorn.yaml
# Node rebootet; warten bis er wieder da ist, bevor der nächste Node gepatcht wird
talosctl -n 192.168.0.22 patch machineconfig -p @patches/all/longhorn.yaml

Longhorn UI

UI ohne Ingress aufrufen: kubectl -n longhorn-system port-forward services/longhorn-frontend 8080:80 http://localhost:8080