values.yaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588
  1. ## Global Docker image parameters
  2. ## Please, note that this will override the image parameters, including dependencies, configured to use the global value
  3. ## Current available global Docker image parameters: imageRegistry and imagePullSecrets
  4. ##
  5. # global:
  6. # imageRegistry: myRegistryName
  7. # imagePullSecrets:
  8. # - myRegistryKeySecretName
  9. # storageClass: myStorageClass
  10. ## Bitnami Zookeeper image version
  11. ## ref: https://hub.docker.com/r/bitnami/zookeeper/tags/
  12. ##
  13. image:
  14. registry: docker.io #xxx.com
  15. repository: bitnami/zookeeper # bitnami/zookeeper
  16. tag: 3.7.0-debian-10-r56
  17. #xxx.com/bitnami/zookeeper:3.7.0-debian-10-r56
  18. ## Specify a imagePullPolicy
  19. ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
  20. ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
  21. ##
  22. pullPolicy: IfNotPresent
  23. ## Optionally specify an array of imagePullSecrets.
  24. ## Secrets must be manually created in the namespace.
  25. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  26. ##
  27. # pullSecrets:
  28. # - myRegistryKeySecretName
  29. ## Set to true if you would like to see extra information on logs
  30. ## It turns BASH and/or NAMI debugging in the image
  31. ##
  32. debug: false
  33. ## String to partially override common.names.fullname template (will maintain the release name)
  34. # nameOverride:
  35. ## String to fully override common.names.fullname template
  36. # fullnameOverride:
  37. ## Deployment pod host aliases
  38. ## https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
  39. ##
  40. hostAliases: []
  41. ## Kubernetes Cluster Domain
  42. ##
  43. clusterDomain: cluster.local
  44. ## Extra objects to deploy (value evaluated as a template)
  45. ##
  46. extraDeploy: []
  47. ## Add labels to all the deployed resources
  48. ##
  49. commonLabels: {}
  50. ## Add annotations to all the deployed resources
  51. ##
  52. commonAnnotations: {}
  53. ## Init containers parameters:
  54. ## volumePermissions: Change the owner and group of the persistent volume mountpoint to runAsUser:fsGroup values from the securityContext section.
  55. ##
  56. volumePermissions:
  57. enabled: false
  58. image:
  59. registry: docker.io
  60. repository: bitnami/bitnami-shell
  61. tag: 10-debian-10-r97
  62. pullPolicy: Always
  63. ## Optionally specify an array of imagePullSecrets.
  64. ## Secrets must be manually created in the namespace.
  65. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
  66. ##
  67. # pullSecrets:
  68. # - myRegistryKeySecretName
  69. resources: {}
  70. ## extraVolumes and extraVolumeMounts allows you to mount other volumes
  71. ## Example Use Cases:
  72. ## mount certificates to enable tls
  73. # extraVolumes:
  74. # - name: zookeeper-keystore
  75. # secret:
  76. # defaultMode: 288
  77. # secretName: zookeeper-keystore
  78. # - name: zookeeper-trustsore
  79. # secret:
  80. # defaultMode: 288
  81. # secretName: zookeeper-truststore
  82. # extraVolumeMounts:
  83. # - name: zookeeper-keystore
  84. # mountPath: /certs/keystore
  85. # readOnly: true
  86. # - name: zookeeper-truststore
  87. # mountPath: /certs/truststore
  88. # readOnly: true
  89. ## StatefulSet controller supports automated updates. There are two valid update strategies: RollingUpdate and OnDelete
  90. ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#updating-statefulsets
  91. ##
  92. updateStrategy: RollingUpdate
  93. ## Limits the number of pods of the replicated application that are down simultaneously from voluntary disruptions
  94. ## The PDB will only be created if replicaCount is greater than 1
  95. ## ref: https://kubernetes.io/docs/concepts/workloads/pods/disruptions
  96. ##
  97. podDisruptionBudget:
  98. maxUnavailable: 1
  99. ## Partition update strategy
  100. ## https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#partitions
  101. ##
  102. # rollingUpdatePartition:
  103. ## StatefulSet controller supports relax its ordering guarantees while preserving its uniqueness and identity guarantees. There are two valid pod management policies: OrderedReady and Parallel
  104. ## ref: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/#pod-management-policy
  105. ##
  106. podManagementPolicy: Parallel
  107. ## Number of ZooKeeper nodes
  108. ##
  109. replicaCount: 1
  110. ## Minimal server ID (ZooKeeper myid) value
  111. ## servers increment their ID starting at this minimal value.
  112. ## E.g., with `minServerId=10` and 3 replicas, server IDs will be 10, 11, 12 for z-0, z-1 and z-2 respectively.
  113. ##
  114. minServerId: 1
  115. ## Basic time unit in milliseconds used by ZooKeeper for heartbeats
  116. ##
  117. tickTime: 2000
  118. ## ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader
  119. ##
  120. initLimit: 10
  121. ## How far out of date a server can be from a leader
  122. ##
  123. syncLimit: 5
  124. ## Limits the number of concurrent connections that a single client may make to a single member of the ZooKeeper ensemble
  125. ##
  126. maxClientCnxns: 60
  127. ## A list of comma separated Four Letter Words commands to use
  128. ##
  129. fourlwCommandsWhitelist: srvr, mntr, ruok
  130. ## Allow zookeeper to listen for peers on all IPs
  131. ##
  132. listenOnAllIPs: false
  133. ## Allow to accept connections from unauthenticated users
  134. ##
  135. allowAnonymousLogin: true
  136. autopurge:
  137. ## Retains the snapRetainCount most recent snapshots and the corresponding transaction logs and deletes the rest
  138. ##
  139. snapRetainCount: 3
  140. ## The time interval in hours for which the purge task has to be triggered. Set to a positive integer (1 and above) to enable the auto purging.
  141. ##
  142. purgeInterval: 0
  143. ## Maximum session timeout in milliseconds that the server will allow the client to negotiate. Defaults to 20 times the tickTime.
  144. ##
  145. maxSessionTimeout: 40000
  146. auth:
  147. ## Use existing secret (ignores previous password)
  148. ##
  149. # existingSecret:
  150. ## Enable Zookeeper auth. It uses SASL/Digest-MD5
  151. ##
  152. enabled: false
  153. ## User that will use Zookeeper clients to auth
  154. ##
  155. clientUser:
  156. ## Password that will use Zookeeper clients to auth
  157. ##
  158. clientPassword:
  159. ## Comma, semicolon or whitespace separated list of user to be created. Specify them as a string, for example: "user1,user2,admin"
  160. ##
  161. serverUsers:
  162. ## Comma, semicolon or whitespace separated list of passwords to assign to users when created. Specify them as a string, for example: "pass4user1, pass4user2, pass4admin"
  163. ##
  164. serverPasswords:
  165. ## Size in MB for the Java Heap options (Xmx and XMs). This env var is ignored if Xmx an Xms are configured via JVMFLAGS
  166. ##
  167. heapSize: 1024
  168. ## Log level for the Zookeeper server. ERROR by default. Have in mind if you set it to INFO or WARN the ReadinessProve will produce a lot of logs.
  169. ##
  170. logLevel: ERROR
  171. ## Data log directory. Specifying this option will direct zookeeper to write the transaction log to the dataLogDir rather than the dataDir.
  172. ## This allows a dedicated log device to be used, and helps avoid competition between logging and snaphots.
  173. ## Example:
  174. ## dataLogDir: /bitnami/zookeeper/dataLog
  175. ##
  176. dataLogDir: ''
  177. ## Default JVMFLAGS for the ZooKeeper process
  178. ##
  179. # jvmFlags:
  180. ## Configure ZooKeeper with a custom zoo.cfg file
  181. ##
  182. # config:
  183. ## Namespace for ZooKeeper resources
  184. # namespaceOverride:
  185. ## Kubernetes configuration
  186. ## For minikube, set this to NodePort, elsewhere use LoadBalancer
  187. ##
  188. service:
  189. type: ClusterIP
  190. ## loadBalancerIP for the Zookeper Service (optional, cloud specific)
  191. ## ref: http://kubernetes.io/docs/user-guide/services/#type-loadbalancer
  192. ##
  193. # loadBalancerIP:
  194. port: 2181
  195. followerPort: 2888
  196. electionPort: 3888
  197. ## Specify the nodePort value for the LoadBalancer and NodePort service types.
  198. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
  199. ##
  200. nodePorts:
  201. client: ""
  202. clientTls: ""
  203. publishNotReadyAddresses: true
  204. ## TLS port settings. Previously service.tls.service_port and service.tls.disable_base_client_port
  205. ##
  206. tlsClientPort: 3181
  207. disableBaseClientPort: false
  208. annotations: {}
  209. headless:
  210. annotations: {}
  211. ## Enable SSL/TLS encryption
  212. ##
  213. tls:
  214. client:
  215. enabled: false
  216. ## Create self-signed TLS certificates. Currently only supports PEM certificates.
  217. ##
  218. autoGenerated: false
  219. ## Name of the existing secret containing Kibana server certificates
  220. ##
  221. existingSecret:
  222. ## Keystore and Truststore Path
  223. ##
  224. keystorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.keystore.jks
  225. truststorePath: /opt/bitnami/zookeeper/config/certs/client/zookeeper.truststore.jks
  226. ## Existing secret containing Keystore and truststore passwords
  227. ##
  228. passwordsSecretName:
  229. ## Keystore and Truststore Password
  230. ##
  231. keystorePassword: ''
  232. truststorePassword: ''
  233. quorum:
  234. ## Create self-signed TLS certificates. Currently only supports PEM certificates.
  235. ##
  236. autoGenerated: false
  237. ## Name of the existing secret containing Kibana server certificates
  238. ##
  239. existingSecret:
  240. ## Keystore and Truststore Path
  241. ##
  242. keystorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.keystore.jks
  243. truststorePath: /opt/bitnami/zookeeper/config/certs/quorum/zookeeper.truststore.jks
  244. ## Existing secret containing Keystore and truststore passwords
  245. ##
  246. passwordsSecretName:
  247. ## Keystore and Truststore Password
  248. ##
  249. keystorePassword: ''
  250. truststorePassword: ''
  251. resources:
  252. ## We usually recommend not to specify default resources and to leave this as a conscious
  253. ## choice for the user. This also increases chances charts run on environments with little
  254. ## resources, such as Minikube. If you do want to specify resources, uncomment the following
  255. ## lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  256. ##
  257. limits: {}
  258. ## cpu: 100m
  259. ## memory: 128Mi
  260. ##
  261. requests: {}
  262. ## cpu: 100m
  263. ## memory: 128Mi
  264. ##
  265. ## Service account for Zookeeper to use.
  266. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
  267. ##
  268. serviceAccount:
  269. ## Specifies whether a ServiceAccount should be created
  270. ##
  271. create: false
  272. ## The name of the ServiceAccount to use.
  273. ## If not set and create is true, a name is generated using the common.names.fullname template
  274. # name:
  275. # Allows auto mount of ServiceAccountToken on the serviceAccount created
  276. # Can be set to false if pods using this serviceAccount do not need to use K8s API
  277. automountServiceAccountToken: true
  278. ## Zookeeper Pod Security Context
  279. ##
  280. securityContext:
  281. enabled: true
  282. fsGroup: 1001
  283. runAsUser: 1001
  284. ## Add initContainers to the web pods.
  285. ## Example:
  286. ## initContainers:
  287. ## - name: your-image-name
  288. ## image: your-image
  289. ## imagePullPolicy: Always
  290. ## ports:
  291. ## - name: portname
  292. ## containerPort: 1234
  293. ##
  294. initContainers: []
  295. ## Zookeeper data Persistent Volume Storage Class
  296. ## If defined, storageClassName: <storageClass>
  297. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  298. ## If undefined (the default) or set to null, no storageClassName spec is
  299. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  300. ## GKE, AWS & OpenStack)
  301. ##
  302. persistence:
  303. ## A manually managed Persistent Volume and Claim
  304. ## If defined, PVC must be created manually before volume will be bound
  305. ## The value is evaluated as a template
  306. ##
  307. # existingClaim:
  308. enabled: false
  309. # storageClass: "STORAGECLASS_NAME"
  310. accessModes:
  311. - ReadWriteOnce
  312. size: 8Gi
  313. annotations: {}
  314. ## Selector to match an existing PersistentVolume
  315. ## E.g.
  316. ## selector:
  317. ## matchLabels:
  318. ## app: my-app
  319. ##
  320. selector: {}
  321. dataLogDir:
  322. size: 8Gi
  323. ## A manually managed Persistent Volume and Claim
  324. ## If defined, PVC must be created manually before volume will be bound
  325. ## The value is evaluated as a template
  326. ##
  327. # existingClaim:
  328. ## Selector to match an existing PersistentVolume
  329. ## E.g.
  330. ## selector:
  331. ## matchLabels:
  332. ## app: my-app
  333. ##
  334. selector: {}
  335. ## Pod affinity preset
  336. ## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  337. ## Allowed values: soft, hard
  338. ##
  339. podAffinityPreset: ''
  340. ## Pod anti-affinity preset
  341. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
  342. ## Allowed values: soft, hard
  343. ##
  344. podAntiAffinityPreset: soft
  345. ## Node affinity preset
  346. ## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity
  347. ## Allowed values: soft, hard
  348. ##
  349. nodeAffinityPreset:
  350. ## Node affinity type
  351. ## Allowed values: soft, hard
  352. ##
  353. type: ''
  354. ## Node label key to match
  355. ## E.g.
  356. ## key: "kubernetes.io/e2e-az-name"
  357. ##
  358. key: ''
  359. ## Node label values to match
  360. ## E.g.
  361. ## values:
  362. ## - e2e-az1
  363. ## - e2e-az2
  364. ##
  365. values: []
  366. ## Affinity for pod assignment
  367. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  368. ## Note: podAffinityPreset, podAntiAffinityPreset, and nodeAffinityPreset will be ignored when it's set
  369. ##
  370. affinity: {}
  371. ## Node labels for pod assignment
  372. ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
  373. ##
  374. nodeSelector: {}
  375. ## Tolerations for pod assignment
  376. ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  377. ##
  378. tolerations: []
  379. ## Labels
  380. ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  381. ##
  382. podLabels: {}
  383. ## Annotations
  384. ## Ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  385. ##
  386. podAnnotations: {}
  387. ## Name of the priority class to be used by zookeeper pods, priority class needs to be created beforehand
  388. ## Ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
  389. ##
  390. priorityClassName: ''
  391. ## Scheduler name
  392. ## https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  393. ##
  394. # schedulerName: stork
  395. ## Configure resource requests and limits
  396. ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  397. ##
  398. resources:
  399. requests:
  400. memory: 256Mi
  401. cpu: 250m
  402. ## Configure extra options for liveness and readiness probes
  403. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/#configure-probes)
  404. ##
  405. livenessProbe:
  406. enabled: true
  407. initialDelaySeconds: 30
  408. periodSeconds: 10
  409. timeoutSeconds: 5
  410. failureThreshold: 6
  411. successThreshold: 1
  412. probeCommandTimeout: 2
  413. readinessProbe:
  414. enabled: true
  415. initialDelaySeconds: 5
  416. periodSeconds: 10
  417. timeoutSeconds: 5
  418. failureThreshold: 6
  419. successThreshold: 1
  420. probeCommandTimeout: 2
  421. ## Custom Liveness probes for ZooKeeper
  422. ##
  423. customLivenessProbe: {}
  424. ## Custom Readiness probes for ZooKeeper
  425. ##
  426. customReadinessProbe: {}
  427. ## Network policies
  428. ## Ref: https://kubernetes.io/docs/concepts/services-networking/network-policies/
  429. ##
  430. networkPolicy:
  431. ## Specifies whether a NetworkPolicy should be created
  432. ##
  433. enabled: false
  434. ## The Policy model to apply. When set to false, only pods with the correct
  435. ## client label will have network access to the port Redis(TM) is listening
  436. ## on. When true, zookeeper accept connections from any source
  437. ## (with the correct destination port).
  438. ##
  439. # allowExternal: true
  440. ## Zookeeper Prometheus Exporter configuration
  441. ##
  442. metrics:
  443. enabled: false
  444. ## Zookeeper Prometheus Exporter container port
  445. ##
  446. containerPort: 9141
  447. ## Service configuration
  448. ##
  449. service:
  450. ## Zookeeper Prometheus Exporter service type
  451. ##
  452. type: ClusterIP
  453. ## Zookeeper Prometheus Exporter service port
  454. ##
  455. port: 9141
  456. ## Annotations for the Zookeeper Prometheus Exporter metrics service
  457. ##
  458. annotations:
  459. prometheus.io/scrape: 'true'
  460. prometheus.io/port: '{{ .Values.metrics.service.port }}'
  461. prometheus.io/path: '/metrics'
  462. ## Prometheus Operator ServiceMonitor configuration
  463. ##
  464. serviceMonitor:
  465. enabled: false
  466. ## Namespace for the ServiceMonitor Resource (defaults to the Release Namespace)
  467. ##
  468. namespace:
  469. ## Interval at which metrics should be scraped.
  470. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  471. ##
  472. # interval: 10s
  473. ## Timeout after which the scrape is ended
  474. ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
  475. ##
  476. # scrapeTimeout: 10s
  477. ## ServiceMonitor selector labels
  478. ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
  479. ##
  480. # selector:
  481. # prometheus: my-prometheus
  482. ## Prometheus Operator PrometheusRule configuration
  483. ##
  484. prometheusRule:
  485. enabled: false
  486. ## Namespace for the PrometheusRule Resource (defaults to the Release Namespace)
  487. ##
  488. namespace:
  489. ## PrometheusRule selector labels
  490. ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
  491. ##
  492. # selector:
  493. # prometheus: my-prometheus
  494. ## Some example rules.
  495. ##
  496. rules: []
  497. # - alert: ZookeeperSyncedFollowers
  498. # annotations:
  499. # message: The number of synced followers for the leader node in Zookeeper deployment my-release is less than 2. This usually means that some of the Zookeeper nodes aren't communicating properly. If it doesn't resolve itself you can try killing the pods (one by one).
  500. # expr: max(synced_followers{service="my-release-metrics"}) < 2
  501. # for: 5m
  502. # labels:
  503. # severity: critical
  504. # - alert: ZookeeperOutstandingRequests
  505. # annotations:
  506. # message: The number of outstanding requests for Zookeeper pod {{ $labels.pod }} is greater than 10. This can indicate a performance issue with the Pod or cluster a whole.
  507. # expr: outstanding_requests{service="my-release-metrics"} > 10
  508. # for: 5m
  509. # labels:
  510. # severity: critical