Justin Parisi
๐ค SpeakerAppearances Over Time
Podcast Appearances
So through the Kubernetes storage class concept, we define a provisioner with some sort of properties.
The Kubernetes application, the user comes along and says, I need to request 10 gigabytes of storage that meets these properties.
And Kubernetes asks Trident to provision that for us.
So the reason why the holdup was is because, well, E-Series, we use iSCSI, and ONTAP, we have NFS or iSCSI.
And if you looked at the documentation previously, we recommended against using ONTAP or E-Series iSCSI.
This was because of a bug in Kubernetes pre-1.6.
In particular, it's in what happened when the persistent volume was released, when it was no longer being used by the containers.
You see, Kubernetes would โ it did not understand shared iSCSI sessions.
So when the pod disconnected from that persistent volume, it would destroy the session.
Well, if my host has other LUNs that are in use from that shared session, this is obviously bad.
So we discovered that bug.
We fixed it.
Submitted it upstream.
It was accepted into 1.6.
So roughly the beginning of last week, give or take a few days, Kubernetes 1.6 was released.
And there we go.
So now we push the code upstream.
You can now safely use ONTAP iSCSI as well as E-Series iSCSI.
So SolidFire did not have this problem.
They don't have shared iSCSI sessions.