values.yaml 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904
  1. # Default values for deepflow-server.
  2. # This is a YAML-formatted file.
  3. # Declare variables to be passed into your templates.
  4. global:
  5. image:
  6. ## ghcr Image repository address: ghcr.io/deepflowys/deepflow-ce
  7. ## Dockerhub Image repository address: deepflowce
  8. ## AliyunYun Image repository address: registry.cn-beijing.aliyuncs.com/deepflow-ce
  9. repository: registry.cn-hongkong.aliyuncs.com/deepflow-ce
  10. pullPolicy: Always
  11. imagePullSecrets: []
  12. hostNetwork: false
  13. dnsPolicy: ClusterFirst
  14. password:
  15. mysql: deepflow
  16. #grafana: deepflow
  17. clickhouse:
  18. podManagementPolicy: "OrderedReady"
  19. replicas: 1 ## replicas for deepflow-server and clickhouse
  20. podAntiAffinityLabelSelector: []
  21. podAntiAffinityTermLabelSelector: []
  22. podAffinityLabelSelector: []
  23. podAffinityTermLabelSelector: []
  24. nodeAffinityLabelSelector: []
  25. nodeAffinityTermLabelSelector: []
  26. timezone: "Asia/Shanghai"
  27. nodePort:
  28. clickhouseTcpPort:
  29. clickhouseHttpPort: 32509
  30. deepflowServerIngester: 30033
  31. deepflowServerGrpc: 30035
  32. # deepflowServerSslGrpc: 30135
  33. deepflowServerhealthCheck: 30417
  34. ntpServer: ntp.aliyun.com
  35. ## Whether to enable allInone local storage, if enabled, the local /opt directory is used to store data by default, ignoring the node affinity check, and is not responsible for any data persistence
  36. allInOneLocalStorage: false
  37. storageClass: "openebs-hostpath"
  38. externalClickHouse:
  39. enabled: false ## Enable external ClickHouse
  40. type: ep
  41. ## External ClickHouse clusterName,The default value is 'default', query method: 'select cluster,host_address,port from system.clusters;'
  42. clusterName: default
  43. ## External ClickHouse storage policy name,The default value is 'default', query method: 'select policy_name from system.storage_policies;'
  44. storagePolicy: default
  45. username: default ## External ClickHouse username
  46. password: password ## External ClickHouse Password
  47. ## External ClickHouse IP address and port list, DeepFlow writes IP and port information to an svc endpoint, deepflow-server obtains ClickHouse's IP:Port through get&wath&list endpoint.
  48. ## deepflow-server needs to access the real IP address of ClickHouse, the port is connected using tcp-port, usually 9000, and query IP:Port through 'select host_address,port from system.clusters;'.
  49. hosts: []
  50. # - ip: 10.1.2.3
  51. # port: 9000
  52. # - ip: 10.1.2.4
  53. # port: 9000
  54. # - ip: 10.1.2.5
  55. # port: 9000
  56. externalMySQL:
  57. enabled: false ## Enable external MySQL
  58. ip: 10.1.2.3 ## External Mysql IP address, Need to allow deepflow-server and clickhouse access
  59. port: 3306 ## External Mysql port
  60. username: ## External Mysql username
  61. password: ## External Mysql password
  62. image:
  63. server:
  64. repository: "{{ .Values.global.image.repository }}/deepflow-server"
  65. tag: v6.4
  66. pullPolicy: "{{ .Values.global.image.pullPolicy }}"
  67. app:
  68. repository: reg.cestong.com.cn/cecf/deepflow-app
  69. #repository: registry.cn-hongkong.aliyuncs.com/deepflow-ce/deepflow-app
  70. tag: v6.4.11
  71. pullPolicy: Always
  72. imagePullSecrets: []
  73. nameOverride: ""
  74. fullnameOverride: ""
  75. timezone: "{{ .Values.global.timezone }}"
  76. podAnnotations: {}
  77. podSecurityContext: {}
  78. # fsGroup: 2000
  79. securityContext: {}
  80. # capabilities:
  81. # drop:
  82. # - ALL
  83. # readOnlyRootFilesystem: true
  84. # runAsNonRoot: true
  85. # runAsUser: 1000
  86. server:
  87. ## Pod Labels
  88. podLabels: {}
  89. replicas: "{{ .Values.global.replicas }}"
  90. hostNetwork: "{{ .Values.global.hostNetwork }}"
  91. dnsPolicy: "{{ .Values.global.dnsPolicy }}"
  92. nameservers: []
  93. podManagementPolicy: "{{ .Values.global.podManagementPolicy }}"
  94. featureFlag: []
  95. readinessProbe:
  96. httpGet:
  97. path: /v1/health/
  98. port: server
  99. failureThreshold: 10
  100. initialDelaySeconds: 15
  101. periodSeconds: 10
  102. successThreshold: 1
  103. livenessProbe:
  104. failureThreshold: 6
  105. initialDelaySeconds: 15
  106. periodSeconds: 20
  107. successThreshold: 1
  108. httpGet:
  109. path: /v1/health/
  110. port: server
  111. timeoutSeconds: 1
  112. service:
  113. ## Configuration for deepflow-server service
  114. ##
  115. annotations: {}
  116. labels: {}
  117. clusterIP: ""
  118. ## Port for deepflow-server Service to listen on
  119. ##
  120. ports:
  121. - name: querier
  122. port: 20416
  123. targetPort: 20416
  124. nodePort:
  125. protocol: TCP
  126. - name: profile
  127. port: 20419
  128. targetPort: 20419
  129. nodePort:
  130. protocol: TCP
  131. - name: health-check
  132. port: 20417
  133. targetPort: 20417
  134. nodePort: 32514
  135. protocol: TCP
  136. - name: grpc
  137. port: 20035
  138. targetPort: 20035
  139. nodePort:
  140. protocol: TCP
  141. - name: grpc-30035
  142. port: 30035
  143. targetPort: 20035
  144. nodePort: "{{ .Values.global.nodePort.deepflowServerGrpc }}"
  145. protocol: TCP
  146. - name: ssl-grpc
  147. port: 20135
  148. targetPort: 20135
  149. nodePort: # "{{ .Values.global.nodePort.deepflowServerSslGrpc }}"
  150. protocol: TCP
  151. - name: ingester
  152. port: 20033
  153. targetPort: 20033
  154. nodePort:
  155. protocol: TCP
  156. - name: ingester-30033
  157. port: 30033
  158. targetPort: 20033
  159. nodePort: "{{ .Values.global.nodePort.deepflowServerIngester }}"
  160. protocol: TCP
  161. ## Additional ports to open for server service
  162. additionalPorts: []
  163. externalIPs: []
  164. loadBalancerIP: ""
  165. loadBalancerSourceRanges: []
  166. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  167. externalTrafficPolicy: Cluster
  168. ## Service type
  169. ##
  170. type: NodePort
  171. resources: {}
  172. # We usually recommend not to specify default resources and to leave this as a conscious
  173. # choice for the user. This also increases chances charts run on environments with little
  174. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  175. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  176. # limits:
  177. # cpu: 100m
  178. # memory: 128Mi
  179. # requests:
  180. # cpu: 100m
  181. # memory: 128Mi
  182. nodeSelector: {}
  183. podAntiAffinityLabelSelector:
  184. - labelSelector:
  185. - key: app
  186. operator: In
  187. values: deepflow
  188. - key: component
  189. operator: In
  190. values: deepflow-server
  191. topologyKey: "kubernetes.io/hostname"
  192. podAntiAffinityTermLabelSelector: []
  193. podAffinityLabelSelector: []
  194. podAffinityTermLabelSelector: []
  195. nodeAffinityLabelSelector: []
  196. nodeAffinityTermLabelSelector: []
  197. extraVolumeMounts: []
  198. # - name: extra-volume-0
  199. # mountPath: /mnt/volume0
  200. # readOnly: true
  201. # existingClaim: volume-claim
  202. # - name: extra-volume-1
  203. # mountPath: /mnt/volume1
  204. # readOnly: true
  205. # hostPath: /usr/shared/
  206. app:
  207. replicas: "1"
  208. ## Pod Labels
  209. podLabels: {}
  210. hostNetwork: "{{ .Values.global.hostNetwork }}"
  211. dnsPolicy: "{{ .Values.global.dnsPolicy }}"
  212. readinessProbe:
  213. tcpSocket:
  214. port: app
  215. failureThreshold: 3
  216. initialDelaySeconds: 15
  217. periodSeconds: 10
  218. successThreshold: 1
  219. livenessProbe:
  220. failureThreshold: 3
  221. initialDelaySeconds: 15
  222. periodSeconds: 20
  223. successThreshold: 1
  224. tcpSocket:
  225. port: app
  226. timeoutSeconds: 1
  227. service:
  228. ## Configuration for deepflow querier service
  229. ##
  230. annotations: {}
  231. labels: {}
  232. clusterIP: ""
  233. ## Port for deepflow querier service to listen on
  234. ##
  235. ports:
  236. - name: app
  237. port: 20418
  238. targetPort: 20418
  239. ## Port to expose on each node
  240. ## Only used if service.type is 'NodePort'
  241. ##
  242. nodePort:
  243. protocol: TCP
  244. ## Additional ports to open for deepflow querier service
  245. additionalPorts: []
  246. externalIPs: []
  247. loadBalancerIP: ""
  248. loadBalancerSourceRanges: []
  249. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  250. ##
  251. externalTrafficPolicy: Cluster
  252. ## Service type
  253. ##
  254. type: ClusterIP
  255. resources: {}
  256. nodeSelector: {}
  257. podAntiAffinityLabelSelector: []
  258. podAntiAffinityTermLabelSelector: []
  259. podAffinityLabelSelector: []
  260. podAffinityTermLabelSelector: []
  261. nodeAffinityLabelSelector: []
  262. nodeAffinityTermLabelSelector: []
  263. tolerations: []
  264. # - key: "key1"
  265. # operator: "Equal"
  266. # value: "value1"
  267. # effect: "NoSchedule"
  268. config:
  269. tridentTypeForUnkonwVtap: 3
  270. configmap:
  271. server.yaml:
  272. # logfile path
  273. log-file: /var/log/deepflow/server.log
  274. # loglevel: "debug/info/warn/error"
  275. log-level: info
  276. controller:
  277. # controller http listenport
  278. listen-port: 20417
  279. # grpc server port
  280. grpc-port: 20035
  281. # grpc max message lenth default 100M
  282. grpc-max-message-length: 104857600
  283. # kubeconfig
  284. kubeconfig:
  285. # election
  286. election-namespace: "{{ $.Release.Namespace }}"
  287. election-name: "{{ $.Release.Name }}-server"
  288. mysql:
  289. database: deepflow
  290. user-name: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.username}}{{ else }}root{{end}}"
  291. user-password: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.password}}{{ else }}{{ .Values.global.password.mysql }}{{end}}"
  292. #Please ignore this
  293. host: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.ip}}{{ else }}{{ $.Release.Name }}-mysql{{end}}"
  294. port: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.port}}{{ else }}30130{{end}}"
  295. timeout: 30
  296. clickhouse:
  297. database: flow_tag
  298. user-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
  299. port: 9000
  300. host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
  301. user-password: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
  302. trisolaris:
  303. chrony:
  304. host: "{{ tpl .Values.global.ntpServer . }}"
  305. port: 123
  306. timeout: 1
  307. trident-type-for-unkonw-vtap: "{{ .Values.config.tridentTypeForUnkonwVtap }}"
  308. querier:
  309. # querier http listenport
  310. listen-port: 20416
  311. clickhouse:
  312. database: flow_tag
  313. user-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
  314. port: 9000
  315. host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
  316. user-password: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
  317. timeout: 60
  318. deepflow-app:
  319. host: "{{ $.Release.Name }}-app"
  320. port: 20418
  321. ingester:
  322. ckdb:
  323. # use internal or external ckdb
  324. external: "{{ $.Values.global.externalClickHouse.enabled }}"
  325. host: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
  326. port: 9000
  327. # if `external` is 'true', default value is 'default', else 'df_cluster'
  328. cluster-name: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.clusterName}}{{end}}"
  329. # if `external` is 'true', default value 'default', else 'df_storage'
  330. storage-policy: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.storagePolicy}}{{end}}"
  331. ckdb-auth:
  332. username: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
  333. # '#','@' special characters are not supported in passwords
  334. password: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
  335. es-syslog: false
  336. app.yaml:
  337. app:
  338. # logfile path
  339. log-file: /var/log/deepflow/app.log
  340. # loglevel: "debug/info/warn/error"
  341. log-level: info
  342. # app http listenport
  343. listen-port: 20418
  344. # http request/response timeout
  345. http_request_timeout: 600
  346. http_response_timeout: 600
  347. querier:
  348. host: '{{ include "deepflow.fullname" . }}-server'
  349. port: 20416
  350. timeout: 60
  351. controller:
  352. host: '{{ include "deepflow.fullname" . }}-server'
  353. port: 20417
  354. timeout: 60
  355. spec:
  356. l7_tracing_limit: 100
  357. clickhouse:
  358. enabled: true
  359. # Default values for clickhouse.
  360. # This is a YAML-formatted file.
  361. # Declare variables to be passed into your templates.
  362. replicas: "{{ .Values.global.replicas }}"
  363. hostNetwork: "{{ .Values.global.hostNetwork }}"
  364. dnsPolicy: "{{ .Values.global.dnsPolicy }}"
  365. podManagementPolicy: "{{ .Values.global.podManagementPolicy }}"
  366. image:
  367. ## ClickHouse Dockerhub Image repository: clickhouse/clickhouse-server
  368. repository: "{{ .Values.global.image.repository }}/clickhouse-server"
  369. pullPolicy: Always
  370. # Overrides the image tag whose default is the chart appVersion.
  371. tag: 23.8.7.24
  372. timezone: "{{ .Values.global.timezone }}"
  373. imagePullSecrets: []
  374. nameOverride: ""
  375. fullnameOverride: ""
  376. podAnnotations: {}
  377. podSecurityContext: {}
  378. # fsGroup: 2000
  379. securityContext: {}
  380. # capabilities:
  381. # drop:
  382. # - ALL
  383. # readOnlyRootFilesystem: true
  384. # runAsNonRoot: true
  385. # runAsUser: 1000
  386. storageConfig:
  387. ## persistentVolumeClaim/hostPath
  388. ## If you use hostPath, you must configure nodeAffinityLabelSelector, otherwise your data will be lost when Pod drifts, ignored allInOneLocalStorage=true
  389. ## 如果使用hostPath存储clickhouse数据,则必须配置nodeAffinityLabelSelector,避免pod漂移导致数据丢失,allInOneLocalStorage=true 时忽略
  390. type: persistentVolumeClaim
  391. generateType: "{{ if $.Values.global.allInOneLocalStorage }}hostPath{{ else }}{{$.Values.storageConfig.type}}{{end}}" #Please ignore this
  392. hostPath: /opt/deepflow-clickhouse
  393. persistence:
  394. - name: clickhouse-path
  395. accessModes:
  396. - ReadWriteOnce
  397. size: 100Gi
  398. annotations:
  399. storageClass: "{{ .Values.global.storageClass }}"
  400. # selector:
  401. # matchLabels:
  402. # app.kubernetes.io/name: clickhouse
  403. - name: clickhouse-storage-path
  404. accessModes:
  405. - ReadWriteOnce
  406. size: 200Gi
  407. annotations:
  408. storageClass: "{{ .Values.global.storageClass }}"
  409. # selector:
  410. # matchLabels:
  411. # app.kubernetes.io/name: clickhouse
  412. s3StorageEnabled: false
  413. clickhouse:
  414. interserverHttpPort: 9009
  415. maxConcurrentQueries: 2000
  416. ## 单次查询最大内存 (bytes)
  417. maxMemoryUsage: 10000000000
  418. maxQuerySize: 10737418240
  419. maxAstElements: 2000000
  420. maxExpandedAstElements: 2000000
  421. connectTimeout: 500
  422. backgroudPoolSize: 32
  423. service:
  424. ## Configuration for ClickHouse service
  425. ##
  426. annotations: {}
  427. labels: {}
  428. clusterIP: ""
  429. ## Port for ClickHouse Service to listen on
  430. ##
  431. ports:
  432. - name: http-port
  433. port: 8123
  434. targetPort: 8123
  435. nodePort: "{{ .Values.global.nodePort.clickhouseHttpPort }}"
  436. protocol: TCP
  437. - name: tcp-port
  438. port: 9000
  439. targetPort: 9000
  440. nodePort: "{{ .Values.global.nodePort.clickhouseTcpPort }}"
  441. protocol: TCP
  442. - name: interserver-http-port
  443. port: 9009
  444. targetPort: 9009
  445. nodePort:
  446. protocol: TCP
  447. ## Additional ports to open for server service
  448. additionalPorts: []
  449. externalIPs: []
  450. loadBalancerIP: ""
  451. loadBalancerSourceRanges: []
  452. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  453. externalTrafficPolicy: Cluster
  454. ## Service type
  455. ##
  456. type: NodePort
  457. resources: {}
  458. # We usually recommend not to specify default resources and to leave this as a conscious
  459. # choice for the user. This also increases chances charts run on environments with little
  460. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  461. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  462. # limits:
  463. # cpu: 100m
  464. # memory: 128Mi
  465. # requests:
  466. # cpu: 100m
  467. # memory: 128Mi
  468. nodeSelector: {}
  469. tolerations: []
  470. podAntiAffinityLabelSelector:
  471. - labelSelector:
  472. - key: app
  473. operator: In
  474. values: deepflow
  475. - key: component
  476. operator: In
  477. values: clickhouse
  478. topologyKey: "kubernetes.io/hostname"
  479. podAntiAffinityTermLabelSelector: []
  480. podAffinityLabelSelector: []
  481. podAffinityTermLabelSelector:
  482. - topologyKey: kubernetes.io/hostname
  483. weight: 10
  484. labelSelector:
  485. - key: app
  486. operator: In
  487. values: deepflow
  488. - key: component
  489. operator: In
  490. values: deepflow-server
  491. nodeAffinityLabelSelector: []
  492. ## If you use hostPath, you must configure nodeAffinityLabelSelector, otherwise your data will be lost when Pod drifts
  493. ## 如果使用hostPath存储mysql数据,则必须配置nodeAffinityLabelSelector,避免pod漂移导致数据丢失
  494. # - matchExpressions:
  495. # - key: kubernetes.io/hostname
  496. # operator: In
  497. # values: controller
  498. nodeAffinityTermLabelSelector: []
  499. mysql:
  500. enabled: true
  501. hostNetwork: "false"
  502. dnsPolicy: ClusterFirst
  503. imagePullSecrets: []
  504. nameOverride: ""
  505. fullnameOverride: ""
  506. password: "{{ .Values.global.password.mysql }}"
  507. timezone: "{{ .Values.global.timezone }}"
  508. podAnnotations: {}
  509. image:
  510. ## MySQL Dockerhub Image repository: mysql
  511. repository: "{{ .Values.global.image.repository }}/mysql"
  512. pullPolicy: Always
  513. # Overrides the image tag whose default is the chart appVersion.
  514. tag: 8.0.31
  515. podSecurityContext: {}
  516. # fsGroup: 2000
  517. securityContext:
  518. ## If your mysql cannot start with hostPath, please open Privileged
  519. ## 如果你的mysql使用hostPath无法启动,请打开privileged
  520. # privileged: true
  521. # capabilities:
  522. # drop:
  523. # - ALL
  524. # readOnlyRootFilesystem: false
  525. # runAsNonRoot: false
  526. # runAsUser: 0
  527. storageConfig:
  528. ## persistentVolumeClaim/hostPath
  529. ## If you use hostPath, you must configure nodeAffinityLabelSelector, otherwise your data will be lost when Pod drifts
  530. ## 如果使用hostPath存储mysql数据,则必须配置nodeAffinityLabelSelector,避免pod漂移导致数据丢失
  531. type: persistentVolumeClaim
  532. generateType: "{{ if $.Values.global.allInOneLocalStorage }}hostPath{{ else }}{{$.Values.storageConfig.type}}{{end}}" #Please ignore this
  533. hostPath: /opt/deepflow-mysql
  534. hostPathChownContainerEnabled: true
  535. persistence:
  536. storageClass: "{{ .Values.global.storageClass }}"
  537. annotations:
  538. "helm.sh/resource-policy": keep
  539. # existingClaim: your-claim-pvc-name
  540. accessMode: ReadWriteOnce
  541. size: 50Gi
  542. service:
  543. ## Configuration for ClickHouse service
  544. ##
  545. annotations: {}
  546. labels: {}
  547. clusterIP: ""
  548. ## Port for ClickHouse Service to listen on
  549. ##
  550. ports:
  551. - name: tcp
  552. port: 30130
  553. targetPort: 30130
  554. nodePort:
  555. protocol: TCP
  556. ## Additional ports to open for server service
  557. additionalPorts: []
  558. externalIPs: []
  559. loadBalancerIP: ""
  560. loadBalancerSourceRanges: []
  561. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  562. externalTrafficPolicy: Cluster
  563. ## Service type
  564. ##
  565. type: ClusterIP
  566. resources: {}
  567. # We usually recommend not to specify default resources and to leave this as a conscious
  568. # choice for the user. This also increases chances charts run on environments with little
  569. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  570. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  571. # limits:
  572. # cpu: 100m
  573. # memory: 128Mi
  574. # requests:
  575. # cpu: 100m
  576. # memory: 128Mi
  577. nodeSelector: {}
  578. tolerations: []
  579. podAntiAffinityLabelSelector: []
  580. podAntiAffinityTermLabelSelector: []
  581. podAffinityLabelSelector: []
  582. podAffinityTermLabelSelector: []
  583. nodeAffinityLabelSelector: []
  584. ## If you use hostPath, you must configure nodeAffinityLabelSelector, otherwise your data will be lost when Pod drifts
  585. ## 如果使用hostPath存储mysql数据,则必须配置nodeAffinityLabelSelector,避免pod漂移导致数据丢失
  586. # - matchExpressions:
  587. # - key: kubernetes.io/hostname
  588. # operator: In
  589. # values: controller
  590. nodeAffinityTermLabelSelector: []
  591. deepflow-agent:
  592. enabled: true
  593. image:
  594. repository: "{{ .Values.global.image.repository }}/deepflow-agent"
  595. pullPolicy: "{{ .Values.global.image.pullPolicy }}"
  596. # Overrides the image tag whose default is the chart appVersion.
  597. tag: v6.4
  598. imagePullSecrets: []
  599. nameOverride: ""
  600. agentFullnameOverride: "deepflow-agent"
  601. timezone: "{{ .Values.global.timezone }}"
  602. deployComponent:
  603. - "daemonset"
  604. # - "watcher"
  605. #
  606. tke_sidecar: false
  607. podAnnotations: {}
  608. nodeIPInjection: true
  609. podSecurityContext: {}
  610. # fsGroup: 2000
  611. hostNetwork: "false"
  612. ## Mount the netns hostPath directory read-only
  613. netns:
  614. mount: false
  615. extraVolumeMounts: []
  616. securityContext:
  617. # privileged: true
  618. capabilities:
  619. add:
  620. - SYS_ADMIN ## Permission required for collecting K8s information and eBPF data
  621. - SYS_RESOURCE ## Permissions required to collect eBPF data
  622. - SYS_PTRACE ## Permission required for collecting K8s information
  623. - NET_ADMIN ## Indicates the permission for collecting AF_PACKET traffic
  624. - NET_RAW ## Indicates the permission for collecting AF_PACKET traffic
  625. - IPC_LOCK ## optional MAP_LOCKED MAP_NORESERVE: Indicates the permission for collecting AF_PACKET traffic, It can significantly degrade performance when not available
  626. - SYSLOG
  627. #- BPF ## Optionally, eBPF does not require SYS_ADMIN in kernel Linux 5.8+ and uses a combination of BPF and PERFMON instead
  628. #- PERFMON ## Optionally, eBPF does not require SYS_ADMIN in kernel Linux 5.8+ and uses a combination of BPF and PERFMON instead
  629. # readOnlyRootFilesystem: true
  630. # runAsNonRoot: true
  631. # runAsUser: 1000
  632. ## File read and write permissions required for collecting eBPF data (Optional. If you do not have the permission and the content does not meet expectations, the performance will be significantly reduced. You can set the content in advance.)
  633. ## sysctl -w net.core.bpf_jit_enable=1
  634. sysctlInitContainer:
  635. enabled: true
  636. service:
  637. ## Configuration for ClickHouse service
  638. ##
  639. annotations: {}
  640. labels: {}
  641. clusterIP: ""
  642. ## Port for ClickHouse Service to listen on
  643. ##
  644. ports:
  645. - name: receive
  646. port: 80
  647. targetPort: receive
  648. nodePort:
  649. protocol: TCP
  650. ## Additional ports to open for server service
  651. additionalPorts: []
  652. externalIPs: []
  653. loadBalancerIP: ""
  654. loadBalancerSourceRanges: []
  655. ## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints
  656. externalTrafficPolicy: Cluster
  657. ## Service type
  658. ##
  659. type: ClusterIP
  660. deepflowServerNodeIPS:
  661. - '{{ include "deepflow.fullname" . }}-server'
  662. kubernetesClusterId:
  663. agentGroupID:
  664. ## This command takes effect when agent-group-config external_agent_http_proxy_enabled=1 is configured using deepflow-ctl
  665. ## Set the port to the agent-group-config port
  666. externalAgentHttpProxyPort: 38086
  667. resources:
  668. limits:
  669. cpu: 1000m
  670. memory: 768Mi
  671. requests:
  672. cpu: 100m
  673. memory: 128Mi
  674. nodeSelector: {}
  675. tolerations: []
  676. podAntiAffinityLabelSelector: []
  677. podAntiAffinityTermLabelSelector: []
  678. podAffinityLabelSelector: []
  679. podAffinityTermLabelSelector: []
  680. nodeAffinityLabelSelector: []
  681. nodeAffinityTermLabelSelector: []
  682. grafana:
  683. enabled: true
  684. namespaceOverride: ""
  685. ## ForceDeployDatasources Create datasource configmap even if grafana deployment has been disabled
  686. ##
  687. forceDeployDatasources: false
  688. ## ForceDeployDashboard Create dashboard configmap even if grafana deployment has been disabled
  689. ##
  690. forceDeployDashboards: false
  691. ## Deploy default dashboards
  692. ##
  693. defaultDashboardsEnabled: true
  694. ## Timezone for the default dashboards
  695. ## Other options are: browser or a specific timezone, i.e. Europe/Luxembourg
  696. ##
  697. defaultDashboardsTimezone: utc
  698. adminPassword: deepflow
  699. containerSecurityContext: []
  700. image:
  701. registry: registry.cn-beijing.aliyuncs.com/deepflow-ce
  702. ## Grafana aliyun Image repository: registry.cn-beijing.aliyuncs.com/deepflow-ce/grafana
  703. repository: grafana
  704. # Overrides the Grafana image tag whose default is the chart appVersion
  705. tag: ""
  706. sha: ""
  707. pullPolicy: Always
  708. service:
  709. enabled: true
  710. type: NodePort
  711. rbac:
  712. create: true
  713. ## Use an existing ClusterRole/Role (depending on rbac.namespaced false/true)
  714. # useExistingRole: name-of-some-(cluster)role
  715. pspEnabled: false
  716. namespaced: true
  717. grafana.ini:
  718. paths:
  719. plugins: /var/lib/grafana/plugins
  720. analytics:
  721. check_for_updates: true
  722. log:
  723. mode: console
  724. database:
  725. type: mysql
  726. host: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.ip}}{{ else }}{{ $.Release.Name }}-mysql{{end}}:{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.port}}{{ else }}30130{{end}}"
  727. name: grafana
  728. user: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.username}}{{ else }}root{{end}}"
  729. password: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.password}}{{ else }}{{ .Values.global.password.mysql }}{{end}}"
  730. plugins:
  731. allow_loading_unsigned_plugins: deepflow-querier-datasource,deepflow-apptracing-panel,deepflow-topo-panel,deepflowio-tracing-panel,deepflowio-deepflow-datasource,deepflowio-topo-panel
  732. extraInitContainers:
  733. - name: init-custom-plugins
  734. image: "{{ .Values.global.image.repository }}/deepflowio-init-grafana:v6.4"
  735. imagePullPolicy: "{{ tpl .Values.global.image.pullPolicy . }}"
  736. volumeMounts:
  737. - name: custom-plugins
  738. mountPath: /var/lib/grafana/plugins
  739. - name: init-grafana-ds-dh
  740. image: "{{ .Values.global.image.repository }}/deepflowio-init-grafana-ds-dh:latest"
  741. imagePullPolicy: "{{ tpl .Values.global.image.pullPolicy . }}"
  742. volumeMounts:
  743. - name: deepflow-dashboards
  744. mountPath: /tmp/dashboards
  745. - name: grafana-dashboards-config
  746. mountPath: /etc/grafana/provisioning/dashboards
  747. - name: grafana-datasources-config
  748. mountPath: /etc/grafana/provisioning/datasources
  749. extraEmptyDirMounts:
  750. - name: custom-plugins
  751. mountPath: /var/lib/grafana/plugins
  752. - name: deepflow-dashboards
  753. mountPath: /tmp/dashboards
  754. - name: grafana-dashboards-config
  755. mountPath: /etc/grafana/provisioning/dashboards
  756. - name: grafana-datasources-config
  757. mountPath: /etc/grafana/provisioning/datasources
  758. env:
  759. TZ: "Asia/Shanghai"
  760. DEEPFLOW_REQUEST_URL: 'http://{{ include "deepflow.fullname" . }}-server:20416'
  761. DEEPFLOW_TRACEURL: 'http://{{ include "deepflow.fullname" . }}-app:20418'
  762. MYSQL_URL: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.ip}}{{ else }}{{ $.Release.Name }}-mysql{{end}}:{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.port}}{{ else }}30130{{end}}"
  763. MYSQL_USER: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.username}}{{ else }}root{{end}}"
  764. MYSQL_PASSWORD: "{{ if $.Values.global.externalMySQL.enabled }}{{$.Values.global.externalMySQL.password}}{{ else }}{{ .Values.global.password.mysql }}{{end}}"
  765. CLICKHOUSE_SERVER: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Release.Name }}-external-clickhouse{{ else }}{{ $.Release.Name }}-clickhouse{{end}}"
  766. CLICKHOUSE_USER: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.username }}{{ else }}default{{end}}"
  767. CLICKHOUSE_PASSWORD: "{{ if $.Values.global.externalClickHouse.enabled }}{{ $.Values.global.externalClickHouse.password }}{{ else }}{{ .Values.global.password.clickhouse }}{{end}}"
  768. ingress:
  769. enabled: true
  770. # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
  771. # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
  772. ingressClassName: nginx
  773. # Values can be templated
  774. annotations: {}
  775. # kubernetes.io/ingress.class: nginx
  776. # kubernetes.io/tls-acme: "true"
  777. labels: {}
  778. path: /
  779. # pathType is only for k8s >= 1.1=
  780. pathType: Prefix
  781. hosts:
  782. - deepflow.cestong.com.cn
  783. ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
  784. extraPaths: []
  785. # - path: /*
  786. # backend:
  787. # serviceName: ssl-redirect
  788. # servicePort: use-annotation
  789. ## Or for k8s > 1.19
  790. # - path: /*
  791. # pathType: Prefix
  792. # backend:
  793. # service:
  794. # name: ssl-redirect
  795. # port:
  796. # name: use-annotation
  797. tls: []
  798. # - secretName: chart-example-tls
  799. # hosts:
  800. # - chart-example.local
  801. assertNoLeakedSecrets: false