values.yaml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. ## Cassandra image version
  2. ## ref: https://hub.docker.com/r/library/cassandra/
  3. image:
  4. repo: cassandra
  5. tag: 3.11.6
  6. pullPolicy: IfNotPresent
  7. ## Specify ImagePullSecrets for Pods
  8. ## ref: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
  9. # pullSecrets: myregistrykey
  10. ## Specify a service type
  11. ## ref: http://kubernetes.io/docs/user-guide/services/
  12. service:
  13. type: ClusterIP
  14. annotations: ""
  15. ## Use an alternate scheduler, e.g. "stork".
  16. ## ref: https://kubernetes.io/docs/tasks/administer-cluster/configure-multiple-schedulers/
  17. ##
  18. # schedulerName:
  19. ## Persist data to a persistent volume
  20. persistence:
  21. enabled: true
  22. ## cassandra data Persistent Volume Storage Class
  23. ## If defined, storageClassName: <storageClass>
  24. ## If set to "-", storageClassName: "", which disables dynamic provisioning
  25. ## If undefined (the default) or set to null, no storageClassName spec is
  26. ## set, choosing the default provisioner. (gp2 on AWS, standard on
  27. ## GKE, AWS & OpenStack)
  28. ##
  29. # storageClass: "-"
  30. accessMode: ReadWriteOnce
  31. size: 10Gi
  32. ## Configure resource requests and limits
  33. ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  34. ## Minimum memory for development is 4GB and 2 CPU cores
  35. ## Minimum memory for production is 8GB and 4 CPU cores
  36. ## ref: http://docs.datastax.com/en/archived/cassandra/2.0/cassandra/architecture/architecturePlanningHardware_c.html
  37. resources: {}
  38. # requests:
  39. # memory: 4Gi
  40. # cpu: 2
  41. # limits:
  42. # memory: 4Gi
  43. # cpu: 2
  44. ## Change cassandra configuration parameters below:
  45. ## ref: http://docs.datastax.com/en/cassandra/3.0/cassandra/configuration/configCassandra_yaml.html
  46. ## Recommended max heap size is 1/2 of system memory
  47. ## Recommended heap new size is 1/4 of max heap size
  48. ## ref: http://docs.datastax.com/en/cassandra/3.0/cassandra/operations/opsTuneJVM.html
  49. config:
  50. cluster_domain: cluster.local
  51. cluster_name: cassandra
  52. cluster_size: 3
  53. seed_size: 2
  54. num_tokens: 256
  55. # If you want Cassandra to use this datacenter and rack name,
  56. # you need to set endpoint_snitch to GossipingPropertyFileSnitch.
  57. # Otherwise, these values are ignored and datacenter1 and rack1
  58. # are used.
  59. dc_name: DC1
  60. rack_name: RAC1
  61. endpoint_snitch: SimpleSnitch
  62. max_heap_size: 2048M
  63. heap_new_size: 512M
  64. start_rpc: false
  65. ports:
  66. cql: 9042
  67. thrift: 9160
  68. # If a JVM Agent is in place
  69. # agent: 61621
  70. ## Cassandra config files overrides
  71. configOverrides: {}
  72. ## Cassandra docker command overrides
  73. commandOverrides: []
  74. ## Cassandra docker args overrides
  75. argsOverrides: []
  76. ## Custom env variables.
  77. ## ref: https://hub.docker.com/_/cassandra/
  78. env: {}
  79. ## Liveness and Readiness probe values.
  80. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
  81. livenessProbe:
  82. initialDelaySeconds: 90
  83. periodSeconds: 30
  84. timeoutSeconds: 5
  85. successThreshold: 1
  86. failureThreshold: 3
  87. readinessProbe:
  88. initialDelaySeconds: 90
  89. periodSeconds: 30
  90. timeoutSeconds: 5
  91. successThreshold: 1
  92. failureThreshold: 3
  93. address: "${POD_IP}"
  94. ## Configure node selector. Edit code below for adding selector to pods
  95. ## ref: https://kubernetes.io/docs/user-guide/node-selection/
  96. # selector:
  97. # nodeSelector:
  98. # cloud.google.com/gke-nodepool: pool-db
  99. ## Additional pod annotations
  100. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  101. podAnnotations: {}
  102. ## Additional pod labels
  103. ## ref: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
  104. podLabels: {}
  105. ## Additional pod-level settings
  106. podSettings:
  107. # Change this to give pods more time to properly leave the cluster when not using persistent storage.
  108. terminationGracePeriodSeconds: 30
  109. ## Pod distruption budget
  110. podDisruptionBudget: {}
  111. # maxUnavailable: 1
  112. # minAvailable: 2
  113. podManagementPolicy: OrderedReady
  114. updateStrategy:
  115. type: OnDelete
  116. ## Pod Security Context
  117. securityContext:
  118. enabled: false
  119. fsGroup: 999
  120. runAsUser: 999
  121. ## Affinity for pod assignment
  122. ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
  123. affinity: {}
  124. ## Node tolerations for pod assignment
  125. ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  126. tolerations: []
  127. rbac:
  128. # Specifies whether RBAC resources should be created
  129. create: true
  130. serviceAccount:
  131. # Specifies whether a ServiceAccount should be created
  132. create: true
  133. # The name of the ServiceAccount to use.
  134. # If not set and create is true, a name is generated using the fullname template
  135. # name:
  136. # Use host network for Cassandra pods
  137. # You must pass seed list into config.seeds property if set to true
  138. hostNetwork: false
  139. ## Backup cronjob configuration
  140. ## Ref: https://github.com/maorfr/cain
  141. backup:
  142. enabled: false
  143. # Schedule to run jobs. Must be in cron time format
  144. # Ref: https://crontab.guru/
  145. schedule:
  146. - keyspace: keyspace1
  147. cron: "0 7 * * *"
  148. - keyspace: keyspace2
  149. cron: "30 7 * * *"
  150. annotations:
  151. # Example for authorization to AWS S3 using kube2iam
  152. # Can also be done using environment variables
  153. iam.amazonaws.com/role: cain
  154. image:
  155. repository: maorfr/cain
  156. tag: 0.6.0
  157. # Additional arguments for cain
  158. # Ref: https://github.com/maorfr/cain#usage
  159. extraArgs: []
  160. # Add additional environment variables
  161. env:
  162. # Example environment variable required for AWS credentials chain
  163. - name: AWS_REGION
  164. value: us-east-1
  165. resources:
  166. requests:
  167. memory: 1Gi
  168. cpu: 1
  169. limits:
  170. memory: 1Gi
  171. cpu: 1
  172. # Name of the secret containing the credentials of the service account used by GOOGLE_APPLICATION_CREDENTIALS, as a credentials.json file
  173. # google:
  174. # serviceAccountSecret:
  175. # Destination to store the backup artifacts
  176. # Supported cloud storage services: AWS S3, Minio S3, Azure Blob Storage, Google Cloud Storage
  177. # Additional support can added. Visit this repository for details
  178. # Ref: https://github.com/maorfr/skbn
  179. destination: s3://bucket/cassandra
  180. ## Cassandra exported configuration
  181. ## ref: https://github.com/criteo/cassandra_exporter
  182. exporter:
  183. enabled: false
  184. serviceMonitor:
  185. enabled: false
  186. additionalLabels: {}
  187. # prometheus: default
  188. image:
  189. repo: criteord/cassandra_exporter
  190. tag: 2.0.2
  191. port: 5556
  192. jvmOpts: ""
  193. resources: {}
  194. # limits:
  195. # cpu: 1
  196. # memory: 1Gi
  197. # requests:
  198. # cpu: 1
  199. # memory: 1Gi
  200. extraVolumes: []
  201. extraVolumeMounts: []
  202. # extraVolumes and extraVolumeMounts allows you to mount other volumes
  203. # Example Use Case: mount ssl certificates
  204. # extraVolumes:
  205. # - name: cas-certs
  206. # secret:
  207. # defaultMode: 420
  208. # secretName: cas-certs
  209. # extraVolumeMounts:
  210. # - name: cas-certs
  211. # mountPath: /certs
  212. # readOnly: true
  213. extraContainers: []
  214. ## Additional containers to be added
  215. # extraContainers:
  216. # - name: cassandra-sidecar
  217. # image: cassandra-sidecar:latest
  218. # volumeMounts:
  219. # - name: some-mount
  220. # mountPath: /some/path