Skip to content

feat: Add Longhorn Talos setup with kubelet extraMounts#31

Merged
winlinuxmatt merged 1 commit into
mainfrom
feature/longhorn-talos-setup
Dec 26, 2025
Merged

feat: Add Longhorn Talos setup with kubelet extraMounts#31
winlinuxmatt merged 1 commit into
mainfrom
feature/longhorn-talos-setup

Conversation

@winlinuxmatt
Copy link
Copy Markdown
Owner

Summary

This PR adds the necessary IaC configuration and scripts for Longhorn storage on Talos Kubernetes.

Changes

cluster.tf

  • Added kubelet extraMounts configuration for all worker nodes
  • Enables MountPropagation support required by Longhorn
  • Bind mounts /var/lib/longhorn with rshared option

longhorn-install.sh (new)

  • Automated installation script for Longhorn
  • Creates namespace with pod security labels
  • Installs Longhorn via Helm
  • Exposes UI on NodePort 30080
  • Configures storage disks on all worker nodes

LONGHORN_TALOS_SETUP.md

  • Complete setup documentation
  • Prerequisites and Terraform requirements
  • Quick install and manual installation steps
  • Verification and troubleshooting guide

Rebuild Process

  1. terraform apply (includes kubelet extraMounts)
  2. Reboot worker nodes for kubelet changes
  3. Run ./longhorn-install.sh

Testing

  • Verified Longhorn pods all running
  • Verified storage disks configured on all 3 worker nodes (~186GB each)
  • Verified Longhorn UI accessible on NodePort 30080

- Update cluster.tf with kubelet extraMounts for Longhorn MountPropagation
- Add longhorn-install.sh script for automated installation
- Update LONGHORN_TALOS_SETUP.md with complete setup documentation

Changes include:
- Worker node config patches for /var/lib/longhorn bind mount
- Installation script that configures namespace, Helm install, and storage disks
- Comprehensive documentation for manual and automated setup
@winlinuxmatt winlinuxmatt merged commit 6d665fc into main Dec 26, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant