rawfile-localpv/deploy/charts/rawfile-csi/templates/01-controller-plugin.yaml
Mehran Kholdi a2fdcb9756 Deploy controller using statefulset instead of deployment
So that no two controllers are running simultaneously.
2020-04-28 22:54:38 +04:30

63 lines
1.8 KiB
YAML

apiVersion: v1
kind: Service
metadata:
name: {{ include "rawfile-csi.fullname" . }}-controller
labels:
{{- include "rawfile-csi.labels" . | nindent 4 }}
spec:
type: ClusterIP
selector:
{{- include "rawfile-csi.selectorLabels" . | nindent 4 }}
clusterIP: None
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: {{ include "rawfile-csi.fullname" . }}-controller
spec:
replicas: 1
serviceName: {{ include "rawfile-csi.fullname" . }}
selector:
matchLabels: &selectorLabels
{{- include "rawfile-csi.selectorLabels" . | nindent 6 }}
component: controller
template:
metadata:
labels: *selectorLabels
spec:
serviceAccount: {{ include "rawfile-csi.fullname" . }}-driver
priorityClassName: system-cluster-critical
tolerations:
- key: "node-role.kubernetes.io/master"
operator: Equal
value: "true"
effect: NoSchedule
volumes:
- name: socket-dir
emptyDir: {}
containers:
- name: csi-driver
image: "{{ .Values.controller.image.repository }}:{{ .Values.controller.image.tag }}"
imagePullPolicy: {{ .Values.controller.image.pullPolicy }}
env:
- name: CSI_ENDPOINT
value: unix:///csi/csi.sock
volumeMounts:
- name: socket-dir
mountPath: /csi
resources:
{{- toYaml .Values.controller.resources | nindent 12 }}
- name: csi-provisioner
image: quay.io/k8scsi/csi-provisioner:v1.6.0
imagePullPolicy: IfNotPresent
args:
- "--csi-address=$(ADDRESS)"
- "--feature-gates=Topology=true"
- "--strict-topology"
env:
- name: ADDRESS
value: /csi/csi.sock
volumeMounts:
- name: socket-dir
mountPath: /csi