blob: bbcd59fd1e4497178a26f535ddd4871ba5c4d818 [file] [log] [blame]
Giorgi Lekveishvili193b7c02025-05-22 16:21:37 +04001apiVersion: apps/v1
2kind: DaemonSet
3metadata:
4 labels: {{- include "longhorn.labels" . | nindent 4 }}
5 app: longhorn-manager
6 name: longhorn-manager
7 namespace: {{ include "release_namespace" . }}
8spec:
9 selector:
10 matchLabels:
11 app: longhorn-manager
12 template:
13 metadata:
14 labels: {{- include "longhorn.labels" . | nindent 8 }}
15 app: longhorn-manager
16 {{- with .Values.annotations }}
17 annotations:
18 {{- toYaml . | nindent 8 }}
19 {{- end }}
20 spec:
21 containers:
22 - name: longhorn-manager
23 image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}
24 imagePullPolicy: {{ .Values.image.pullPolicy }}
25 securityContext:
26 privileged: true
27 command:
28 - longhorn-manager
29 - -d
30 {{- if eq .Values.longhornManager.log.format "json" }}
31 - -j
32 {{- end }}
33 - daemon
34 - --engine-image
35 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.engine.repository }}:{{ .Values.image.longhorn.engine.tag }}"
36 - --instance-manager-image
37 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.instanceManager.repository }}:{{ .Values.image.longhorn.instanceManager.tag }}"
38 - --share-manager-image
39 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.shareManager.repository }}:{{ .Values.image.longhorn.shareManager.tag }}"
40 - --backing-image-manager-image
41 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.backingImageManager.repository }}:{{ .Values.image.longhorn.backingImageManager.tag }}"
42 - --support-bundle-manager-image
43 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.supportBundleKit.repository }}:{{ .Values.image.longhorn.supportBundleKit.tag }}"
44 - --manager-image
45 - "{{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }}"
46 - --service-account
47 - longhorn-service-account
48 {{- if .Values.preUpgradeChecker.upgradeVersionCheck}}
49 - --upgrade-version-check
50 {{- end }}
51 ports:
52 - containerPort: 9500
53 name: manager
54 - containerPort: 9501
55 name: conversion-wh
56 - containerPort: 9502
57 name: admission-wh
58 - containerPort: 9503
59 name: recov-backend
60 readinessProbe:
61 httpGet:
62 path: /v1/healthz
63 port: 9501
64 scheme: HTTPS
65 volumeMounts:
66 - name: dev
67 mountPath: /host/dev/
68 - name: proc
69 mountPath: /host/proc/
70 - name: longhorn
71 mountPath: /var/lib/longhorn/
72 mountPropagation: Bidirectional
73 - name: longhorn-grpc-tls
74 mountPath: /tls-files/
75 {{- if .Values.enableGoCoverDir }}
76 - name: go-cover-dir
77 mountPath: /go-cover-dir/
78 {{- end }}
79 env:
80 - name: POD_NAMESPACE
81 valueFrom:
82 fieldRef:
83 fieldPath: metadata.namespace
84 - name: POD_IP
85 valueFrom:
86 fieldRef:
87 fieldPath: status.podIP
88 - name: NODE_NAME
89 valueFrom:
90 fieldRef:
91 fieldPath: spec.nodeName
92 {{- if .Values.enableGoCoverDir }}
93 - name: GOCOVERDIR
94 value: /go-cover-dir/
95 {{- end }}
96 volumes:
97 - name: dev
98 hostPath:
99 path: /dev/
100 - name: proc
101 hostPath:
102 path: /proc/
103 - name: longhorn
104 hostPath:
105 path: /var/lib/longhorn/
106 {{- if .Values.enableGoCoverDir }}
107 - name: go-cover-dir
108 hostPath:
109 path: /go-cover-dir/
110 type: DirectoryOrCreate
111 {{- end }}
112 - name: longhorn-grpc-tls
113 secret:
114 secretName: longhorn-grpc-tls
115 optional: true
116 {{- if .Values.privateRegistry.registrySecret }}
117 imagePullSecrets:
118 - name: {{ .Values.privateRegistry.registrySecret }}
119 {{- end }}
120 {{- if .Values.longhornManager.priorityClass }}
121 priorityClassName: {{ .Values.longhornManager.priorityClass | quote }}
122 {{- end }}
123 {{- if or .Values.global.tolerations .Values.longhornManager.tolerations .Values.global.cattle.windowsCluster.enabled }}
124 tolerations:
125 {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.tolerations }}
126{{ toYaml .Values.global.cattle.windowsCluster.tolerations | indent 6 }}
127 {{- end }}
128 {{- if or .Values.global.tolerations .Values.longhornManager.tolerations }}
129{{ default .Values.global.tolerations .Values.longhornManager.tolerations | toYaml | indent 6 }}
130 {{- end }}
131 {{- end }}
132 {{- if or .Values.global.nodeSelector .Values.longhornManager.nodeSelector .Values.global.cattle.windowsCluster.enabled }}
133 nodeSelector:
134 {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.nodeSelector }}
135{{ toYaml .Values.global.cattle.windowsCluster.nodeSelector | indent 8 }}
136 {{- end }}
137 {{- if or .Values.global.nodeSelector .Values.longhornManager.nodeSelector }}
138{{ default .Values.global.nodeSelector .Values.longhornManager.nodeSelector | toYaml | indent 8 }}
139 {{- end }}
140 {{- end }}
141 serviceAccountName: longhorn-service-account
142 updateStrategy:
143 rollingUpdate:
144 maxUnavailable: "100%"
145---
146apiVersion: v1
147kind: Service
148metadata:
149 labels: {{- include "longhorn.labels" . | nindent 4 }}
150 app: longhorn-manager
151 name: longhorn-backend
152 namespace: {{ include "release_namespace" . }}
153 {{- if .Values.longhornManager.serviceAnnotations }}
154 annotations:
155{{ toYaml .Values.longhornManager.serviceAnnotations | indent 4 }}
156 {{- end }}
157spec:
158 type: {{ .Values.service.manager.type }}
159 selector:
160 app: longhorn-manager
161 ports:
162 - name: manager
163 port: 9500
164 targetPort: manager
165 {{- if .Values.service.manager.nodePort }}
166 nodePort: {{ .Values.service.manager.nodePort }}
167 {{- end }}