Commit 7551c249 by Guangbo Chen

Bump nfs-provisioner server to 0.3.0

parent 46f885fe
apiVersion: v1
appVersion: 1.0.9
appVersion: 2.2.1-k8s1.12
description: nfs-server-provisioner is an out-of-tree dynamic provisioner for Kubernetes. You can use it to quickly & easily deploy shared storage that works almost anywhere.
name: nfs-provisioner
icon: file://../nfs-logo.png
version: 0.2.2
version: 0.3.0
maintainers:
- name: kiall
email: kiall@macinnes.ie
......
......@@ -41,7 +41,9 @@ their default values.
| `storageClass.provisionerName` | The provisioner name for the storageclass | `cluster.local/{release-name}-{chart-name}` |
| `storageClass.defaultClass` | Whether to set the created StorageClass as the clusters default StorageClass | `false` |
| `storageClass.name` | The name to assign the created StorageClass | `nfs` |
| `storageClass.parameters` | Parameters for StorageClass | `mountOptions: vers=4.1` |
| `storageClass.allowVolumeExpansion` | Allow base storage PCV to be dynamically resizeable (set to null to disable ) | `true |
| `storageClass.parameters` | Parameters for StorageClass | `{}` |
| `storageClass.mountOptions` | Mount options for StorageClass | `[ "vers=4.1", "noatime" ]` |
| `storageClass.reclaimPolicy` | ReclaimPolicy field of the class, which can be either Delete or Retain | `Delete` |
| `resources` | Resource limits for nfs-server-provisioner pod | `{}` |
| `nodeSelector` | Map of node labels for pod assignment | `{}` |
......
# NFS Server Provisioner
[NFS Server Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs)
is an out-of-tree dynamic provisioner for Kubernetes. You can use it to quickly
& easily deploy shared storage that works almost anywhere.
[NFS Server Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs) is an out-of-tree dynamic provisioner for Kubernetes. You can use it to quickly & easily deploy shared storage that works almost anywhere.
This chart will deploy the Kubernetes [external-storage projects](https://github.com/kubernetes-incubator/external-storage)
`nfs` provisioner. This provisioner includes a built in NFS server, and is not intended for connecting to a pre-existing
NFS server. If you have a pre-existing NFS Server, please consider using the [NFS Client Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client)
instead.
This chart will deploy the Kubernetes [external-storage projects](https://github.com/kubernetes-incubator/external-storage) `nfs-provisioner`. This provisioner includes a built in NFS server, and is not intended for connecting to a pre-existing NFS server. If you have a pre-existing NFS Server, please consider using the [NFS Client Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client) instead.
## Tips:
It's recommended to constrain the nfs-provisoner server to run on a particular Node using nodeSelector, you can add nodeSelector using `Edit as YAML`:
```
nodeSelector:
nfs-provisioner: server # specify your key:value nodeSelector
```
......@@ -2,6 +2,7 @@ categories:
- storage
labels:
io.rancher.certified: experimental
io.rancher.role: cluster
questions:
- variable: defaultImage
default: true
......@@ -12,12 +13,12 @@ questions:
show_subquestion_if: false
subquestions:
- variable: image.repository
default: "quay.io/kubernetes_incubator/nfs-provisioner"
default: "ranchercharts/kubernetes_incubator-nfs-provisioner"
description: "Docker image name"
type: string
label: NFS Image Name
- variable: image.tag
default: "v1.0.9"
default: "v2.2.1-k8s1.12"
description: "NFS image tag"
type: string
label: Image Tag
......@@ -30,6 +31,10 @@ questions:
group: "StorageClass Setting"
show_subquestion_if: true
subquestions:
- variable: storageClass.name
description: "The name to assign the created StorageClass, default to release name if not set."
type: string
label: StorageClass Name
- variable: storageClass.defaultClass
default: true
description: "Set StorageClass as the default StorageClass"
......@@ -38,6 +43,7 @@ questions:
- variable: storageClass.reclaimPolicy
default: "Delete"
description: "ReclaimPolicy of the Created StorageClass"
required: true
type: enum
label: ReclaimPolicy of the Created StorageClass
options:
......@@ -47,12 +53,41 @@ questions:
default: true
description: "AllowVolumeExpansion shows whether the storage class allow volume expand"
type: boolean
label: AllowVolumeExpansion Shows Whether The StorageClass Allow Volume Expand
label: Allow VolumeExpansion
# persistence volName
- variable: persistence.enabled
default: false
description: "Enable persistent volume for the nfs-server-provisioner"
type: boolean
required: true
label: Enable Persistent Volume
show_subquestion_if: true
group: "Persistent Storage"
subquestions:
- variable: persistence.size
default: "20Gi"
description: "nfs-server-provisionner Persistent Volume Size"
type: string
label: nfs-server-provisionner Volume Size
- variable: persistence.storageClass
default: ""
description: "If undefined or null, uses the default StorageClass. Default to null"
type: storageclass
label: Default StorageClass for nfs-server-provisionner
- variable: persistence.hostPath
default: "/srv"
description: "For GKE uses /home/kubernetes/nfs/ instead, custom nfs host path read and write permission are required, default to /srv"
type: string
label: NFS Host Path
required: true
show_if: "persistence.enabled=false"
group: "Persistent Storage"
# nfs service type
- variable: service.type
default: "ClusterIP"
description: "The type of service to create for the nfs-provisioner"
description: "The service type of the nfs-provisioner"
type: enum
label: nfs-provisioner Service Type
label: Service Type
group: "Service Settings"
required: true
options:
......@@ -81,31 +116,3 @@ questions:
label: NodePort of the RCP service
min: 30000
max: 32767
# persistence volume settings
- variable: persistence.enabled
default: false
description: "Enable persistent volume for the nfs-server-provisioner"
type: boolean
required: true
label: Persistent Volume Enabled for nfs-server-provisioner
show_subquestion_if: true
group: "Persistent Storage"
subquestions:
- variable: persistence.size
default: "20Gi"
description: "nfs-server-provisionner Persistent Volume Size"
type: string
label: nfs-server-provisionner Volume Size
- variable: persistence.storageClass
default: ""
description: "If undefined or null, uses the default StorageClass. Default to null"
type: storageclass
label: Default StorageClass for nfs-server-provisionner
- variable: persistence.hostPath
default: "/srv"
description: "for GKE uses /home/kubernetes/nfs/ instead, custom nfs host path read and write permission are required, default to /srv"
type: string
label: NFS Host Path
required: true
show_if: "persistence.enabled=false"
group: "Persistent Storage"
......@@ -41,3 +41,14 @@ Create chart name and version as used by the chart label.
cluster.local/{{ template "nfs-provisioner.fullname" . -}}
{{- end -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "nfs-provisioner.storageClass" -}}
{{- if .Values.storageClass.name -}}
{{- printf .Values.storageClass.name -}}
{{- else -}}
{{- template "nfs-provisioner.fullname" . -}}
{{- end -}}
{{- end -}}
......@@ -28,4 +28,7 @@ rules:
resources: ["podsecuritypolicies"]
resourceNames: ["nfs-provisioner"]
verbs: ["use"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
{{- end -}}
apiVersion: apps/v1beta2
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ template "nfs-provisioner.fullname" . }}
......@@ -64,7 +64,6 @@ spec:
volumeMounts:
- name: data
mountPath: /export
resources:
{{- with .Values.resources }}
resources:
{{ toYaml . | indent 12 }}
......
......@@ -2,7 +2,7 @@
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: {{ template "nfs-provisioner.fullname" . }}
name: {{ template "nfs-provisioner.storageClass" . }}
labels:
app: {{ template "nfs-provisioner.name" . }}
chart: {{ template "nfs-provisioner.chart" . }}
......@@ -12,11 +12,17 @@ metadata:
annotations:
storageclass.kubernetes.io/is-default-class: "true"
{{- end }}
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
provisioner: {{ template "nfs-provisioner.provisionerName" . }}
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
{{ if .Values.storageClass.allowVolumeExpansion }}
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
{{ end }}
{{ end -}}
{{- with .Values.storageClass.parameters }}
parameters:
{{ toYaml . | indent 2 }}
{{- end }}
{{- with .Values.storageClass.mountOptions }}
mountOptions:
{{ toYaml . | indent 2 }}
{{- end }}
......@@ -7,8 +7,9 @@ replicaCount: 1
# imagePullSecrets:
image:
repository: quay.io/kubernetes_incubator/nfs-provisioner
tag: v1.0.9
# repository: quay.io/kubernetes_incubator/nfs-provisioner
repository: ranchercharts/kubernetes_incubator-nfs-provisioner
tag: v2.2.1-k8s1.12
pullPolicy: IfNotPresent
service:
......@@ -54,16 +55,18 @@ storageClass:
## Ignored if storageClass.create is false
# name: nfs
# set to null to prevent expansion
allowVolumeExpansion: true
## StorageClass parameters
parameters:
mountOptions: vers=4.1
parameters: {}
mountOptions:
- vers=4.1
- noatime
## ReclaimPolicy field of the class, which can be either Delete or Retain
reclaimPolicy: Delete
## AllowVolumeExpansion shows whether the storage class allow volume expand
allowVolumeExpansion: true
## For RBAC support:
rbac:
create: true
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment