feat: fix helm chert

This commit is contained in:
Ustuzhanin Anton 2021-02-02 15:04:18 +05:00
parent 89d2b22e4f
commit 7fa73a5d2c
No known key found for this signature in database
GPG Key ID: D41880C7E7103E79
9 changed files with 112 additions and 53 deletions

View File

@ -0,0 +1,3 @@
{{- define "seaweedfs-csi-driver.name" -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View File

@ -0,0 +1,61 @@
{{- if .Values.tlsSecret }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "seaweedfs-csi-driver.name" . }}
labels:
app: {{ template "seaweedfs-csi-driver.name" . }}
data:
security.toml: |-
# this file is read by master, volume server, and filer
# the jwt signing key is read by master and volume server
# a jwt expires in 10 seconds
#[jwt.signing]
# key = "{{ .Values.jwtSigningKey }}"
#expires_after_seconds = 10 # seconds
#[jwt.signing.read]
#key = ""
#expires_after_seconds = 10 # seconds
# all grpc tls authentications are mutual
# the values for the following ca, cert, and key are paths to the PERM files.
[grpc]
ca = "/usr/local/share/ca-certificates/ca.crt"
[grpc.volume]
cert = "/usr/local/share/ca-certificates/tls.crt"
key = "/usr/local/share/ca-certificates/tls.key"
ca = "/usr/local/share/ca-certificates/ca.crt"
[grpc.master]
cert = "/usr/local/share/ca-certificates/tls.crt"
key = "/usr/local/share/ca-certificates/tls.key"
ca = "/usr/local/share/ca-certificates/ca.crt"
[grpc.filer]
cert = "/usr/local/share/ca-certificates/tls.crt"
key = "/usr/local/share/ca-certificates/tls.key"
ca = "/usr/local/share/ca-certificates/ca.crt"
[grpc.msg_broker]
cert = "/usr/local/share/ca-certificates/tls.crt"
key = "/usr/local/share/ca-certificates/tls.key"
ca = "/usr/local/share/ca-certificates/ca.crt"
# use this for any place needs a grpc client
# i.e., "weed backup|benchmark|filer.copy|filer.replicate|mount|s3|upload"
[grpc.client]
cert = "/usr/local/share/ca-certificates/tls.crt"
key = "/usr/local/share/ca-certificates/tls.key"
ca = "/usr/local/share/ca-certificates/ca.crt"
# volume server https options
# Note: work in progress!
# this does not work with other clients, e.g., "weed filer|mount" etc, yet.
#[https.client]
#enabled = false
#[https.volume]
#cert = ""
#key = ""
{{- end }}

View File

@ -1,7 +1,7 @@
apiVersion: storage.k8s.io/v1 apiVersion: storage.k8s.io/v1
kind: CSIDriver kind: CSIDriver
metadata: metadata:
name: seaweedfs-csi-driver name: {{ .Values.driverName }}
spec: spec:
attachRequired: true attachRequired: true
podInfoOnMount: true podInfoOnMount: true

View File

@ -1,23 +1,23 @@
{{- if .Values.node.enabled}}
--- ---
kind: DaemonSet kind: DaemonSet
apiVersion: apps/v1 apiVersion: apps/v1
metadata: metadata:
name: csi-seaweedfs-node name: {{ template "seaweedfs-csi-driver.name" . }}-node
spec: spec:
selector: selector:
matchLabels: matchLabels:
app: csi-seaweedfs-node app: {{ template "seaweedfs-csi-driver.name" . }}-node
updateStrategy: updateStrategy:
rollingUpdate: rollingUpdate:
maxUnavailable: 25% maxUnavailable: 25%
template: template:
metadata: metadata:
labels: labels:
app: csi-seaweedfs-node app: {{ template "seaweedfs-csi-driver.name" . }}-node
role: csi-seaweedfs
spec: spec:
priorityClassName: system-node-critical priorityClassName: system-node-critical
serviceAccountName: csi-seaweedfs-node-sa serviceAccountName: {{ template "seaweedfs-csi-driver.name" . }}-node-sa
#hostNetwork: true #hostNetwork: true
#dnsPolicy: ClusterFirstWithHostNet #dnsPolicy: ClusterFirstWithHostNet
containers: containers:
@ -32,7 +32,7 @@ spec:
- name: ADDRESS - name: ADDRESS
value: /csi/csi.sock value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH - name: DRIVER_REG_SOCK_PATH
value: /var/lib/kubelet/plugins/com.seaweedfs.csi/csi.sock value: /var/lib/kubelet/plugins/{{ .Values.driverName }}/csi.sock
- name: KUBE_NODE_NAME - name: KUBE_NODE_NAME
valueFrom: valueFrom:
fieldRef: fieldRef:
@ -56,6 +56,7 @@ spec:
- "--endpoint=$(CSI_ENDPOINT)" - "--endpoint=$(CSI_ENDPOINT)"
- "--filer=$(SEAWEEDFS_FILER)" - "--filer=$(SEAWEEDFS_FILER)"
- "--nodeid=$(NODE_ID)" - "--nodeid=$(NODE_ID)"
- "-v=9"
env: env:
- name: CSI_ENDPOINT - name: CSI_ENDPOINT
value: unix:///csi/csi.sock value: unix:///csi/csi.sock
@ -70,7 +71,7 @@ spec:
value: /var/run/secrets/app/tls/tls.key value: /var/run/secrets/app/tls/tls.key
- name: WEED_GRPC_CLIENT_CERT - name: WEED_GRPC_CLIENT_CERT
value: /var/run/secrets/app/tls/tls.crt value: /var/run/secrets/app/tls/tls.crt
- name: WEED_GRPC_CLIENT_GRPC_CA - name: WEED_GRPC_CA
value: /var/run/secrets/app/tls/ca.crt value: /var/run/secrets/app/tls/ca.crt
{{- end }} {{- end }}
resources: resources:
@ -79,7 +80,7 @@ spec:
- name: plugin-dir - name: plugin-dir
mountPath: /csi mountPath: /csi
- name: pods-mount-dir - name: pods-mount-dir
mountPath: /var/lib/kubelet mountPath: /var/lib/kubelet/pods
mountPropagation: "Bidirectional" mountPropagation: "Bidirectional"
- mountPath: /dev - mountPath: /dev
name: device-dir name: device-dir
@ -87,12 +88,6 @@ spec:
- name: tls - name: tls
mountPath: /var/run/secrets/app/tls mountPath: /var/run/secrets/app/tls
{{- end }} {{- end }}
- name: tools
image: registry.tech.bank24.int/devexp/network-multitool:1.0
command:
- bash
- -c
- tail -f /dev/null
volumes: volumes:
- name: registration-dir - name: registration-dir
hostPath: hostPath:
@ -100,11 +95,11 @@ spec:
type: DirectoryOrCreate type: DirectoryOrCreate
- name: plugin-dir - name: plugin-dir
hostPath: hostPath:
path: /var/lib/kubelet/plugins/com.seaweedfs.csi path: /var/lib/kubelet/plugins/{{ .Values.driverName }}
type: DirectoryOrCreate type: DirectoryOrCreate
- name: pods-mount-dir - name: pods-mount-dir
hostPath: hostPath:
path: /var/lib/kubelet path: /var/lib/kubelet/pods
type: Directory type: Directory
- name: device-dir - name: device-dir
hostPath: hostPath:
@ -114,3 +109,4 @@ spec:
secret: secret:
secretName: {{ .Values.tlsSecret }} secretName: {{ .Values.tlsSecret }}
{{- end }} {{- end }}
{{- end }}

View File

@ -2,7 +2,7 @@
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-provisioner-role name: {{ template "seaweedfs-csi-driver.name" . }}-provisioner-role
rules: rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["secrets"] resources: ["secrets"]
@ -30,20 +30,20 @@ rules:
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-provisioner-binding name: {{ template "seaweedfs-csi-driver.name" . }}-provisioner-binding
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-seaweedfs-controller-sa name: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: csi-seaweedfs-provisioner-role name: {{ template "seaweedfs-csi-driver.name" . }}-provisioner-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-attacher-role name: {{ template "seaweedfs-csi-driver.name" . }}-attacher-role
rules: rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["persistentvolumes"] resources: ["persistentvolumes"]
@ -62,20 +62,20 @@ rules:
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-attacher-binding name: {{ template "seaweedfs-csi-driver.name" . }}-attacher-binding
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-seaweedfs-controller-sa name: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: csi-seaweedfs-attacher-role name: {{ template "seaweedfs-csi-driver.name" . }}-attacher-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-snapshotter-role name: {{ template "seaweedfs-csi-driver.name" . }}-snapshotter-role
rules: rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["persistentvolumes"] resources: ["persistentvolumes"]
@ -108,20 +108,20 @@ rules:
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-snapshotter-binding name: {{ template "seaweedfs-csi-driver.name" . }}-snapshotter-binding
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-seaweedfs-controller-sa name: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: csi-seaweedfs-snapshotter-role name: {{ template "seaweedfs-csi-driver.name" . }}-snapshotter-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-driver-registrar-controller-role name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-controller-role
rules: rules:
- apiGroups: ["csi.storage.k8s.io"] - apiGroups: ["csi.storage.k8s.io"]
resources: ["csidrivers"] resources: ["csidrivers"]
@ -133,20 +133,20 @@ rules:
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-driver-registrar-controller-binding name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-controller-binding
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-seaweedfs-controller-sa name: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: csi-seaweedfs-driver-registrar-controller-role name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-controller-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
--- ---
kind: ClusterRole kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-driver-registrar-node-role name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-node-role
rules: rules:
- apiGroups: [""] - apiGroups: [""]
resources: ["events"] resources: ["events"]
@ -161,12 +161,12 @@ rules:
kind: ClusterRoleBinding kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
metadata: metadata:
name: csi-seaweedfs-driver-registrar-node-binding name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-node-binding
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: csi-seaweedfs-node-sa name: {{ template "seaweedfs-csi-driver.name" . }}-node-sa
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
roleRef: roleRef:
kind: ClusterRole kind: ClusterRole
name: csi-seaweedfs-driver-registrar-node-role name: {{ template "seaweedfs-csi-driver.name" . }}-driver-registrar-node-role
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io

View File

@ -2,9 +2,9 @@
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: csi-seaweedfs-controller-sa name: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
--- ---
apiVersion: v1 apiVersion: v1
kind: ServiceAccount kind: ServiceAccount
metadata: metadata:
name: csi-seaweedfs-node-sa name: {{ template "seaweedfs-csi-driver.name" . }}-node-sa

View File

@ -2,21 +2,20 @@
kind: StatefulSet kind: StatefulSet
apiVersion: apps/v1 apiVersion: apps/v1
metadata: metadata:
name: csi-seaweedfs-controller name: {{ template "seaweedfs-csi-driver.name" . }}-controller
spec: spec:
selector: selector:
matchLabels: matchLabels:
app: csi-seaweedfs-controller app: {{ template "seaweedfs-csi-driver.name" . }}-controller
serviceName: "csi-seaweedfs" serviceName: "csi-seaweedfs"
replicas: 1 replicas: 1
template: template:
metadata: metadata:
labels: labels:
app: csi-seaweedfs-controller app: {{ template "seaweedfs-csi-driver.name" . }}-controller
role: csi-seaweedfs
spec: spec:
priorityClassName: system-cluster-critical priorityClassName: system-cluster-critical
serviceAccountName: csi-seaweedfs-controller-sa serviceAccountName: {{ template "seaweedfs-csi-driver.name" . }}-controller-sa
containers: containers:
# provisioner # provisioner
- name: csi-provisioner - name: csi-provisioner
@ -74,7 +73,7 @@ spec:
value: /var/run/secrets/app/tls/tls.key value: /var/run/secrets/app/tls/tls.key
- name: WEED_GRPC_CLIENT_CERT - name: WEED_GRPC_CLIENT_CERT
value: /var/run/secrets/app/tls/tls.crt value: /var/run/secrets/app/tls/tls.crt
- name: WEED_GRPC_CLIENT_GRPC_CA - name: WEED_GRPC_CA
value: /var/run/secrets/app/tls/ca.crt value: /var/run/secrets/app/tls/ca.crt
{{- end }} {{- end }}
volumeMounts: volumeMounts:
@ -84,12 +83,6 @@ spec:
- name: tls - name: tls
mountPath: /var/run/secrets/app/tls mountPath: /var/run/secrets/app/tls
{{- end }} {{- end }}
- name: tools
image: registry.tech.bank24.int/devexp/network-multitool:1.0
command:
- bash
- -c
- tail -f /dev/null
volumes: volumes:
- name: socket-dir - name: socket-dir
emptyDir: {} emptyDir: {}

View File

@ -1,10 +1,10 @@
kind: StorageClass kind: StorageClass
apiVersion: storage.k8s.io/v1 apiVersion: storage.k8s.io/v1
metadata: metadata:
name: seaweedfs-storage name: {{ .Values.storageClassName }}
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}
annotations: annotations:
{{- if .Values.isDefaultStorageClass }} {{- if .Values.isDefaultStorageClass }}
storageclass.kubernetes.io/is-default-class: "true" storageclass.kubernetes.io/is-default-class: "true"
{{- end }} {{- end }}
provisioner: seaweedfs-csi-driver provisioner: {{ .Values.driverName }}

View File

@ -1,6 +1,7 @@
# host and port of your SeaweedFs filer # host and port of your SeaweedFs filer
seaweedfsFiller: "" seaweedfsFiller: ""
storageClassName: seaweedfs-storage
isDefaultStorageClass: false isDefaultStorageClass: false
tlsSecret: "" tlsSecret: ""
@ -22,4 +23,9 @@ seaweedfsCsiPlugin:
image: chrislusf/seaweedfs-csi-driver:latest image: chrislusf/seaweedfs-csi-driver:latest
resources: {} resources: {}
# NOT Change, for future releases. Must be equal Name in GetPluginInfoResponse
driverName: seaweedfs-csi-driver
node:
# Deploy node daemonset
enabled: true