Initial commit
This commit is contained in:
220
charts/rawfile-localpv/templates/node-plugin/daemonset.yaml
Normal file
220
charts/rawfile-localpv/templates/node-plugin/daemonset.yaml
Normal file
@@ -0,0 +1,220 @@
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: {{ include "rawfile-localpv.fullname" . }}-node
|
||||
spec:
|
||||
updateStrategy:
|
||||
rollingUpdate:
|
||||
maxUnavailable: "100%"
|
||||
selector:
|
||||
matchLabels: &selectorLabels
|
||||
{{- include "rawfile-localpv.selectorLabels" . | nindent 6 }}
|
||||
component: node
|
||||
template:
|
||||
metadata:
|
||||
labels: *selectorLabels
|
||||
spec:
|
||||
serviceAccount: {{ include "rawfile-localpv.fullname" . }}-driver
|
||||
priorityClassName: {{ .Values.node.priorityClassName }}
|
||||
tolerations:
|
||||
{{- .Values.node.tolerations | toYaml | nindent 8 }}
|
||||
volumes:
|
||||
- name: registration-dir
|
||||
hostPath:
|
||||
path: {{ include "rawfile-localpv.node-kubelet-path" . }}plugins_registry
|
||||
type: Directory
|
||||
- name: socket-dir
|
||||
hostPath:
|
||||
path: {{ include "rawfile-localpv.node-kubelet-path" . }}plugins/rawfile-localpv
|
||||
type: DirectoryOrCreate
|
||||
- name: mountpoint-dir
|
||||
hostPath:
|
||||
path: {{ include "rawfile-localpv.node-kubelet-path" . }}
|
||||
type: DirectoryOrCreate
|
||||
- name: data-dir
|
||||
hostPath:
|
||||
path: {{ .Values.node.dataDirPath }}
|
||||
type: DirectoryOrCreate
|
||||
- name: metadata-dir
|
||||
hostPath:
|
||||
path: {{ include "rawfile-localpv.metadata-dir-path" . }}
|
||||
type: DirectoryOrCreate
|
||||
- name: device
|
||||
hostPath:
|
||||
path: /dev
|
||||
type: Directory
|
||||
containers:
|
||||
- name: csi-driver
|
||||
image: "{{ include "rawfile-localpv.node-image" . }}"
|
||||
imagePullPolicy: "{{ include "rawfile-localpv.node-pull-policy" . }}"
|
||||
securityContext:
|
||||
privileged: true
|
||||
env:
|
||||
- name: PROVISIONER_NAME
|
||||
value: "{{ .Values.provisionerName }}"
|
||||
- name: CSI_DRIVER__ENDPOINT
|
||||
value: unix:///csi/csi.sock
|
||||
- name: CSI_DRIVER__NODE_ID
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: spec.nodeName
|
||||
- name: CSI_DRIVER__ENABLE_METRICS
|
||||
value: {{ .Values.metrics.enabled | toString | quote }}
|
||||
- name: CSI_DRIVER__METRICS_PORT
|
||||
value: {{ .Values.metrics.port | toString | quote }}
|
||||
- name: CSI_DRIVER__METADATA_DIR
|
||||
value: {{ include "rawfile-localpv.metadata-dir-path" . }}
|
||||
- name: NAMESPACE
|
||||
value: {{ .Release.Namespace }}
|
||||
- name: LOG_LEVEL
|
||||
value: {{ .Values.logLevel }}
|
||||
- name: LOG_FORMAT
|
||||
value: {{ .Values.logFormat }}
|
||||
- name: CSI_DRIVER__PLUGIN_TYPE
|
||||
value: node
|
||||
{{- if .Values.reservedCapacity }}
|
||||
- name: RESERVED_CAPACITY
|
||||
value: {{ .Values.reservedCapacity | toString | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.capacityOverride }}
|
||||
- name: CAPACITY_OVERRIDE
|
||||
value: {{ .Values.capacityOverride | toString | quote }}
|
||||
{{- end }}
|
||||
- name: CSI_DRIVER__GRPC_WORKERS
|
||||
value: {{ .Values.node.grpcWorkers | toString | quote }}
|
||||
- name: GA_ENABLED
|
||||
value: "{{ .Values.global.analytics.enabled }}"
|
||||
{{- if .Values.global.analytics.gaId }}
|
||||
- name: GA_ID
|
||||
value: {{ .Values.global.analytics.gaId | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.global.analytics.gaKey }}
|
||||
- name: GA_KEY
|
||||
value: {{ .Values.global.analytics.gaKey | quote }}
|
||||
{{- end }}
|
||||
- name: CSI_DRIVER__INTERNAL_IP
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
apiVersion: v1
|
||||
fieldPath: status.podIP
|
||||
- name: CSI_DRIVER__INTERNAL_PORT
|
||||
value: {{ .Values.node.internalGRPC.port | toString | quote }}
|
||||
- name: CSI_DRIVER__INTERNAL_GRPC_WORKERS
|
||||
value: {{ .Values.node.internalGRPC.workers | toString | quote }}
|
||||
- name: CSI_DRIVER__NODE_DS
|
||||
value: {{ include "rawfile-localpv.fullname" . }}-node
|
||||
{{- if .Values.auth.enabled }}
|
||||
- name: CSI_DRIVER__INTERNAL_SIGNATURE
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: {{ include "rawfile-localpv.fullname" . }}-secrets
|
||||
key: internal-signature
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: metrics
|
||||
containerPort: {{ .Values.metrics.port }}
|
||||
- name: csi-probe
|
||||
containerPort: 9808
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
- name: mountpoint-dir
|
||||
mountPath: {{ include "rawfile-localpv.node-kubelet-path" . }}
|
||||
mountPropagation: "Bidirectional"
|
||||
- name: data-dir
|
||||
mountPath: /data
|
||||
- name: metadata-dir
|
||||
mountPath: {{ include "rawfile-localpv.metadata-dir-path" . }}
|
||||
- name: device
|
||||
mountPath: /dev
|
||||
resources:
|
||||
{{- include "rawfile-localpv.controller-resources" . | nindent 12 }}
|
||||
- name: node-driver-registrar
|
||||
image: {{ printf "%s/%s:%s" (.Values.node.driverRegistrar.image.registry | default .Values.global.k8sImageRegistry) .Values.node.driverRegistrar.image.repository .Values.node.driverRegistrar.image.tag }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- --csi-address=$(ADDRESS)
|
||||
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
|
||||
- --health-port=9809
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /csi/csi.sock
|
||||
- name: DRIVER_REG_SOCK_PATH
|
||||
value: {{ include "rawfile-localpv.node-kubelet-path" . }}plugins/rawfile-localpv/csi.sock
|
||||
ports:
|
||||
- containerPort: 9809
|
||||
name: healthz
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: healthz
|
||||
initialDelaySeconds: 5
|
||||
timeoutSeconds: 5
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
- name: registration-dir
|
||||
mountPath: /registration
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 100Mi
|
||||
requests:
|
||||
cpu: 10m
|
||||
memory: 100Mi
|
||||
- name: external-provisioner
|
||||
image: {{ printf "%s/%s:%s" (.Values.node.externalProvisioner.image.registry | default .Values.global.k8sImageRegistry) .Values.node.externalProvisioner.image.repository .Values.node.externalProvisioner.image.tag }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--feature-gates=Topology=true"
|
||||
- "--strict-topology"
|
||||
- "--immediate-topology=false"
|
||||
- "--timeout=120s"
|
||||
- "--enable-capacity=true"
|
||||
- "--capacity-for-immediate-binding=true"
|
||||
- "--capacity-ownerref-level=1" # DaemonSet
|
||||
- "--node-deployment=true"
|
||||
- "--extra-create-metadata=true"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /csi/csi.sock
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
- name: NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
- name: external-snapshotter
|
||||
image: {{ printf "%s/%s:%s" (.Values.node.externalSnapshotter.image.registry | default .Values.global.k8sImageRegistry) .Values.node.externalSnapshotter.image.repository .Values.node.externalSnapshotter.image.tag }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
args:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--node-deployment=true"
|
||||
- "--extra-create-metadata=true"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /csi/csi.sock
|
||||
- name: NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: spec.nodeName
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /csi
|
||||
- name: snapshot-controller
|
||||
args:
|
||||
- "--v=2"
|
||||
- "--enable-distributed-snapshotting=true"
|
||||
image: {{ printf "%s/%s:%s" (.Values.node.snapshotController.image.registry | default .Values.global.k8sImageRegistry) .Values.node.snapshotController.image.repository .Values.node.snapshotController.image.tag }}
|
||||
imagePullPolicy: IfNotPresent
|
||||
Reference in New Issue
Block a user