1
0

Compare commits

...

20 Commits

Author SHA1 Message Date
Kubernetes Prow Robot
4f955d1a21 Merge pull request #130 from crookedstorm/master
helm chart: allow persistentVolumeClaim in psp or pod never launches
2021-08-04 08:27:24 -07:00
Kubernetes Prow Robot
5f97c83a65 Merge pull request #111 from koivunen/patch-1
Describe NFS limitations
2021-08-01 12:13:21 -07:00
Brooke Storm
1271831fbd bump chart version 2021-07-31 20:42:33 -07:00
Brooke Storm
b74a204cda helm chart: allow persistentVolumeClaim in psp or pod never launches
Simple fix, but if you have podsecuritypolicy in your cluster, this
chart doesn't work without this change.
2021-07-30 16:35:33 -07:00
Koivunen
7b9f0e8db2 Update README.md 2021-06-30 15:38:57 +03:00
Kubernetes Prow Robot
e289a21201 Merge pull request #108 from larisoncarvalho/larisoncarvalho-patch-1
Update sed command for OpenShift in README.md
2021-06-28 20:54:40 -07:00
Kubernetes Prow Robot
5c0dd02dfb Merge pull request #100 from yonatankahana/podlabels
Use podLabels with user defined labels in deployment pod template
2021-06-28 20:52:40 -07:00
Yonatan Kahana
6b5f99c430 Bump chart version to 4.0.12
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-06-13 18:13:42 +03:00
Kubernetes Prow Robot
65ce8894da Merge pull request #110 from equinix-ms/master
chart: Add option to set nfs root volume name.
2021-06-13 08:09:02 -07:00
Robin Elfrink
23c664fd54 chart: Add option to set nfs root volume name.
Signed-off-by: Robin Elfrink <robin.elfrink@eu.equinix.com>
2021-06-10 07:17:06 +02:00
Koivunen
c848d9c7ce Describe NFS limitations 2021-06-03 19:46:29 +03:00
Larison Carvalho
f552bc6a79 Update README.md
Replace namespace in `./deploy/deployment.yaml` as well for OpenShift deployments
2021-06-02 12:31:02 +05:30
Kubernetes Prow Robot
5e1b342945 Merge pull request #92 from yonatankahana/no-staging-in-readme
Update the README file with stable image repository
2021-05-13 11:28:39 -07:00
Yonatan Kahana
4ee25693f5 Use podLabels with user defined labels in deployment pod template
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-05-13 21:03:24 +03:00
Kubernetes Prow Robot
ba1654f02c Merge pull request #65 from johnsimcall/patch-1
Fix README.md
2021-05-11 09:54:37 -07:00
John Call
09a32a7aad also remove the command that creates an unnecessary SCC 2021-05-11 10:43:59 -06:00
Kubernetes Prow Robot
ae50b6da6c Merge pull request #71 from khalsa-ji/bugfix/provisioningFails-storageclassWith-WaitForFirstConsumer
PV provisioning fails when storageclass has volumeBindingMode as 'WaitForFirstConsumer'
2021-04-29 12:16:12 -07:00
Ravikiran Singh
2cad8da61c PV provisioning fails when storageclass has volumeBindingMode as 'WaitForFirstConsumer':
1. Adds RBAC permissions to get nodes in the cluster.
2. Bumps the chart version
2021-04-28 13:03:50 +05:30
Yonatan Kahana
d8db2d111e Update the README file with stable image repository
Signed-off-by: Yonatan Kahana <yonatankahana.il@gmail.com>
2021-04-25 22:43:05 +03:00
John Call
0869cb9ec6 Fix README.md
The previous `oc adm policy add-role-to-user use-scc-hostmount-anyuid` command was incorrect.  Replacing it with the correct one
2021-03-04 12:26:13 -07:00
10 changed files with 33 additions and 9 deletions

View File

@@ -3,7 +3,7 @@
**NFS subdir external provisioner** is an automatic provisioner that use your _existing and already configured_ NFS server to support dynamic provisioning of Kubernetes Persistent Volumes via Persistent Volume Claims. Persistent volumes are provisioned as `${namespace}-${pvcName}-${pvName}`.
Note: This repository is migrated from https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client. As part of the migration:
- The container image name and repository has changed to `gcr.io/k8s-staging-sig-storage` and `nfs-subdir-external-provisioner` respectively.
- The container image name and repository has changed to `k8s.gcr.io/sig-storage` and `nfs-subdir-external-provisioner` respectively.
- To maintain backward compatibility with earlier deployment files, the naming of NFS Client Provisioner is retained as `nfs-client-provisioner` in the deployment YAMLs.
- One of the pending areas for development on this repository is to add automated e2e tests. If you would like to contribute, please raise an issue or reach us on the Kubernetes slack #sig-storage channel.
@@ -58,10 +58,9 @@ On OpenShift the service account used to bind volumes does not have the necessar
```sh
# Set the subject of the RBAC objects to the current namespace where the provisioner is being deployed
$ NAMESPACE=`oc project -q`
$ sed -i'' "s/namespace:.*/namespace: $NAMESPACE/g" ./deploy/rbac.yaml
$ sed -i'' "s/namespace:.*/namespace: $NAMESPACE/g" ./deploy/rbac.yaml ./deploy/deployment.yaml
$ oc create -f deploy/rbac.yaml
$ oc create role use-scc-hostmount-anyuid --verb=use --resource=scc --resource-name=hostmount-anyuid -n $NAMESPACE
$ oc adm policy add-role-to-user use-scc-hostmount-anyuid system:serviceaccount:$NAMESPACE:nfs-client-provisioner
$ oc adm policy add-scc-to-user hostmount-anyuid system:serviceaccount:$NAMESPACE:nfs-client-provisioner
```
**Step 4: Configure the NFS subdir external provisioner**
@@ -207,4 +206,7 @@ The pipeline adds several labels:
* You also need to provide the `DOCKER_IMAGE` secret specifying your Docker image name, e.g., `quay.io/[username]/nfs-subdir-external-provisioner`.
## NFS provisioner limitations/pitfalls
* The provisioned storage is not guaranteed. You may allocate more than the NFS share's total size. The share may also not have enough storage space left to actually accommodate the request.
* The provisioned storage limit is not enforced. The application can expand to use all the available storage regardless of the provisioned size.
* Storage resize/expansion operations are not presently supported in any form. You will end up in an error state: `Ignoring the PVC: didn't find a plugin capable of expanding the volume; waiting for an external controller to process this PVC.`

View File

@@ -3,7 +3,7 @@ appVersion: 4.0.2
description: nfs-subdir-external-provisioner is an automatic provisioner that used your *already configured* NFS server, automatically creating Persistent Volumes.
name: nfs-subdir-external-provisioner
home: https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner
version: 4.0.9
version: 4.0.13
kubeVersion: ">=1.9.0-0"
sources:
- https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner

View File

@@ -70,6 +70,7 @@ The following tables lists the configurable parameters of this chart and their d
| `nfs.server` | Hostname of the NFS server (required) | null (ip or hostname) |
| `nfs.path` | Basepath of the mount point to be used | `/nfs-storage` |
| `nfs.mountOptions` | Mount options (e.g. 'nfsvers=3') | null |
| `nfs.volumeName` | Volume name used inside the pods | `nfs-subdir-external-provisioner-root` |
| `resources` | Resources required (e.g. CPU, memory) | `{}` |
| `rbac.create` | Use Role-based Access Control | `true` |
| `podSecurityPolicy.enabled` | Create & use Pod Security Policy resources | `false` |

View File

@@ -73,6 +73,16 @@ heritage: {{ .Release.Service }}
{{- end }}
{{- end }}
{{/*
Pod template labels
*/}}
{{- define "nfs-subdir-external-provisioner.podLabels" -}}
{{ include "nfs-subdir-external-provisioner.selectorLabels" . }}
{{- with .Values.labels }}
{{- toYaml . | nindent 0 }}
{{- end }}
{{- end }}
{{/*
Selector labels
*/}}

View File

@@ -6,6 +6,9 @@ metadata:
{{- include "nfs-subdir-external-provisioner.labels" . | nindent 4 }}
name: {{ template "nfs-subdir-external-provisioner.fullname" . }}-runner
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]

View File

@@ -21,7 +21,7 @@ spec:
scheduler.alpha.kubernetes.io/tolerations: '{{ toJson .Values.tolerations }}'
{{- end }}
labels:
{{- include "nfs-subdir-external-provisioner.selectorLabels" . | nindent 8 }}
{{- include "nfs-subdir-external-provisioner.podLabels" . | nindent 8 }}
spec:
serviceAccountName: {{ template "nfs-subdir-external-provisioner.serviceAccountName" . }}
{{- if .Values.nodeSelector }}
@@ -44,7 +44,7 @@ spec:
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
volumeMounts:
- name: nfs-subdir-external-provisioner-root
- name: {{ .Values.nfs.volumeName }}
mountPath: /persistentvolumes
env:
- name: PROVISIONER_NAME
@@ -62,7 +62,7 @@ spec:
{{ toYaml . | indent 12 }}
{{- end }}
volumes:
- name: nfs-subdir-external-provisioner-root
- name: {{ .Values.nfs.volumeName }}
{{- if .Values.buildMode }}
emptyDir: {}
{{- else if .Values.nfs.mountOptions }}

View File

@@ -13,6 +13,7 @@ spec:
volumes:
- 'secret'
- 'nfs'
- 'persistentVolumeClaim'
hostNetwork: false
hostIPC: false
hostPID: false

View File

@@ -11,6 +11,7 @@ nfs:
server:
path: /nfs-storage
mountOptions:
volumeName: nfs-subdir-external-provisioner-root
# For creating the StorageClass automatically:
storageClass:

View File

@@ -3,6 +3,9 @@ apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: nfs-client-provisioner-runner
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]

View File

@@ -10,6 +10,9 @@ apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: nfs-client-provisioner-runner
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["persistentvolumes"]
verbs: ["get", "list", "watch", "create", "delete"]