Commit 7551c249 by Guangbo Chen

Bump nfs-provisioner server to 0.3.0

parent 46f885fe
apiVersion: v1 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. 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 name: nfs-provisioner
icon: file://../nfs-logo.png icon: file://../nfs-logo.png
version: 0.2.2 version: 0.3.0
maintainers: maintainers:
- name: kiall - name: kiall
email: kiall@macinnes.ie email: kiall@macinnes.ie
......
...@@ -41,7 +41,9 @@ their default values. ...@@ -41,7 +41,9 @@ their default values.
| `storageClass.provisionerName` | The provisioner name for the storageclass | `cluster.local/{release-name}-{chart-name}` | | `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.defaultClass` | Whether to set the created StorageClass as the clusters default StorageClass | `false` |
| `storageClass.name` | The name to assign the created StorageClass | `nfs` | | `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` | | `storageClass.reclaimPolicy` | ReclaimPolicy field of the class, which can be either Delete or Retain | `Delete` |
| `resources` | Resource limits for nfs-server-provisioner pod | `{}` | | `resources` | Resource limits for nfs-server-provisioner pod | `{}` |
| `nodeSelector` | Map of node labels for pod assignment | `{}` | | `nodeSelector` | Map of node labels for pod assignment | `{}` |
......
# NFS Server Provisioner # NFS Server Provisioner
[NFS Server Provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs) [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.
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) 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.
`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) ## Tips:
instead. 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: ...@@ -2,6 +2,7 @@ categories:
- storage - storage
labels: labels:
io.rancher.certified: experimental io.rancher.certified: experimental
io.rancher.role: cluster
questions: questions:
- variable: defaultImage - variable: defaultImage
default: true default: true
...@@ -12,12 +13,12 @@ questions: ...@@ -12,12 +13,12 @@ questions:
show_subquestion_if: false show_subquestion_if: false
subquestions: subquestions:
- variable: image.repository - variable: image.repository
default: "quay.io/kubernetes_incubator/nfs-provisioner" default: "ranchercharts/kubernetes_incubator-nfs-provisioner"
description: "Docker image name" description: "Docker image name"
type: string type: string
label: NFS Image Name label: NFS Image Name
- variable: image.tag - variable: image.tag
default: "v1.0.9" default: "v2.2.1-k8s1.12"
description: "NFS image tag" description: "NFS image tag"
type: string type: string
label: Image Tag label: Image Tag
...@@ -30,6 +31,10 @@ questions: ...@@ -30,6 +31,10 @@ questions:
group: "StorageClass Setting" group: "StorageClass Setting"
show_subquestion_if: true show_subquestion_if: true
subquestions: 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 - variable: storageClass.defaultClass
default: true default: true
description: "Set StorageClass as the default StorageClass" description: "Set StorageClass as the default StorageClass"
...@@ -38,6 +43,7 @@ questions: ...@@ -38,6 +43,7 @@ questions:
- variable: storageClass.reclaimPolicy - variable: storageClass.reclaimPolicy
default: "Delete" default: "Delete"
description: "ReclaimPolicy of the Created StorageClass" description: "ReclaimPolicy of the Created StorageClass"
required: true
type: enum type: enum
label: ReclaimPolicy of the Created StorageClass label: ReclaimPolicy of the Created StorageClass
options: options:
...@@ -47,17 +53,46 @@ questions: ...@@ -47,17 +53,46 @@ questions:
default: true default: true
description: "AllowVolumeExpansion shows whether the storage class allow volume expand" description: "AllowVolumeExpansion shows whether the storage class allow volume expand"
type: boolean 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 - variable: service.type
default: "ClusterIP" default: "ClusterIP"
description: "The type of service to create for the nfs-provisioner" description: "The service type of the nfs-provisioner"
type: enum type: enum
label: nfs-provisioner Service Type label: Service Type
group: "Service Settings" group: "Service Settings"
required: true required: true
options: options:
- "ClusterIP" - "ClusterIP"
- "NodePort" - "NodePort"
show_subquestion_if: "NodePort" show_subquestion_if: "NodePort"
subquestions: subquestions:
- variable: service.nfsNodePort - variable: service.nfsNodePort
...@@ -81,31 +116,3 @@ questions: ...@@ -81,31 +116,3 @@ questions:
label: NodePort of the RCP service label: NodePort of the RCP service
min: 30000 min: 30000
max: 32767 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. ...@@ -41,3 +41,14 @@ Create chart name and version as used by the chart label.
cluster.local/{{ template "nfs-provisioner.fullname" . -}} cluster.local/{{ template "nfs-provisioner.fullname" . -}}
{{- end -}} {{- end -}}
{{- 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: ...@@ -28,4 +28,7 @@ rules:
resources: ["podsecuritypolicies"] resources: ["podsecuritypolicies"]
resourceNames: ["nfs-provisioner"] resourceNames: ["nfs-provisioner"]
verbs: ["use"] verbs: ["use"]
- apiGroups: [""]
resources: ["endpoints"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
{{- end -}} {{- end -}}
apiVersion: apps/v1beta2 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
name: {{ template "nfs-provisioner.fullname" . }} name: {{ template "nfs-provisioner.fullname" . }}
...@@ -64,7 +64,6 @@ spec: ...@@ -64,7 +64,6 @@ spec:
volumeMounts: volumeMounts:
- name: data - name: data
mountPath: /export mountPath: /export
resources:
{{- with .Values.resources }} {{- with .Values.resources }}
resources: resources:
{{ toYaml . | indent 12 }} {{ toYaml . | indent 12 }}
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
kind: StorageClass kind: StorageClass
apiVersion: storage.k8s.io/v1 apiVersion: storage.k8s.io/v1
metadata: metadata:
name: {{ template "nfs-provisioner.fullname" . }} name: {{ template "nfs-provisioner.storageClass" . }}
labels: labels:
app: {{ template "nfs-provisioner.name" . }} app: {{ template "nfs-provisioner.name" . }}
chart: {{ template "nfs-provisioner.chart" . }} chart: {{ template "nfs-provisioner.chart" . }}
...@@ -12,11 +12,17 @@ metadata: ...@@ -12,11 +12,17 @@ metadata:
annotations: annotations:
storageclass.kubernetes.io/is-default-class: "true" storageclass.kubernetes.io/is-default-class: "true"
{{- end }} {{- end }}
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
provisioner: {{ template "nfs-provisioner.provisionerName" . }} provisioner: {{ template "nfs-provisioner.provisionerName" . }}
reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }} reclaimPolicy: {{ .Values.storageClass.reclaimPolicy }}
{{ if .Values.storageClass.allowVolumeExpansion }}
allowVolumeExpansion: {{ .Values.storageClass.allowVolumeExpansion }}
{{ end }}
{{ end -}} {{ end -}}
{{- with .Values.storageClass.parameters }} {{- with .Values.storageClass.parameters }}
parameters: parameters:
{{ toYaml . | indent 2 }} {{ toYaml . | indent 2 }}
{{- end }} {{- end }}
{{- with .Values.storageClass.mountOptions }}
mountOptions:
{{ toYaml . | indent 2 }}
{{- end }}
...@@ -7,8 +7,9 @@ replicaCount: 1 ...@@ -7,8 +7,9 @@ replicaCount: 1
# imagePullSecrets: # imagePullSecrets:
image: image:
repository: quay.io/kubernetes_incubator/nfs-provisioner # repository: quay.io/kubernetes_incubator/nfs-provisioner
tag: v1.0.9 repository: ranchercharts/kubernetes_incubator-nfs-provisioner
tag: v2.2.1-k8s1.12
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
service: service:
...@@ -54,16 +55,18 @@ storageClass: ...@@ -54,16 +55,18 @@ storageClass:
## Ignored if storageClass.create is false ## Ignored if storageClass.create is false
# name: nfs # name: nfs
# set to null to prevent expansion
allowVolumeExpansion: true
## StorageClass parameters ## StorageClass parameters
parameters: parameters: {}
mountOptions: vers=4.1
mountOptions:
- vers=4.1
- noatime
## ReclaimPolicy field of the class, which can be either Delete or Retain ## ReclaimPolicy field of the class, which can be either Delete or Retain
reclaimPolicy: Delete reclaimPolicy: Delete
## AllowVolumeExpansion shows whether the storage class allow volume expand
allowVolumeExpansion: true
## For RBAC support: ## For RBAC support:
rbac: rbac:
create: true 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