apiVersion: apps/v1 kind: DaemonSet metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-manager name: longhorn-manager namespace: {{ include "release_namespace" . }} spec: selector: matchLabels: app: longhorn-manager template: metadata: labels: {{- include "longhorn.labels" . | nindent 8 }} app: longhorn-manager {{- with .Values.annotations }} annotations: {{- toYaml . | nindent 8 }} {{- end }} spec: containers: - name: longhorn-manager image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} imagePullPolicy: IfNotPresent securityContext: privileged: true command: - longhorn-manager - -d - daemon - --engine-image - "{{ template "registry_url" . }}{{ .Values.image.longhorn.engine.repository }}:{{ .Values.image.longhorn.engine.tag }}" - --instance-manager-image - "{{ template "registry_url" . }}{{ .Values.image.longhorn.instanceManager.repository }}:{{ .Values.image.longhorn.instanceManager.tag }}" - --share-manager-image - "{{ template "registry_url" . }}{{ .Values.image.longhorn.shareManager.repository }}:{{ .Values.image.longhorn.shareManager.tag }}" - --backing-image-manager-image - "{{ template "registry_url" . }}{{ .Values.image.longhorn.backingImageManager.repository }}:{{ .Values.image.longhorn.backingImageManager.tag }}" - --manager-image - "{{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}" - --service-account - longhorn-service-account ports: - containerPort: 9500 name: manager readinessProbe: tcpSocket: port: 9500 volumeMounts: - name: dev mountPath: /host/dev/ - name: proc mountPath: /host/proc/ - name: longhorn mountPath: /var/lib/longhorn/ mountPropagation: Bidirectional - name: longhorn-default-setting mountPath: /var/lib/longhorn-setting/ env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: POD_IP valueFrom: fieldRef: fieldPath: status.podIP - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: DEFAULT_SETTING_PATH value: /var/lib/longhorn-setting/default-setting.yaml volumes: - name: dev hostPath: path: /dev/ - name: proc hostPath: path: /proc/ - name: longhorn hostPath: path: /var/lib/longhorn/ - name: longhorn-default-setting configMap: name: longhorn-default-setting {{- if .Values.privateRegistry.registrySecret }} imagePullSecrets: - name: {{ .Values.privateRegistry.registrySecret }} {{- end }} {{- if .Values.longhornManager.priorityClass }} priorityClassName: {{ .Values.longhornManager.priorityClass | quote}} {{- end }} serviceAccountName: longhorn-service-account {{- if .Values.longhornManager.tolerations }} tolerations: {{ toYaml .Values.longhornManager.tolerations | indent 6 }} {{- end }} {{- if .Values.longhornManager.nodeSelector }} nodeSelector: {{ toYaml .Values.longhornManager.nodeSelector | indent 8 }} {{- end }} updateStrategy: rollingUpdate: maxUnavailable: "100%" --- apiVersion: v1 kind: Service metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-manager name: longhorn-backend namespace: {{ include "release_namespace" . }} spec: type: {{ .Values.service.manager.type }} sessionAffinity: ClientIP selector: app: longhorn-manager ports: - name: manager port: 9500 targetPort: manager {{- if .Values.service.manager.nodePort }} nodePort: {{ .Values.service.manager.nodePort }} {{- end }}