217 lines
6.4 KiB
YAML
217 lines
6.4 KiB
YAML
|
#### Flexvolume Driver ###
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: DaemonSet
|
||
|
metadata:
|
||
|
name: hpe-flexvolume-driver
|
||
|
namespace: {{ .Release.Namespace }}
|
||
|
labels:
|
||
|
k8s-app: hpe-flexvolume-driver
|
||
|
spec:
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
name: hpe-flexvolume-driver
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
name: hpe-flexvolume-driver
|
||
|
spec:
|
||
|
hostNetwork: true
|
||
|
dnsPolicy: ClusterFirstWithHostNet
|
||
|
serviceAccountName: hpe-flexvolume-sa
|
||
|
containers:
|
||
|
- name: flexvolume
|
||
|
image: {{ .Values.flexVolumeDriverImage}}: {{- .Values.flexVolumeDriverTag}}
|
||
|
imagePullPolicy: "Always"
|
||
|
lifecycle:
|
||
|
preStop:
|
||
|
# create empty file to let plugin signal handler to perform cleanup of config/cert/dory files
|
||
|
exec:
|
||
|
command: [ "/bin/sh", "-c", "touch /etc/hpe-storage/remove" ]
|
||
|
{{- if eq .Values.flavor "rke"}}
|
||
|
postStart:
|
||
|
exec:
|
||
|
command: [ "/bin/bash", "-c",
|
||
|
"while [[ ! -d /var/lib/kubelet/volumeplugins/hpe.com~{{ .Values.pluginType }} ]] || [[ ! -f /etc/hpe-storage/{{ .Values.pluginType }}.json ]]; do sleep 1; done; cp -a /etc/hpe-storage/{{ .Values.pluginType }}.json /var/lib/kubelet/volumeplugins/hpe.com~{{ .Values.pluginType }}/{{ .Values.pluginType }}.json" ]
|
||
|
{{- end }}
|
||
|
env:
|
||
|
- name: LOG_LEVEL
|
||
|
value: {{ .Values.logLevel }}
|
||
|
- name: FLAVOR
|
||
|
value: {{ .Values.flavor }}
|
||
|
- name: PROVIDER_IP
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: backend
|
||
|
- name: PROVIDER_USERNAME
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: username
|
||
|
- name: PROVIDER_PASSWORD
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: password
|
||
|
- name: PROTOCOL
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: protocol
|
||
|
{{- if eq .Values.pluginType "cv"}}
|
||
|
- name: PROVIDER_PORT
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: servicePort
|
||
|
- name: PROVIDER_SERVICE
|
||
|
valueFrom:
|
||
|
secretKeyRef:
|
||
|
name: hpe-secret
|
||
|
key: serviceName
|
||
|
{{- end }}
|
||
|
- name: SCOPE
|
||
|
value: global
|
||
|
- name: PLUGIN_TYPE
|
||
|
value: {{ .Values.pluginType }}
|
||
|
volumeMounts:
|
||
|
- name: pluginmountdir
|
||
|
mountPath: /var/lib/kubelet
|
||
|
mountPropagation: Bidirectional
|
||
|
- name: bindmountdir
|
||
|
mountPath: {{ .Values.podsMountDir }}
|
||
|
mountPropagation: Bidirectional
|
||
|
- name: legacymounts
|
||
|
mountPath: /opt/nimble
|
||
|
mountPropagation: Bidirectional
|
||
|
- name: dev
|
||
|
mountPath: /dev
|
||
|
- name: libmodules
|
||
|
mountPath: /lib/modules
|
||
|
- name: var-log
|
||
|
mountPath: /var/log
|
||
|
- name: var-lib-iscsi
|
||
|
mountPath: /var/lib/iscsi
|
||
|
- name: exec
|
||
|
mountPath: /usr/libexec/kubernetes/kubelet-plugins/volume/exec
|
||
|
- name: runlock
|
||
|
mountPath: /run/lock
|
||
|
- name: etc-iscsi
|
||
|
mountPath: /etc/iscsi
|
||
|
- name: etc-multipath
|
||
|
mountPath: /etc/multipath
|
||
|
{{- if ne .Values.flavor "rke"}}
|
||
|
- name: etc-multipath-conf
|
||
|
mountPath: /etc/multipath.conf
|
||
|
{{- end }}
|
||
|
- name: etc-redhat-release
|
||
|
mountPath: /etc/redhat-release
|
||
|
- name: etc-os-release
|
||
|
mountPath: /etc/os-release
|
||
|
- name: etc-hpe-storage-dir
|
||
|
mountPath: /etc/hpe-storage
|
||
|
{{- if eq .Values.flavor "rke"}}
|
||
|
- name: etc-hpe-storage-dir
|
||
|
mountPath: /host/etc/hpe-storage
|
||
|
{{- end }}
|
||
|
- name: sys
|
||
|
mountPath: /sys
|
||
|
- name: iscsiadm
|
||
|
mountPath: /sbin/iscsiadm
|
||
|
- name: config-file
|
||
|
mountPath: /etc/hpe-storage/volume-driver.json
|
||
|
subPath: volume-driver.json
|
||
|
{{- if eq .Values.flavor "rke"}}
|
||
|
- name: config-file
|
||
|
mountPath: /etc/hpe-storage/{{ .Values.pluginType }}.json
|
||
|
subPath: {{ .Values.pluginType }}.json
|
||
|
{{- end }}
|
||
|
- name: runsystemd
|
||
|
mountPath: /run/systemd
|
||
|
- name: libsystemd
|
||
|
mountPath: /lib/systemd/system
|
||
|
- name: usrlocal
|
||
|
mountPath: /usr_local
|
||
|
securityContext:
|
||
|
privileged: true
|
||
|
capabilities:
|
||
|
add: ["SYS_ADMIN"]
|
||
|
allowPrivilegeEscalation: true
|
||
|
volumes:
|
||
|
- name: pluginmountdir
|
||
|
hostPath:
|
||
|
path: /var/lib/kubelet
|
||
|
- name: bindmountdir
|
||
|
hostPath:
|
||
|
path: {{ .Values.podsMountDir }}
|
||
|
# required to handle legacy mounts from NLT based plugin. Remove this for CoreOS
|
||
|
- name: legacymounts
|
||
|
hostPath:
|
||
|
path: /opt/nimble/
|
||
|
- name: dev
|
||
|
hostPath:
|
||
|
path: /dev
|
||
|
- name: libmodules
|
||
|
hostPath:
|
||
|
path: /lib/modules
|
||
|
- name: var-log
|
||
|
hostPath:
|
||
|
path: /var/log
|
||
|
- name: var-lib-iscsi
|
||
|
hostPath:
|
||
|
path: /var/lib/iscsi/
|
||
|
- name: exec
|
||
|
hostPath:
|
||
|
{{- $flavor := .Values.flavor -}}
|
||
|
{{- range .Values.flexVolumeExec }}
|
||
|
{{- if eq .name $flavor }}
|
||
|
path: {{ .value }}
|
||
|
{{- end }}
|
||
|
{{- end }}
|
||
|
- name: runlock
|
||
|
hostPath:
|
||
|
path: /run/lock
|
||
|
- name: etc-iscsi
|
||
|
hostPath:
|
||
|
path: /etc/iscsi/
|
||
|
- name: etc-multipath
|
||
|
hostPath:
|
||
|
path: /etc/multipath/
|
||
|
{{- if ne .Values.flavor "rke"}}
|
||
|
- name: etc-multipath-conf
|
||
|
hostPath:
|
||
|
path: /etc/multipath.conf
|
||
|
type: FileOrCreate
|
||
|
{{- end }}
|
||
|
- name: etc-redhat-release
|
||
|
hostPath:
|
||
|
path: /etc/redhat-release
|
||
|
type: FileOrCreate
|
||
|
- name: etc-os-release
|
||
|
hostPath:
|
||
|
path: /etc/os-release
|
||
|
type: FileOrCreate
|
||
|
- name: etc-hpe-storage-dir
|
||
|
hostPath:
|
||
|
path: /etc/hpe-storage/
|
||
|
- name: sys
|
||
|
hostPath:
|
||
|
path: /sys
|
||
|
- name: iscsiadm
|
||
|
hostPath:
|
||
|
path: /sbin/iscsiadm
|
||
|
type: FileOrCreate
|
||
|
- name: config-file
|
||
|
configMap:
|
||
|
name: hpe-config
|
||
|
- name: runsystemd
|
||
|
hostPath:
|
||
|
path: /run/systemd
|
||
|
- name: libsystemd
|
||
|
hostPath:
|
||
|
path: /lib/systemd/system
|
||
|
- name: usrlocal
|
||
|
hostPath:
|
||
|
path: /usr
|