kmova / dynamic-nfs-provisioner

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dynamic NFS Volume Provisioner

OpenEBS Logo

OpenEBS Dynamic NFS PV provisioner can be used to dynamically provision NFS Volumes using different kinds of block storage available on the Kubernetes nodes.

This project is under active development.

Prerequisites

Please ensure that an NFS client is functioning on all nodes that will run a pod that mounts an openebs-rwx volume.

Here's how to prepare an NFS client on some common Operating Systems:

  • Ubuntu, Debian: Install the nfs-common package if not already installed.

  • MacOS: Should work out of the box.

  • Windows: Ensure that the default NFS client is operating. To do this start PowerShell as Administrator, and run Install-WindowsFeature NFS-Client if it's a Windows server or Enable-WindowsOptionalFeature -FeatureName ServicesForNFS-ClientOnly, ClientForNFS-Infrastructure -Online -NoRestart if it's a Windows host with a Desktop environment.

  • Fedora, CentOS, RedHat: Install the nfs-utils package if not already installed.

  • FreeBSD:

    1. Edit the /etc/rc.conf file by setting or appending nfs_client_enable="YES"
    2. Run service nfsclient start

Install

Install NFS Provisioner

kubectl apply -f deploy/kubectl/openebs-nfs-provisioner.yaml

Create a StorageClass with required backing storage class. Example:

#Sample storage classes for OpenEBS Local PV
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: openebs-rwx
  annotations:
    openebs.io/cas-type: nfsrwx
    cas.openebs.io/config: |
      - name: NFSServerType
        value: "kernel"
      - name: BackendStorageClass
        value: "openebs-hostpath"
provisioner: openebs.io/nfsrwx
reclaimPolicy: Delete

You can now use openebs-rwx storage class to create RWX volumes.

Contributing

Head over to the CONTRIBUTING.md.

Community, discussion, and support

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

You can reach the maintainers of this project at:

Code of conduct

Participation in the OpenEBS community is governed by the CNCF Code of Conduct.

Inspiration/Credit

About

License:Apache License 2.0


Languages

Language:Go 93.8%Language:Shell 3.2%Language:Makefile 2.2%Language:Dockerfile 0.8%