Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE] Talos support #3161

Closed
runningman84 opened this issue Oct 16, 2021 · 41 comments
Closed

[FEATURE] Talos support #3161

runningman84 opened this issue Oct 16, 2021 · 41 comments
Assignees
Labels
area/install-uninstall-upgrade Install, Uninstall or Upgrade related highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal
Milestone

Comments

@runningman84
Copy link
Contributor

Is your feature request related to a problem? Please describe.
Talos does not support longhorn due to missing iscsi support:
siderolabs/talos#3057

Describe the solution you'd like
Other supported storage providers in talos use the nvmf protocol to overcome this issue.

Describe alternatives you've considered
I would really like to continue using longhorn, the other solutions have their our limitations like needing a seperated disk.

Additional context
With an uncertain future of k3os many users might take a look at talos.

@runningman84 runningman84 added the kind/feature Feature request, new feature label Oct 16, 2021
@jenting jenting added this to New in Community Issue Review via automation Oct 17, 2021
@PhanLe1010
Copy link
Contributor

PhanLe1010 commented Oct 19, 2021

The current Longhorn engine is dependent on iscsi.
We are working on the next generation of Longhorn engine that uses spdk for better performance. However, it may take a long time for this version to become as stable and feature-rich as the current version.

#760
#3044

I am curious why k3os's future is uncertain?

@PhanLe1010 PhanLe1010 moved this from New to Pending user response in Community Issue Review Oct 20, 2021
@larssb
Copy link

larssb commented Oct 22, 2021

Sounds good @PhanLe1010 ... that works is ongoing in regards to the next generation of the Longhorn engine.

On K3OS see:

  • [FEATURE] Replace K3OS harvester/harvester#581 <-- where @yasker talks about K3OS not having official support. Not the same as the project being deprecated or not developed further. But, that fact just raises peoples awareness towards K3OS maybe not being the best option if you're building a Kubernetes platform in an enterprise setting
  • And as an outsider it's easy to get into your head that now that SuSe acquired RancherLabs why wouldn't they take the best of K3OS and integrate that into an OS they already have - or simply propose another SuSe OS that they already have as simply being a replacement for K3OS.

@PhanLe1010 PhanLe1010 moved this from Pending user response to Resolved/Scheduled in Community Issue Review Oct 22, 2021
@HaveFun83
Copy link

iscsi-tools are now support via system extensions on the talos side.
Maybe the settings how longhorn communicate with the iscsi-daemon can be made configurable?

https://www.talos.dev/v1.1/kubernetes-guides/configuration/replicated-local-storage-with-openebs-jiva/

@skandragon
Copy link

skandragon commented Sep 27, 2022

I fear it's more than just the settings. I fear it's also that bash and other tools are used. There's a somewhat long list of tools:


The host filesystem supports the file extents feature to store the data. Currently we support: ext4, XFS

curl, findmnt, grep, awk, blkid, lsblk must be installed.

@innobead innobead added the investigation-needed Need to identify the case before estimating and starting the development label Nov 1, 2022
@innobead innobead added this to the Backlog milestone Nov 1, 2022
@innobead innobead modified the milestones: Backlog, v1.5.0 Nov 22, 2022
@innobead innobead added priority/0 Must be fixed in this release (managed by PO) area/install-uninstall-upgrade Install, Uninstall or Upgrade related labels Nov 22, 2022
@innobead
Copy link
Member

innobead commented Nov 23, 2022

@innobead innobead changed the title [FEATURE] talos support [FEATURE] Talos support Nov 23, 2022
@innobead innobead added the highlight Important feature/issue to highlight label Nov 23, 2022
@c3y1huang
Copy link
Contributor

c3y1huang commented Mar 27, 2023

Note:

I've written a PoC to test the feasibility of the changes. And will revisit this issue later to provide a proper LEP.

@innobead innobead modified the milestones: v1.5.0, v1.6.0 May 3, 2023
@derekbit derekbit added the require/lep Require adding/updating enhancement proposal label Jul 4, 2023
@innobead innobead removed the investigation-needed Need to identify the case before estimating and starting the development label Jul 19, 2023
@runningman84
Copy link
Contributor Author

Cool so see my feature request implemented…

@ccben87
Copy link

ccben87 commented Oct 25, 2023

I really hope this will be merged soon. Otherwise I might have to look at alternatives :(

@CRASH-Tech
Copy link

I really hope this will be merged soon. Otherwise I might have to look at alternatives :(

Same situation

@zimmertr
Copy link

If you're using Proxmox someone has recently started developing a CSI driver that works with ZFS, LVM, Local, etc. Storage types. I'm using it with ZFS quite happily now.

@ccben87
Copy link

ccben87 commented Oct 25, 2023

If you're using Proxmox someone has recently started developing a CSI driver that works with ZFS, LVM, Local, etc. Storage types. I'm using it with ZFS quite happily now.

I am using Nutanix AHV which is KVM under the surface so it might work? Maybe not? What is this project?

@zimmertr
Copy link

zimmertr commented Oct 25, 2023

Review the hyperlinks you quoted 😉

As for Nutanix, no. The plugin directly interacts with the Proxmox API. But if it works it works well. I'm directly using block storage in K8s now. It's awesome.

@ccben87
Copy link

ccben87 commented Oct 25, 2023

Review the hyperlinks you quoted 😉

Oh, duh, it's late here.

As for Nutanix, no. The plugin directly interacts with the Proxmox API. But if it works it works well. I'm directly using block storage in K8s now. It's awesome.

That's a shame. Need this to be merged then.

@bdsoha
Copy link

bdsoha commented Oct 29, 2023

@c3y1huang Any updates on the merge process?

@innobead
Copy link
Member

@c3y1huang Any updates on the merge process?

The PRs will be released in the near future and planned for the upcoming 1.6.0 release.

@c3y1huang
Copy link
Contributor

c3y1huang commented Nov 15, 2023

Test results (core):

@c3y1huang
Copy link
Contributor

c3y1huang commented Nov 16, 2023

Test result (full):

@Ornias1993
Copy link

To ensure it actually makes 1.6.0, it might be best to give the PR's a bit more pro-active attention @innobead

@boixu
Copy link

boixu commented Dec 18, 2023

Hi, I am also very much interested in this. Keep up the great work!

@c3y1huang
Copy link
Contributor

c3y1huang commented Dec 27, 2023

Currently I am experimenting Longhorn with Talos v1.6.0. Somehow, patching the machine kubelet extra-mount isn't working as in Talos v1.5.5. cc @frezbo

machine:
  kubelet:
    extraMounts:
      - destination: /var/lib/longhorn
        type: bind
        source: /var/lib/longhorn
        options:
          - bind
          - rshared
          - rw

@frezbo
Copy link

frezbo commented Dec 27, 2023

Currently I am experimenting Longhorn with Talos v1.6.0. Somehow, patching the machine kubelet extra-mount isn't working as in Talos v1.5.5. cc @frezbo

machine:
  kubelet:
    extraMounts:
      - destination: /var/lib/longhorn
        type: bind
        source: /var/lib/longhorn
        options:
          - bind
          - rshared
          - rw

what's the error?

@c3y1huang
Copy link
Contributor

what's the error?

There is no error, the mount didn't seem to apply somehow.

@frezbo
Copy link

frezbo commented Dec 27, 2023

what's the error?

There is no error, the mount didn't seem to apply somehow.

Probably check the kubelet and controller-runtime logs

talosctl logs kubelet talosctl logs controller-runtime

@c3y1huang
Copy link
Contributor

Probably check the kubelet and controller-runtime logs

talosctl logs kubelet talosctl logs controller-runtime

Thank you @frezbo . It appears this was a false alarm caused by a typo in my launch template.

@c3y1huang
Copy link
Contributor

c3y1huang commented Dec 28, 2023

Test result (full):

  • Talos (v1.6.0)
    • S3
    = 2 failed, 341 passed, 22 skipped, 254 warnings in 50724.13s (14:05:24) =
    
    • NFS
    = 2 failed, 340 passed, 23 skipped, 233 warnings in 50157.04s (13:55:57) =
    

The 2 failed test cases seem unrelated to this feature.

@innobead
Copy link
Member

The 2 failed test cases seem unrelated to this feature.

  • test_engine_image_incompatible: Failed to pull image "longhornio/longhorn-test:version-test.7-7.5-4.1-1"

@chriscchien Please help with this. @longhorn/qa

@yangchiu
Copy link
Member

yangchiu commented Jan 3, 2024

Verified passed on master-head (longhorn-manager b2132e7) following longhorn/website#827 to setup Talos environment, but extra config for Pod Security is also needed:

cluster:
  apiServer:
    admissionControl:
      - name: PodSecurity
        configuration:
          apiVersion: pod-security.admission.config.k8s.io/v1alpha1
          defaults:
            enforce: privileged
          kind: PodSecurityConfiguration

Longhorn can be installed successfully in the configured Talos environment. And longhorn-tests coretest has been run based on longhorn/longhorn-tests#1501, there is no outstanding issue found.

@yangchiu yangchiu closed this as completed Jan 3, 2024
@camaeel
Copy link

camaeel commented Jan 3, 2024

Verified passed on master-head (longhorn-manager b2132e7) following longhorn/website#827 to setup Talos environment, but extra config for Pod Security is also needed:

cluster:
  apiServer:
    admissionControl:
      - name: PodSecurity
        configuration:
          apiVersion: pod-security.admission.config.k8s.io/v1alpha1
          defaults:
            enforce: privileged
          kind: PodSecurityConfiguration

Longhorn can be installed successfully in the configured Talos environment. And longhorn-tests coretest has been run based on longhorn/longhorn-tests#1501, there is no outstanding issue found.

Instead lowering PodSecurity for whole cluster it would be better either to label longhorn-system namespace or put it into PodSecurityConfiguration as exemption (https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/#configure-the-admission-controller).

@yangchiu
Copy link
Member

yangchiu commented Jan 3, 2024

Instead lowering PodSecurity for whole cluster it would be better either to label longhorn-system namespace or put it into PodSecurityConfiguration as exemption (https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/#configure-the-admission-controller).

@c3y1huang Would you like to add this to the documentation?

@c3y1huang
Copy link
Contributor

@c3y1huang Would you like to add this to the documentation?

Longhorn's documentation has links directing to the Talos documentation, which offers various approaches for handling this (including the namespace approach).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/install-uninstall-upgrade Install, Uninstall or Upgrade related highlight Important feature/issue to highlight kind/feature Feature request, new feature priority/0 Must be fixed in this release (managed by PO) require/auto-e2e-test Require adding/updating auto e2e test cases if they can be automated require/doc Require updating the longhorn.io documentation require/lep Require adding/updating enhancement proposal
Projects
Status: Resolved/Scheduled
Community Issue Review
Resolved/Scheduled
Development

No branches or pull requests