GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - nec-openstack/external-storage: External Storage Plugins, Provisoners, and Helper Libraries

This repository was archived by the owner on Apr 19, 2023. It is now read-only.
BranchesTags
Open more actions menu
 
 

Latest commit

 

History

726 Commits
726 Commits

Folders and files

NameName
Last commit message
Last commit date
aws/efs
aws/efs
 
 
ceph/cephfs
ceph/cephfs
 
 
docs
docs
 
 
flex
flex
 
 
gluster/block
gluster/block
 
 
lib
lib
 
 
local-volume
local-volume
 
 
nfs-client
nfs-client
 
 
nfs
nfs
 
 
repo-infra
repo-infra
 
 
vendor
vendor
 
 
.gitignore
.gitignore
 
 
.travis.yml
.travis.yml
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
OWNERS
OWNERS
 
 
README.md
README.md
 
 
RELEASE.md
RELEASE.md
 
 
code-of-conduct.md
code-of-conduct.md
 
 
deploy.sh
deploy.sh
 
 
glide.lock
glide.lock
 
 
glide.yaml
glide.yaml
 
 
test.sh
test.sh
 
 

Repository files navigation

External Storage

Build Status

External Provisioners

This repository houses community-maintained external provisioners plus a helper library for building them. Each provisioner is contained in its own directory so for information on how to use one, enter its directory and read its documentation. The library is contained in the lib directory.

What is an 'external provisioner'?

An external provisioner is a dynamic PV provisioner whose code lives out-of-tree/external to Kubernetes. Unlike in-tree dynamic provisioners that run as part of the Kubernetes controller manager, external ones can be deployed & updated independently.

External provisioners work just like in-tree dynamic PV provisioners. A StorageClass object can specify an external provisioner instance to be its provisioner like it can in-tree provisioners. The instance will then watch for PersistentVolumeClaims that ask for the StorageClass and automatically create PersistentVolumes for them. For more information on how dynamic provisioning works, see the docs or this blog post.

How to use the library

import (
  "github.com/kubernetes-incubator/external-storage/lib/controller"
)

You need to implement the Provisioner interface then pass your implementation to a ProvisionController and run the controller. The controller takes care of deciding when to call your implementation's Provision or Delete. The interface and controller are defined in the above package.

You will want to import a specific version of the library to ensure compatibility with certain versions of Kubernetes and to avoid breaking changes. This repo will be tagged according to the library's version (individual provisioners will need to version themselves independently, e.g. by in their documentation pointing to Docker Hub and using Docker tags), so to keep track of releases, go to this repo's releases page.

Note that because your provisioner needs to depend also on client-go and the library itself depends on a specific version of client-go, to avoid a dependency conflict you must ensure you use the exact same version of client-go as the library. You can check what version of client-go the library depends on by looking at its glide.yaml.

For all documentation, including a full guide on how to write an external provisioner using the library that demonstrates the above, see here.

Roadmap

February

  • Finalize repo structure, release process, etc.

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

  • Slack: #sig-storage

Kubernetes Incubator

This is a Kubernetes Incubator project. The project was established 2016-11-15 (as nfs-provisioner). The incubator team for the project is:

  • Sponsor: Clayton (@smarterclayton)
  • Champion: Jan (@jsafrane) & Brad (@childsb)
  • SIG: sig-storage

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

About

External Storage Plugins, Provisoners, and Helper Libraries

Resources

Readme
Apache-2.0 license

Code of conduct

Code of conduct

Contributing

Contributing
Activity
Custom properties

Stars

0 stars

Watchers

1 watching

Forks

0 forks
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.