-
Notifications
You must be signed in to change notification settings - Fork 554
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
Research if [csi-driver-iscsi](https://github.com/kubernetes-csi/csi-driver-iscsi) works on Windows. #2003
Comments
Instead of https://github.com/cloudbase/wnbd ? |
The experiment here aims an alternate way for mapping /mounting RBD devices in Windows compared to |
NBD exporting and consuming is indeed an alternative. Ideally there should be a csi-driver that supports it on both Linux and Windows. Because csi-driver-iscsi exists, and Ceph can export RBD images over iSCSI already, this might be a relatively simple approach. |
As far as my research goes the solution here would be :
Research Doc : https://hackmd.io/oYCS4DviSY2_TTMLft7YPA From the restrictions listed above, it looks like we can not do "block device mapping" to windows containers. What that means to us ? it looks like we can not expose PVC with |
Listing limitations is definitely good! Please make sure to add links to the documentation and other resources where you found the information in your HackMD notes. |
👍
Sure @nixpanic , updating the details over there 👍 |
https://kubernetes.io/docs/setup/production-environment/windows/intro-windows-in-kubernetes/ This is good to mention. The table "Support matrix" seems to come from this doc. |
It seems that, even though
|
[Update] Just to mention, the subjected/related projects looks at early stage, so good amount of hacks required to get the experiment going.. :) |
Do you have these hacks documented? I guess the additional changes should also be reported in the csi-proxy project so that these improvements can benefit others. It seems there is some support for iSCSI in the csi-proxy project. Did you have a look at that, and got it working too? |
Indeed. I have already opened an issue a couple of weeks back in kubernetes-csi/csi-driver-iscsi#44
Yes, I went through the project and related code paths and updated the hackmd with the summary ( please check last week update and todays update ) ie what I think need to be done to get this working. Would like to have a discussion around this and move on further. |
I had this sitting in the editor for a few days and forgot to hit As far as I understand it, numbers 1 and 2 of these should be the standard ones, and they would be expected to be working, maybe with a few tweaks here and there:
But the problem is with item number 3: It is not as easy as that. For every kind of operations csi-proxy needs to support (e.g. iscsi, smb, ...), two things need to happen:
If you look at smb side, the csi-proxy implements csi and the csi-driver-smb reaches out to csi-proxy for node-operations on windows nodes. So that is all set. For the iscsi-side however, the situation is this:
So to sum up: it won't work just yet, and in order to make it work, we need to teach csi-driver-iscsi to delegate to csi-proxy on windows nodes. This is the main task, and then we need to eliminate the rough edges.
I think that was the short version of what I wrote above, but had to read the code to understand what you were saying. 😉
As @nixpanic mentioned, would be great to document these hacks instead of mentioning that hacks were needed. 😄
|
............
Exactly @obnoxxx . indeed this need good amount of work! and thats the current state. I updated the hackmd and also discussed in detail in CSI call. To elaborate some more on this point: The current iscsi csi driver indeed lack the windows support. When we say it lack the support, first of all it has to run inside the windows node, and to support
Making/teaching iscsi csi driver to run and support windows version need effort and support from community. We have to see how this work out against release plans..etc. The linux part also has to be scrutinized with more testing..etc. So there is good amount of work left to get this going.
Thats my understanding too.
The experiments were carried out in a loaned cluster with very short lived life ( a few hours left before it auto decommissioned) and was facing issues here and there to get it going , also it was first attempt on windows, so hiccups here and there. will try out once again and document it correctly, not sure all those were required though.
Thats the summary so far ! |
[Status update and some findings after going through various github issues/code/PR..etc on this topic] iow, where we are at:
Have to address the comments along with few other things kubernetes-csi/csi-driver-iscsi#45 (comment)
Once this is corrected, I believe our Windows Machine configuration should be fine. [Other findings]
|
[Quick update] I could get the windows working finally!
|
[Status update] The iscsi experiments are going on heavily to get iscsi csi project in a better shape. Many hiccups due to the fact that, it was never tested in real kube cluster on both codewise or setup wise. Solving one by one and making progress. Will continue experimenting on this as this node part is very important in the workflow of this effort. |
Finally able to get the mount part working on ISCSI side: 👍
The POD runs successfully:
|
Unfortunately the |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed due to inactivity. Please re-open if this still requires investigation. |
Further experiments were carried on this and various issues are noticed in the driver due to broken library which iscsi driver currently consumes for its operations. Most of the issues are fixed and few are still left to fix. There is a refactoring happening on the library and after that, it has to be retested. In short, this is getting good pace kubernetes-csi/csi-lib-iscsi#29 (comment) and tagetted for GA at 1.23 timeframe. |
[Update] Finally after many discussions and experiments, kubernetes-csi/csi-lib-iscsi#29 is merged. this should give us decent stable platform to continue on the iscsi driver. Will refresh and update the progress here 👍 |
One great update here : Finally kubernetes-csi ISCSI driver get its first release https://github.com/kubernetes-csi/csi-driver-iscsi/releases/tag/v0.1.0 🎉 .. one more step ahead on this effort ! |
There going to be another iscsi release with 1.24 kube with more fixes..etc. With that in place, we will be able to continue on this effort, meanwhile I am removing this from the 3.6 tracker. |
v1.0.0 of iscsi csi-driver is yet to be available https://github.com/kubernetes-csi/csi-driver-iscsi/ . keeping this issue tracker for 3.8 |
@humblec any plan to work on it? if not feel free to unassing/close it. |
The effort here is to understand csi driver capabliities against Windows worker nodes.
I am capturing the details here for now, later it can be converted to sub tasks/issues:
https://hackmd.io/oYCS4DviSY2_TTMLft7YPA
The text was updated successfully, but these errors were encountered: