Skip to content

Add Longhorn persistent storage with Talos system extensions#25

Merged
winlinuxmatt merged 2 commits into
mainfrom
fix/controlplane-dhcp-conflict-and-expose-longhorn-ui
Dec 22, 2025
Merged

Add Longhorn persistent storage with Talos system extensions#25
winlinuxmatt merged 2 commits into
mainfrom
fix/controlplane-dhcp-conflict-and-expose-longhorn-ui

Conversation

@winlinuxmatt
Copy link
Copy Markdown
Owner

Summary

This PR adds Longhorn distributed block storage to the Talos Kubernetes cluster with all necessary system extensions and configurations.

Changes

  • Talos Image: Updated to custom schematic (e187c9b90f773cd8c84e5a3265c5554ee787b2fe67b508d9f955e90e7ae8c96c) with:
    • iscsi-tools v0.2.0
    • util-linux-tools 2.41.1
    • qemu-guest-agent 10.0.2
  • VIP Configuration: Removed due to network mismatch (192.168.3.180 vs 10.0.0.0/24 cluster network)
  • Longhorn Deployment:
    • Configured with NodePort UI access on port 30080
    • Applied privileged pod security to longhorn-system namespace
    • Removed /dev/vdb references for manual disk configuration
    • All pods running and storage classes created successfully
  • Documentation: Added comprehensive setup guide in LONGHORN_TALOS_SETUP.md

Verification

  • ✅ All Talos nodes have required system extensions installed
  • ✅ ext-iscsid service running on all nodes
  • ✅ All Longhorn pods in Running state
  • ✅ Storage classes (longhorn, longhorn-static) created
  • ✅ Kubernetes cluster healthy with all nodes Ready

Testing

Verified on 6-node cluster (3 control plane + 3 worker nodes) running Talos Linux with Cilium CNI.

- Updated Talos image to use custom schematic with iscsi-tools and util-linux-tools extensions
- Removed VIP configuration due to network mismatch (192.168.3.x vs 10.0.0.x)
- Configured Longhorn with NodePort UI access on port 30080
- Applied privileged pod security to longhorn-system namespace
- Removed /dev/vdb references for manual disk configuration
- Added comprehensive Longhorn setup documentation
- Verified ext-iscsid service running on all nodes
- All Longhorn pods running and storage classes created successfully
- Removed cp_vip variable declaration from variables.tf
- Variable was unused after VIP configuration removal
- Fixes tflint warning: terraform_unused_declarations
@winlinuxmatt winlinuxmatt merged commit 9bf2281 into main Dec 22, 2025
1 check passed
winlinuxmatt added a commit that referenced this pull request Dec 22, 2025
- Deleted templates/cpnetwork.yaml.tmpl (no longer used after VIP removal)
- Updated README directory structure to remove reference to deleted file
- Cleanup following VIP configuration removal in PR #25
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