-
Notifications
You must be signed in to change notification settings - Fork 1
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
Kubernetes and libStorage #133
Comments
@clintonskitson I think you meant 5/20/2016 on the target date. Please confirm. |
Source of inspiration - clintkitson/kubernetes@7ecd87e |
Confirmed @vladimirvivien, thanks |
The client should be instantiated from here https://github.com/emccode/libstorage/blob/master/libstorage.go#L81-L89 |
This config would be fed in as a config object. To get this working you need a libStorage server instance running (REX-Ray 0.4 not running embedded mode). The libS client points at this central thing.
|
@clintonskitson : Update
Clarification
TO DO
Possible Issues (later when submitting PR)
|
@vladimirvivien Thanks for the update. You are right on the REX-Ray specific config. That had to do with configuring modules that were defined as that functionality was not bubbled up through the top level of RR. The equivalent for you would be libstorage as laid out here with services. Passing this into libstorage would not require anything special.
|
@clintonskitson Update status:
PVC is not working yet (see following). No obvious cause showing up in log files.
|
@clintonskitson Update
|
@clintonskitson Update Not So Good The issue however, the k8s API is generating a value of the Volume Created
Current Issue InvestigatedThe following is the
However, during validation, this is the PersistentVolume value that is presented to the API:
The problem is that the version that the API is validating has |
@clintonskitson Update PersistentVolume ClaimClaim
Result
The volume information:
RexRay Verification
Issue (Big One)I got stuck for a day unable to figure out why pods were not deploying. It turns out when Being Investigated (Workarounds)
|
Makes sense. It is probably best to simulate real production environments On Friday, June 17, 2016, Vladimir Vivien notifications@github.com wrote:
|
@clintonskitson I am investigating a code-change to |
@clintonskitson to actually answer your question: Yes, the |
Update Let's do a walk through of the Kubernetes + libStorage Pre-Reqisites
Case 1: PersistentVolumes Bound to Pre-Defined VolumeDefine RexRay Volume
Persistent Volume
Persistent Volume Claim
Result of Deployment
Deploy Pod with Claim
Result
Case 2: Dynamic Persistent Volume ProvisionerIn this scenario, the volume is defined in one Kubernetes claim file. The file uses the experimental annotation Activating LibStorage ProvisioningNew Kube-Controller-Manager Flag Added Launching Local Cluster with Provisioner
The following snippet shows how the
Deploy a Persistent Volume ClaimDefine PersistentVolumeClaim
Description of PVC Created
PersistentVolume Description
Validate Volume with RexRay
Launch Pod Using PVC
PVC Bound
|
Forked code here - https://github.com/vladimirvivien/kubernetes/tree/feature/libstorage |
TasksThe following is a list of tasks I am working to get code ready for PR
|
The PR stalled due to toml library license issue. That has been resolved now. However, the volume plugin API has progressed and invalidated many of the assumptions made earlier. Now, these have to be refactored to use the now built-in dynamic provisioning mechanism. |
It has been a while since this thread got updated. The latest version of the code has been submitted to the PR. This version of the code implements the followings:
The updated Kubernetes libStorage volume plugin code also introduced a clean implementation of the libStorage API client baked into Kubernetes. This allowed us to further reduce direct dependencies on Go packages from the libStorage project. As a benefit, this reduces the build friction that arises when introducing new dependencies to Kubernenetes (see #133 (comment)). The new client gives us the freedom to only implement the libStorage API call needed to achieve storage operations. See PR - kubernetes/kubernetes#28599 |
Targeting 05/20/2016 for a review of the libStorage driver for K8.
Configured against a RR as a libStorage server
Create/Remove Volumes
Claim/Unclaim Volumes
Mount/Unmount Volumes
The text was updated successfully, but these errors were encountered: