aboutsummaryrefslogtreecommitdiff
path: root/deploy/kubernetes
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-06-01 22:30:31 -0700
committerChris Lu <chris.lu@gmail.com>2020-06-01 22:30:31 -0700
commit77697d343356a59b649ffbcf42e927439033a413 (patch)
tree682d35ee68a4fc152be7055fe172b4048fbae098 /deploy/kubernetes
parent002acd516db947bfafe52e9edb160f94c23c5118 (diff)
downloadseaweedfs-csi-driver-77697d343356a59b649ffbcf42e927439033a413.tar.xz
seaweedfs-csi-driver-77697d343356a59b649ffbcf42e927439033a413.zip
configure filer via CLI
Diffstat (limited to 'deploy/kubernetes')
-rw-r--r--deploy/kubernetes/provisioner.yaml102
1 files changed, 102 insertions, 0 deletions
diff --git a/deploy/kubernetes/provisioner.yaml b/deploy/kubernetes/provisioner.yaml
new file mode 100644
index 0000000..226257e
--- /dev/null
+++ b/deploy/kubernetes/provisioner.yaml
@@ -0,0 +1,102 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ name: csi-provisioner-sa
+ namespace: default
+---
+kind: ClusterRole
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: external-provisioner-runner
+rules:
+ - apiGroups: [""]
+ resources: ["secrets"]
+ verbs: ["get", "list"]
+ - 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"]
+---
+kind: ClusterRoleBinding
+apiVersion: rbac.authorization.k8s.io/v1
+metadata:
+ name: csi-provisioner-role
+subjects:
+ - kind: ServiceAccount
+ name: csi-provisioner-sa
+ namespace: default
+roleRef:
+ kind: ClusterRole
+ name: external-provisioner-runner
+ apiGroup: rbac.authorization.k8s.io
+---
+kind: Service
+apiVersion: v1
+metadata:
+ name: csi-provisioner-seaweedfs
+ namespace: default
+ labels:
+ app: csi-provisioner-seaweedfs
+spec:
+ selector:
+ app: csi-provisioner-seaweedfs
+ ports:
+ - name: dummy
+ port: 12345
+---
+kind: StatefulSet
+apiVersion: apps/v1beta1
+metadata:
+ name: csi-provisioner-seaweedfs
+ namespace: default
+spec:
+ serviceName: "csi-provisioner-seaweedfs"
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: csi-provisioner-seaweedfs
+ spec:
+ serviceAccount: csi-provisioner-sa
+ containers:
+ - name: csi-provisioner
+ image: quay.io/k8scsi/csi-provisioner:v1.1.0
+ args:
+ - "--provisioner=seaweedfs-csi-driver"
+ - "--csi-address=$(ADDRESS)"
+ - "--v=4"
+ env:
+ - name: ADDRESS
+ value: /var/lib/kubelet/plugins/seaweedfs-csi-driver/csi.sock
+ imagePullPolicy: "IfNotPresent"
+ volumeMounts:
+ - name: socket-dir
+ mountPath: /var/lib/kubelet/plugins/seaweedfs-csi-driver
+ - name: csi-seaweedfs
+ image: seaweedfs/csi:v1.1.1
+ args:
+ - "--endpoint=$(CSI_ENDPOINT)"
+ - "--nodeid=$(NODE_ID)"
+ - "--v=4"
+ env:
+ - name: CSI_ENDPOINT
+ value: unix:///var/lib/kubelet/plugins/seaweedfs-csi-driver/csi.sock
+ - name: NODE_ID
+ valueFrom:
+ fieldRef:
+ fieldPath: spec.nodeName
+ imagePullPolicy: "Always"
+ volumeMounts:
+ - name: socket-dir
+ mountPath: /var/lib/kubelet/plugins/seaweedfs-csi-driver
+ volumes:
+ - name: socket-dir
+ emptyDir: {}