GithubHelp home page GithubHelp logo

gd9394 / k8s_isi_provisioner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from carrollzhu/k8s_isi_provisioner

0.0 1.0 0.0 113 KB

Kubernetes external storage provisioner for Dell Isilon

License: Apache License 2.0

Makefile 10.14% Go 89.86%

k8s_isi_provisioner's Introduction

k8s_isi_provisioner

Build Status Go Report Card Docker Pulls

Kubernetes external storage provisioner for Dell Isilon

Based on the following:

Instructions: In order to use this external provisioner, you can use the image pushed to docker hub "tenortim/k8s_isi_provisioner", or build it yourself.

Building

To build this provisioner, ensure you have Go installed. This code requires a minimum of Go 1.11.
To build the software, run make.

Deploying

The provisioner requires various permissions whether you are running it in raw Kubernetes or in OpenShift. The persistent-volume-provisioner cluster role in OpenShift 3.11 is missing the needed endpoints permissions and so permissions are supplied by auth.yaml for both OpenShift and pure Kubernetes:

oc create -f auth.yaml

or

kubectl create -f auth.yaml


To deploy the provisioner, run

oc create -f pod.yaml

or

kubectl create -f pod.yaml

If you need to create exports in an access zone other than the System zone, set the ISI_ZONE environment variable in pod.yaml.


Create the isilon storage class using the class.yaml file

oc create -f class.yaml

or

kubectl create -f class.yaml

Note, the NFS mount options that the pod will use are specified at the time that the storage class is created. If additional volume mount options (e.g. forcing NFS version 3) are needed, they can be specified in the class file:

oc create -f class-with-mount-options.yaml

or

kubectl create -f class-with-mount-options.yaml


Example code to create a persistent volume claim named isilon-pvc:

oc create -f claim.yaml

or

kubectl create -f claim.yaml


Tested against: https://www.emc.com/products-solutions/trial-software-download/isilon.htm

This provisioner has support for Isilon Storage Quotas. When enabled, hard, enforcing directory quotas will be created based on the requested size of the volume. The container flag is not currently set so the reported size from 'df' will not reflect the limit, but it will be enforced. This will a require a revision of the goisilon library to support the functionality.

Parameters

Param Description Example
ISI_SERVER The DNS name (or IP address) of the Isilon to use for mount requests isilon.somedomain.com
ISI_API_SERVER The DNS name (or IP address) of the Isilon to use for API access to create the volume (defaults to ISI_SERVER) isilon-mgmt.somedomain.com
ISI_PATH The root path for all exports to be created in /ifs/ose_exports
ISI_ZONE The access zone for all exports to be created in (defaults to System) System
ISI_USER The user to connect to the isilon as admin
ISI_PASS Password for the user account password
ISI_GROUP The default group to assign to the share users
ISI_QUOTA_ENABLE Enable the use of quotas. Defaults to disabled. FALSE or TRUE
PROVISIONER_NAME Alternate name to allow registering multiple providers with different parameters. Defaults to "isilon" isilon

Thanks

Thanks to the developers of the Kubernetes external storage provisioner code and the docs that are making this possible to do. Thanks to Dell EMC {code} for the great Isilon library.

k8s_isi_provisioner's People

Contributors

mend-bolt-for-github[bot] avatar tenortim avatar xphyr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.