Add RBAC examples for nfs-client
Adds example configuration files for clusters that have RBAC enabled (1.6) or OpenShift users. This is mostly a cut and paste job from the EFS example.
This commit is contained in:
parent
8fb0e5cc14
commit
a82645d4ec
29
README.md
29
README.md
|
|
@ -12,6 +12,35 @@ quay.io/external_storage/nfs-client-provisioner:v2.0.0
|
||||||
- modify and deploy `deploy/deployment.yaml`
|
- modify and deploy `deploy/deployment.yaml`
|
||||||
- modify and deploy `deploy/class.yaml`
|
- modify and deploy `deploy/class.yaml`
|
||||||
|
|
||||||
|
# authorization
|
||||||
|
|
||||||
|
If your cluster has RBAC enabled or you are running OpenShift you must
|
||||||
|
authorize the provisioner. If you are in a namespace/project other than
|
||||||
|
"default" either edit `deploy/auth/clusterrolebinding.yaml` or edit the `oadm
|
||||||
|
policy` command accordingly.
|
||||||
|
|
||||||
|
## RBAC
|
||||||
|
```console
|
||||||
|
$ kubectl create -f deploy/auth/serviceaccount.yaml
|
||||||
|
serviceaccount "nfs-client-provisioner" created
|
||||||
|
$ kubectl create -f deploy/auth/clusterrole.yaml
|
||||||
|
clusterrole "nfs-client-provisioner-runner" created
|
||||||
|
$ kubectl create -f deploy/auth/clusterrolebinding.yaml
|
||||||
|
clusterrolebinding "run-nfs-client-provisioner" created
|
||||||
|
$ kubectl patch deployment nfs-client-provisioner -p '{"spec":{"template":{"spec":{"serviceAccount":"nfs-client-provisioner"}}}}'
|
||||||
|
```
|
||||||
|
|
||||||
|
## OpenShift
|
||||||
|
```console
|
||||||
|
$ oc create -f deploy/auth/serviceaccount.yaml
|
||||||
|
serviceaccount "nfs-client-provisioner" created
|
||||||
|
$ oc create -f deploy/auth/openshift-clusterrole.yaml
|
||||||
|
clusterrole "nfs-client-provisioner-runner" created
|
||||||
|
$ oadm policy add-scc-to-user hostmount-anyuid system:serviceaccount:default:nfs-client-provisioner
|
||||||
|
$ oadm policy add-cluster-role-to-user nfs-client-provisioner-runner system:serviceaccount:default:nfs-client-provisioner
|
||||||
|
$ oc patch deployment nfs-client-provisioner -p '{"spec":{"template":{"spec":{"serviceAccount":"nfs-client-provisioner"}}}}'
|
||||||
|
```
|
||||||
|
|
||||||
# test
|
# test
|
||||||
- `kubectl create -f deploy/test-claim.yaml`
|
- `kubectl create -f deploy/test-claim.yaml`
|
||||||
- `kubectl create -f deploy/test-pod.yaml`
|
- `kubectl create -f deploy/test-pod.yaml`
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1alpha1
|
||||||
|
metadata:
|
||||||
|
name: nfs-client-provisioner-runner
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumes"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims"]
|
||||||
|
verbs: ["get", "list", "watch", "update"]
|
||||||
|
- apiGroups: ["storage.k8s.io"]
|
||||||
|
resources: ["storageclasses"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["events"]
|
||||||
|
verbs: ["list", "watch", "create", "update", "patch"]
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
kind: ClusterRoleBinding
|
||||||
|
apiVersion: rbac.authorization.k8s.io/v1alpha1
|
||||||
|
metadata:
|
||||||
|
name: run-nfs-client-provisioner
|
||||||
|
subjects:
|
||||||
|
- kind: ServiceAccount
|
||||||
|
name: nfs-client-provisioner
|
||||||
|
namespace: default
|
||||||
|
roleRef:
|
||||||
|
kind: ClusterRole
|
||||||
|
name: nfs-client-provisioner-runner
|
||||||
|
apiGroup: rbac.authorization.k8s.io
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
kind: ClusterRole
|
||||||
|
apiVersion: v1
|
||||||
|
metadata:
|
||||||
|
name: nfs-client-provisioner-runner
|
||||||
|
rules:
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumes"]
|
||||||
|
verbs: ["get", "list", "watch", "create", "delete"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["persistentvolumeclaims"]
|
||||||
|
verbs: ["get", "list", "watch", "update"]
|
||||||
|
- apiGroups: ["storage.k8s.io"]
|
||||||
|
resources: ["storageclasses"]
|
||||||
|
verbs: ["get", "list", "watch"]
|
||||||
|
- apiGroups: [""]
|
||||||
|
resources: ["events"]
|
||||||
|
verbs: ["list", "watch", "create", "update", "patch"]
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: nfs-client-provisioner
|
||||||
Loading…
Reference in New Issue