· 4 years ago · Sep 06, 2021, 11:56 AM
1# Container image settings.
2# Since the image is unique for all microservices, so are image settings.
3
4image:
5 repository: quay.io/cortexproject/cortex
6 tag: v1.9.0
7 pullPolicy: IfNotPresent
8
9 ## Optionally specify an array of imagePullSecrets.
10 ## Secrets must be manually created in the namespace.
11 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
12 ##
13 # pullSecrets:
14 # - myRegistrKeySecretName
15
16# Kubernetes cluster DNS domain
17clusterDomain: cluster.local
18
19tags:
20 blocks-storage-memcached: false
21
22ingress:
23 enabled: false
24 annotations:
25 kubernetes.io/ingress.class: nginx
26 # kubernetes.io/tls-acme: "true"
27 hosts:
28 - host: chart-example.local
29 paths:
30 - /
31 tls: []
32 # - secretName: chart-example-tls
33 # hosts:
34 # - chart-example.local
35
36serviceAccount:
37 create: false
38 name:
39 annotations: {}
40 automountServiceAccountToken: true
41
42useExternalConfig: false
43externalConfigSecretName: 'secret-with-config.yaml'
44externalConfigVersion: '0'
45
46config:
47 auth_enabled: false
48 api:
49 prometheus_http_prefix: '/prometheus'
50 response_compression_enabled: true
51 ingester:
52 max_transfer_retries: 0
53 lifecycler:
54 join_after: 0s
55 final_sleep: 0s
56 num_tokens: 512
57 ring:
58 replication_factor: 3
59 kvstore:
60 store: consul
61 prefix: 'collectors/'
62 consul:
63 host: 'consul-server:8500'
64 http_client_timeout: '20s'
65 consistent_reads: true
66 store_gateway:
67 sharding_enabled: true
68 sharding_ring:
69 kvstore:
70 store: consul
71 prefix: 'collectors/'
72 consul:
73 host: 'consul-server:8500'
74 http_client_timeout: '20s'
75 consistent_reads: true
76 limits:
77 enforce_metric_name: false
78 reject_old_samples: true
79 reject_old_samples_max_age: 168h
80 max_query_lookback: 0s
81 schema:
82 configs:
83 - from: 2020-11-01
84 store: cassandra
85 object_store: cassandra
86 schema: v10
87 index:
88 prefix: index_
89 period: 168h
90 chunks:
91 prefix: chunks_
92 period: 168h
93 server:
94 http_listen_port: 8080
95 grpc_listen_port: 9095
96 grpc_server_max_recv_msg_size: 104857600
97 grpc_server_max_send_msg_size: 104857600
98 grpc_server_max_concurrent_streams: 1000
99 ingester_client:
100 grpc_client_config:
101 max_recv_msg_size: 104857600
102 max_send_msg_size: 104857600
103 # See https://github.com/cortexproject/cortex/blob/master/docs/configuration/config-file-reference.md#storage_config
104 storage:
105 engine: blocks
106 blocks_storage:
107 backend: gcs
108 gcs:
109 bucket_name: 'test-public-bucket-01'
110 bucket_store:
111 sync_dir: "/data"
112 tsdb:
113 dir: "/data"
114
115 chunk_store:
116 max_look_back_period: 0s
117 chunk_cache_config:
118 memcached:
119 expiration: 5m
120 memcached_client:
121 timeout: 1s
122 table_manager:
123 retention_deletes_enabled: false
124 retention_period: 0s
125 index_queries_cache_config:
126 memcached:
127 expiration: 5m
128 memcached_client:
129 timeout: 1s
130 chunk_store:
131 chunk_cache_config:
132 memcached:
133 expiration: 5m
134 memcached_client:
135 timeout: 1s
136 table_manager:
137 retention_deletes_enabled: false
138 retention_period: 0s
139 distributor:
140 shard_by_all_labels: true
141 pool:
142 health_check_ingesters: true
143 memberlist:
144 bind_port: 7946
145 join_members: []
146 ## add here the service name of the memberlist
147 ## if using memberlist discovery, eg:
148 # - cortex-memberlist
149 querier:
150 active_query_tracker_dir: /data/cortex/querier
151 query_ingesters_within: 12h
152 query_range:
153 split_queries_by_interval: 24h
154 align_queries_with_step: true
155 cache_results: true
156 results_cache:
157 cache:
158 memcached:
159 expiration: 1h
160 memcached_client:
161 timeout: 1s
162 ruler:
163 enable_alertmanager_discovery: false
164 enable_api: true
165 storage:
166 type: gcs
167 gcs:
168 bucket_name: "test-public-bucket-01"
169 request_timeout: 50s
170 alertmanager:
171 external_url: '/api/prom/alertmanager'
172 enable_api: true
173 storage:
174 type: gcs
175 gcs:
176 bucket_name: "test-public-bucket-am-04"
177 request_timeout: 50s
178 frontend:
179 # max_outstanding_per_tenant: 1000
180 log_queries_longer_than: 10s
181
182# alertmanager:
183# enabled: false
184# replicas: 1
185# external_url: '/api/prom/alertmanager'
186# sharding_ring:
187# kvstore:
188# store: consul
189# prefix: 'collectors/'
190# consul:
191# host: 'consul-server:8500'
192# http_client_timeout: '20s'
193# consistent_reads: true
194# # storage:
195# # type: "gcs"
196# # gcs:
197# # bucket_name: "cortex-alert-rule"
198
199
200# statefulSet:
201# ## If true, use a statefulset instead of a deployment for pod management.
202# ## This is useful for using a persistent volume for storing silences between restarts
203# ##
204# enabled: false
205
206# service:
207# annotations: {}
208# labels: {}
209
210# serviceMonitor:
211# enabled: false
212# additionalLabels: {}
213# relabelings: []
214# metricRelabelings: []
215
216# resources:
217# limits:
218# cpu: 2
219# memory: 2Gi
220# requests:
221# cpu: 1
222# memory: 1Gi
223
224# ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
225# extraArgs:
226# log.level: debug
227# #ruler.storage.type: "gcs"
228# alertmanager.storage.type: "gcs"
229# alertmanager.storage.gcs.bucketname: test-public-bucket-01
230# alertmanager.storage.gcs.chunk-buffer-size: 0
231
232
233
234# ## Pod Labels
235# podLabels: {}
236
237# ## Pod Annotations
238# podAnnotations:
239# prometheus.io/scrape: 'true'
240# prometheus.io/port: 'http-metrics'
241
242# nodeSelector: {}
243# affinity: {}
244# annotations: {}
245
246# ## DEPRECATED: use persistentVolume.subPath instead
247# persistence:
248# subPath:
249
250# persistentVolume:
251# ## If true and alertmanager.statefulSet.enabled is true,
252# ## Alertmanager will create/use a Persistent Volume Claim
253# ## If false, use emptyDir
254# ##
255# enabled: true
256
257# ## Alertmanager data Persistent Volume Claim annotations
258# ##
259# annotations: {}
260
261# ## Alertmanager data Persistent Volume access modes
262# ## Must match those of existing PV or dynamic provisioner
263# ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
264# ##
265# accessModes:
266# - ReadWriteOnce
267
268# ## Alertmanager data Persistent Volume size
269# ##
270# size: 2Gi
271
272# ## Subdirectory of Alertmanager data Persistent Volume to mount
273# ## Useful if the volume's root directory is not empty
274# ##
275# subPath: ''
276
277# ## Alertmanager data Persistent Volume Storage Class
278# ## If defined, storageClassName: <storageClass>
279# ## If set to "-", storageClassName: "", which disables dynamic provisioning
280# ## If undefined (the default) or set to null, no storageClassName spec is
281# ## set, choosing the default provisioner. (gp2 on AWS, standard on
282# ## GKE, AWS & OpenStack)
283# ##
284# # storageClass: "-"
285
286# startupProbe:
287# httpGet:
288# path: /ready
289# port: http-metrics
290# failureThreshold: 10
291# livenessProbe:
292# httpGet:
293# path: /ready
294# port: http-metrics
295# readinessProbe:
296# httpGet:
297# path: /ready
298# port: http-metrics
299
300# securityContext:
301# {}
302# # fsGroup: 10001
303# # runAsGroup: 10001
304# # runAsNonRoot: true
305# # runAsUser: 10001
306
307# containerSecurityContext:
308# enabled: true
309# readOnlyRootFilesystem: true
310
311# ## Tolerations for pod assignment
312# ## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
313# tolerations: []
314
315# # If not set then a PodDisruptionBudget will not be created
316# podDisruptionBudget:
317# maxUnavailable: 1
318
319# strategy:
320# type: RollingUpdate
321# rollingUpdate:
322# maxSurge: 0
323# maxUnavailable: 1
324# statefulStrategy:
325# type: RollingUpdate
326
327# terminationGracePeriodSeconds: 60
328
329# initContainers: []
330# ## Init containers to be added to the cortex pod.
331# # - name: my-init-container
332# # image: busybox:latest
333# # command: ['sh', '-c', 'echo hello']
334
335# extraContainers: []
336# ## Additional containers to be added to the cortex pod.
337# # - name: reverse-proxy
338# # image: angelbarrera92/basic-auth-reverse-proxy:dev
339# # args:
340# # - "serve"
341# # - "--upstream=http://localhost:3100"
342# # - "--auth-config=/etc/reverse-proxy-conf/authn.yaml"
343# # ports:
344# # - name: http
345# # containerPort: 11811
346# # protocol: TCP
347# # volumeMounts:
348# # - name: reverse-proxy-auth-config
349# # mountPath: /etc/reverse-proxy-conf
350
351# extraVolumes: []
352# ## Additional volumes to the cortex pod.
353# # - name: reverse-proxy-auth-config
354# # secret:
355# # secretName: reverse-proxy-auth-config
356
357# ## Extra volume mounts that will be added to the cortex container
358# extraVolumeMounts: []
359
360# extraPorts: []
361# ## Additional ports to the cortex services. Useful to expose extra container ports.
362# # - port: 11811
363# # protocol: TCP
364# # name: http
365# # targetPort: http
366
367# # Extra env variables to pass to the cortex container
368# env: []
369
370# ## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
371# sidecar:
372# image:
373# repository: quay.io/kiwigrid/k8s-sidecar
374# tag: 1.10.7
375# sha: ""
376# imagePullPolicy: IfNotPresent
377# resources: {}
378# # limits:
379# # cpu: 100m
380# # memory: 100Mi
381# # requests:
382# # cpu: 50m
383# # memory: 50Mi
384# # skipTlsVerify Set to true to skip tls verification for kube api calls
385# # skipTlsVerify: true
386# enableUniqueFilenames: false
387# enabled: false
388# label: cortex_alertmanager
389# watchMethod: null
390# labelValue: null
391# folder: /data
392# defaultFolderName: null
393# searchNamespace: null
394# folderAnnotation: null
395# securityContext:
396# runAsUser: 0
397
398alertmanager:
399
400 extraVolumes:
401 - name: tmp-volume
402 emptyDir: { }
403 - name: cortex-secret
404 secret:
405 secretName: cortex-secret
406 extraVolumeMounts:
407 - name: tmp-volume
408 mountPath: /tmp
409 - name: cortex-secret
410 mountPath: /etc/cortex/google/
411 env:
412 - name: GOOGLE_APPLICATION_CREDENTIALS
413 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
414
415
416 enabled: true
417 replicas: 1
418 statefulSet:
419 enabled: false
420 service:
421 annotations: {}
422 labels: {}
423 serviceMonitor:
424 enabled: false
425 resources:
426 limits:
427 cpu: 200m
428 memory: 256Mi
429 requests:
430 cpu: 10m
431 memory: 32Mi
432 extraArgs:
433 {}
434 podLabels: {}
435 podAnnotations:
436 prometheus.io/scrape: 'true'
437 prometheus.io/port: 'http-metrics'
438 nodeSelector: {}
439 affinity: {}
440 annotations: {}
441 persistence:
442 subPath:
443 persistentVolume:
444 enabled: true
445 annotations: {}
446 accessModes:
447 - ReadWriteOnce
448 size: 2Gi
449 subPath: ''
450 livenessProbe:
451 httpGet:
452 path: /ready
453 port: http-metrics
454 initialDelaySeconds: 45
455 readinessProbe:
456 httpGet:
457 path: /ready
458 port: http-metrics
459 initialDelaySeconds: 45
460 securityContext:
461 {}
462 tolerations: []
463 podDisruptionBudget: {}
464 strategy:
465 type: RollingUpdate
466 rollingUpdate:
467 maxSurge: 0
468 maxUnavailable: 1
469 statefulStrategy:
470 type: RollingUpdate
471 terminationGracePeriodSeconds: 60
472 initContainers: []
473 extraContainers: []
474 # extraVolumes: []
475 # extraVolumeMounts: []
476 extraPorts: []
477 # env: []
478
479distributor:
480 replicas: 1
481
482 service:
483 annotations: {}
484 labels: {}
485
486 serviceMonitor:
487 enabled: false
488 additionalLabels: {}
489 relabelings: []
490 metricRelabelings: []
491
492 resources:
493 limits:
494 cpu: 500m
495 memory: 200Mi
496 requests:
497 cpu: 500m
498 memory: 100Mi
499
500 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
501 extraArgs:
502 log.level: debug
503
504 ## Pod Labels
505 podLabels: {}
506
507 ## Pod Annotations
508 podAnnotations:
509 prometheus.io/scrape: 'true'
510 prometheus.io/port: 'http-metrics'
511
512 nodeSelector: {}
513 affinity:
514 podAntiAffinity:
515 preferredDuringSchedulingIgnoredDuringExecution:
516 - weight: 100
517 podAffinityTerm:
518 labelSelector:
519 matchExpressions:
520 - key: app.kubernetes.io/component
521 operator: In
522 values:
523 - distributor
524 topologyKey: 'kubernetes.io/hostname'
525
526 annotations: {}
527 persistence:
528 subPath:
529
530 startupProbe:
531 httpGet:
532 path: /ready
533 port: http-metrics
534 failureThreshold: 10
535 livenessProbe:
536 httpGet:
537 path: /ready
538 port: http-metrics
539 readinessProbe:
540 httpGet:
541 path: /ready
542 port: http-metrics
543
544 securityContext: {}
545
546 containerSecurityContext:
547 enabled: true
548 readOnlyRootFilesystem: true
549
550 strategy:
551 type: RollingUpdate
552 rollingUpdate:
553 maxSurge: 0
554 maxUnavailable: 1
555
556 terminationGracePeriodSeconds: 60
557
558 tolerations: []
559 podDisruptionBudget:
560 maxUnavailable: 1
561 initContainers: []
562 extraContainers: []
563 # extraVolumes: []
564 # extraVolumeMounts: []
565 extraPorts: []
566 # env: []
567
568ingester:
569
570 extraVolumes:
571 - name: cortex-secret
572 secret:
573 secretName: cortex-secret
574 extraVolumeMounts:
575 - name: cortex-secret
576 mountPath: /etc/cortex/google/
577 env:
578 - name: GOOGLE_APPLICATION_CREDENTIALS
579 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
580
581
582 replicas: 2
583
584 statefulSet:
585 ## If true, use a statefulset instead of a deployment for pod management.
586 ## This is useful when using WAL
587 ##
588 enabled: false
589
590 service:
591 annotations: {}
592 labels: {}
593
594 serviceMonitor:
595 enabled: false
596 additionalLabels: {}
597 relabelings: []
598 metricRelabelings: []
599
600 resources:
601 limits:
602 cpu: 500m
603 memory: 200Mi
604 requests:
605 cpu: 500m
606 memory: 200Mi
607
608 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
609 extraArgs:
610 log.level: debug
611
612 ## Pod Labels
613 podLabels: {}
614
615 ## Pod Annotations
616 podAnnotations:
617 prometheus.io/scrape: 'true'
618 prometheus.io/port: 'http-metrics'
619
620 # nodeSelector:
621 service: 'cortex-ingester'
622 # affinity:
623 # podAntiAffinity:
624 # preferredDuringSchedulingIgnoredDuringExecution:
625 # - weight: 100
626 # podAffinityTerm:
627 # labelSelector:
628 # matchExpressions:
629 # - key: app.kubernetes.io/component
630 # operator: In
631 # values:
632 # - ingester
633 # topologyKey: 'kubernetes.io/hostname'
634
635 annotations: {}
636
637 ## DEPRECATED: use persistentVolume.subPath instead
638 persistence:
639 subPath:
640
641 persistentVolume:
642 ## If true and ingester.statefulSet.enabled is true,
643 ## Ingester will create/use a Persistent Volume Claim
644 ## If false, use emptyDir
645 ##
646 enabled: true
647
648 ## Ingester data Persistent Volume Claim annotations
649 ##
650 annotations: {}
651
652 ## Ingester data Persistent Volume access modes
653 ## Must match those of existing PV or dynamic provisioner
654 ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
655 ##
656 accessModes:
657 - ReadWriteOnce
658
659 ## Ingester data Persistent Volume size
660 ##
661 size: 200Gi
662
663 ## Subdirectory of Ingester data Persistent Volume to mount
664 ## Useful if the volume's root directory is not empty
665 ##
666 subPath: ''
667
668 ## Ingester data Persistent Volume Storage Class
669 ## If defined, storageClassName: <storageClass>
670 ## If set to "-", storageClassName: "", which disables dynamic provisioning
671 ## If undefined (the default) or set to null, no storageClassName spec is
672 ## set, choosing the default provisioner. (gp2 on AWS, standard on
673 ## GKE, AWS & OpenStack)
674 ##
675 # storageClass: "-"
676
677 startupProbe:
678 # WAL Replay can take a long time. Increasing failureThreshold for ~30 min of time until killed
679 failureThreshold: 60
680 initialDelaySeconds: 120
681 periodSeconds: 30
682 httpGet:
683 path: /ready
684 port: http-metrics
685 scheme: HTTP
686 livenessProbe:
687 httpGet:
688 path: /ready
689 port: http-metrics
690 scheme: HTTP
691 readinessProbe:
692 httpGet:
693 path: /ready
694 port: http-metrics
695
696 securityContext: {}
697
698 containerSecurityContext:
699 enabled: true
700 readOnlyRootFilesystem: true
701
702 strategy:
703 type: RollingUpdate
704 rollingUpdate:
705 maxSurge: 0
706 maxUnavailable: 1
707 statefulStrategy:
708 type: RollingUpdate
709
710 terminationGracePeriodSeconds: 240
711
712 tolerations: []
713 podDisruptionBudget:
714 maxUnavailable: 1
715 initContainers: []
716 extraContainers: []
717 # extraVolumes: []
718 # extraVolumeMounts: []
719 extraPorts: []
720 # env: []
721
722ruler:
723 extraVolumes:
724 - name: cortex-secret
725 secret:
726 secretName: cortex-secret
727 extraVolumeMounts:
728 - name: cortex-secret
729 mountPath: /etc/cortex/google/
730 env:
731 - name: GOOGLE_APPLICATION_CREDENTIALS
732 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
733
734 enabled: true
735 replicas: 1
736
737 enable_sharding: true
738
739 enable_alertmanager_discovery: false
740
741 service:
742 annotations: {}
743 labels: {}
744
745 serviceMonitor:
746 enabled: false
747 additionalLabels: {}
748 relabelings: []
749 metricRelabelings: []
750
751 resources:
752 limits:
753 cpu: 500m
754 memory: 200Mi
755 requests:
756 cpu: 100m
757 memory: 200Mi
758
759 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
760 extraArgs:
761 log.level: debug
762 ruler.storage.type: "gcs"
763 ruler.storage.gcs.bucketname: "test-public-bucket-01"
764 # ruler.storage.gcs.chunk-buffer-size: 0
765
766
767 ## Pod Labels
768 podLabels: {}
769
770 ## Pod Annotations
771 podAnnotations:
772 prometheus.io/scrape: 'true'
773 prometheus.io/port: 'http-metrics'
774
775 nodeSelector: {}
776 affinity: {}
777 annotations: {}
778 persistence:
779 subPath:
780
781 startupProbe:
782 httpGet:
783 path: /ready
784 port: http-metrics
785 failureThreshold: 10
786 livenessProbe:
787 httpGet:
788 path: /ready
789 port: http-metrics
790 readinessProbe:
791 httpGet:
792 path: /ready
793 port: http-metrics
794
795 securityContext: {}
796
797 containerSecurityContext:
798 enabled: true
799 readOnlyRootFilesystem: true
800
801 strategy:
802 type: RollingUpdate
803 rollingUpdate:
804 maxSurge: 0
805 maxUnavailable: 1
806
807 terminationGracePeriodSeconds: 180
808
809 tolerations: []
810 podDisruptionBudget:
811 maxUnavailable: 1
812 initContainers: []
813 extraContainers: []
814 # extraVolumes: []
815 # extraVolumeMounts: []
816 extraPorts: []
817 # env: []
818 # allow configuring rules via configmap in case you don't want to use the configs db
819 directories: {}
820 # tenant_foo:
821 # rules1.txt: |
822 # groups:
823 # - name: should_fire
824 # rules:
825 # - alert: HighPercentageError
826 # expr: |
827 # sum(rate({app="foo", env="production"} |= "error" [5m])) by (job)
828 # /
829 # sum(rate({app="foo", env="production"}[5m])) by (job)
830 # > 0.05
831 # for: 10m
832 # labels:
833 # severity: warning
834 # annotations:
835 # summary: High error rate
836
837 ## Sidecars that collect the configmaps with specified label and stores the included files them into the respective folders
838 sidecar:
839 image:
840 repository: quay.io/kiwigrid/k8s-sidecar
841 tag: 1.10.7
842 sha: ""
843 imagePullPolicy: IfNotPresent
844 resources: {}
845 # limits:
846 # cpu: 100m
847 # memory: 100Mi
848 # requests:
849 # cpu: 50m
850 # memory: 50Mi
851 # skipTlsVerify Set to true to skip tls verification for kube api calls
852 # skipTlsVerify: true
853 enableUniqueFilenames: false
854 enabled: false
855 # label that the configmaps with rules are marked with
856 label: cortex_rules
857 watchMethod: null
858 # value of label that the configmaps with rules are set to
859 labelValue: null
860 # folder in the pod that should hold the collected rules (unless `defaultFolderName` is set)
861 folder: /tmp/rules
862 # The default folder name, it will create a subfolder under the `folder` and put rules in there instead
863 defaultFolderName: null
864 # If specified, the sidecar will search for rules config-maps inside this namespace.
865 # Otherwise the namespace in which the sidecar is running will be used.
866 # It's also possible to specify ALL to search in all namespaces
867 searchNamespace: null
868 # If specified, the sidecar will look for annotation with this name to create folder and put graph here.
869 # You can use this parameter together with `provider.foldersFromFilesStructure`to annotate configmaps and create folder structure.
870 folderAnnotation: null
871 securityContext:
872 runAsUser: 0
873 # running the sidecar will also run as root
874 # provider configuration that lets cortex manage the rules
875
876ruler_storage:
877 extraArgs:
878 log.level: debug
879 ruler_storage.backend: "gcs"
880 ruler-storage.gcs.bucket-name: "test-public-bucket-01"
881
882alertmanager_storage:
883 extraArgs:
884 log.level: debug
885 alertmanager_storage.backend: "gcs"
886 alertmanager-storage.gcs.bucket-name: "test-public-bucket-am-04"
887
888
889frontend:
890 log_queries_longer_than: 10s
891 compress_responses: true
892
893rbac:
894 create: true
895 pspEnabled: true
896
897
898querier:
899
900 extraVolumes:
901 - name: cortex-secret
902 secret:
903 secretName: cortex-secret
904 extraVolumeMounts:
905 - name: cortex-secret
906 mountPath: /etc/cortex/google/
907 env:
908 - name: GOOGLE_APPLICATION_CREDENTIALS
909 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
910
911
912 replicas: 1
913
914 service:
915 annotations: {}
916 labels: {}
917
918 serviceMonitor:
919 enabled: false
920 additionalLabels: {}
921 relabelings: []
922 metricRelabelings: []
923
924 resources:
925 limits:
926 cpu: 500m
927 memory: 100Mi
928 requests:
929 cpu: 100m
930 memory: 100Mi
931 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
932 extraArgs:
933 log.level: debug
934
935 ## Pod Labels
936 podLabels: {}
937
938 ## Pod Annotations
939 podAnnotations:
940 prometheus.io/scrape: 'true'
941 prometheus.io/port: 'http-metrics'
942
943 nodeSelector: {}
944 affinity:
945 podAntiAffinity:
946 preferredDuringSchedulingIgnoredDuringExecution:
947 - weight: 100
948 podAffinityTerm:
949 labelSelector:
950 matchExpressions:
951 - key: app.kubernetes.io/component
952 operator: In
953 values:
954 - querier
955 topologyKey: 'kubernetes.io/hostname'
956
957 annotations: {}
958 persistence:
959 subPath:
960
961 startupProbe:
962 httpGet:
963 path: /ready
964 port: http-metrics
965 failureThreshold: 10
966 livenessProbe:
967 httpGet:
968 path: /ready
969 port: http-metrics
970 readinessProbe:
971 httpGet:
972 path: /ready
973 port: http-metrics
974
975 securityContext: {}
976
977 containerSecurityContext:
978 enabled: true
979 readOnlyRootFilesystem: true
980
981 strategy:
982 type: RollingUpdate
983 rollingUpdate:
984 maxSurge: 0
985 maxUnavailable: 1
986
987 terminationGracePeriodSeconds: 180
988
989 tolerations: []
990 podDisruptionBudget:
991 maxUnavailable: 1
992 initContainers: []
993 extraContainers: []
994 # extraVolumes: []
995 # extraVolumeMounts: []
996 extraPorts: []
997 # env: []
998
999query_frontend:
1000 replicas: 1
1001
1002 service:
1003 annotations: {}
1004 labels: {}
1005
1006 serviceMonitor:
1007 enabled: false
1008 additionalLabels: {}
1009 relabelings: []
1010 metricRelabelings: []
1011
1012 resources:
1013 limits:
1014 cpu: 500m
1015 memory: 200Mi
1016 requests:
1017 cpu: 200m
1018 memory: 200Mi
1019 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1020 extraArgs:
1021 log.level: debug
1022
1023 ## Pod Labels
1024 podLabels: {}
1025
1026 ## Pod Annotations
1027 podAnnotations:
1028 prometheus.io/scrape: 'true'
1029 prometheus.io/port: 'http-metrics'
1030
1031 nodeSelector: {}
1032 affinity:
1033 podAntiAffinity:
1034 preferredDuringSchedulingIgnoredDuringExecution:
1035 - weight: 100
1036 podAffinityTerm:
1037 labelSelector:
1038 matchExpressions:
1039 - key: app.kubernetes.io/component
1040 operator: In
1041 values:
1042 - query-frontend
1043 topologyKey: 'kubernetes.io/hostname'
1044
1045 annotations: {}
1046 persistence:
1047 subPath:
1048
1049 startupProbe:
1050 httpGet:
1051 path: /ready
1052 port: http-metrics
1053 failureThreshold: 10
1054 livenessProbe:
1055 httpGet:
1056 path: /ready
1057 port: http-metrics
1058 readinessProbe:
1059 httpGet:
1060 path: /ready
1061 port: http-metrics
1062
1063 securityContext: {}
1064 containerSecurityContext:
1065 enabled: true
1066 readOnlyRootFilesystem: true
1067
1068 strategy:
1069 type: RollingUpdate
1070 rollingUpdate:
1071 maxSurge: 0
1072 maxUnavailable: 1
1073
1074 terminationGracePeriodSeconds: 180
1075
1076 tolerations: []
1077 podDisruptionBudget:
1078 maxUnavailable: 1
1079 initContainers: []
1080 extraContainers: []
1081 # extraVolumes: []
1082 # extraVolumeMounts: []
1083 extraPorts: []
1084 # env: []
1085
1086table_manager:
1087 replicas: 1
1088
1089 service:
1090 annotations: {}
1091 labels: {}
1092
1093 serviceMonitor:
1094 enabled: false
1095 additionalLabels: {}
1096 relabelings: []
1097 metricRelabelings: []
1098
1099 resources: {}
1100 # limits:
1101 # cpu: 1
1102 # memory: 1Gi
1103 # requests:
1104 # cpu: 10m
1105 # memory: 32Mi
1106
1107 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1108 extraArgs:
1109 {}
1110 # log.level: debug
1111
1112 ## Pod Labels
1113 podLabels: {}
1114
1115 ## Pod Annotations
1116 podAnnotations:
1117 prometheus.io/scrape: 'true'
1118 prometheus.io/port: 'http-metrics'
1119
1120 nodeSelector: {}
1121 affinity: {}
1122 annotations: {}
1123 persistence:
1124 subPath:
1125
1126 startupProbe:
1127 httpGet:
1128 path: /ready
1129 port: http-metrics
1130 failureThreshold: 10
1131 livenessProbe:
1132 httpGet:
1133 path: /ready
1134 port: http-metrics
1135 readinessProbe:
1136 httpGet:
1137 path: /ready
1138 port: http-metrics
1139
1140 securityContext: {}
1141
1142 containerSecurityContext:
1143 enabled: true
1144 readOnlyRootFilesystem: true
1145
1146 strategy:
1147 type: RollingUpdate
1148 rollingUpdate:
1149 maxSurge: 0
1150 maxUnavailable: 1
1151
1152 terminationGracePeriodSeconds: 180
1153
1154 tolerations: []
1155 podDisruptionBudget:
1156 maxUnavailable: 1
1157 initContainers: []
1158 extraContainers: []
1159 # extraVolumes: []
1160 # extraVolumeMounts: []
1161 extraPorts: []
1162 # env: []
1163
1164configs:
1165 enabled: false
1166 replicas: 1
1167
1168 service:
1169 annotations: {}
1170 labels: {}
1171
1172 serviceMonitor:
1173 enabled: false
1174 additionalLabels: {}
1175 relabelings: []
1176 metricRelabelings: []
1177
1178 resources: {}
1179 # limits:
1180 # cpu: 1
1181 # memory: 1Gi
1182 # requests:
1183 # cpu: 10m
1184 # memory: 32Mi
1185
1186 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1187 extraArgs:
1188 {}
1189 # log.level: debug
1190
1191 ## Pod Labels
1192 podLabels: {}
1193
1194 ## Pod Annotations
1195 podAnnotations:
1196 prometheus.io/scrape: 'true'
1197 prometheus.io/port: 'http-metrics'
1198
1199 nodeSelector: {}
1200 affinity: {}
1201 annotations: {}
1202 persistence:
1203 subPath:
1204
1205 startupProbe:
1206 httpGet:
1207 path: /ready
1208 port: http-metrics
1209 failureThreshold: 10
1210 livenessProbe:
1211 httpGet:
1212 path: /ready
1213 port: http-metrics
1214 readinessProbe:
1215 httpGet:
1216 path: /ready
1217 port: http-metrics
1218
1219 securityContext: {}
1220
1221 containerSecurityContext:
1222 enabled: true
1223 readOnlyRootFilesystem: true
1224
1225 strategy:
1226 type: RollingUpdate
1227 rollingUpdate:
1228 maxSurge: 0
1229 maxUnavailable: 1
1230
1231 terminationGracePeriodSeconds: 180
1232
1233 tolerations: []
1234 podDisruptionBudget:
1235 maxUnavailable: 1
1236 initContainers: []
1237 extraContainers: []
1238 # extraVolumes: []
1239 # extraVolumeMounts: []
1240 extraPorts: []
1241 # env: []
1242
1243nginx:
1244 enabled: true
1245 replicas: 1
1246 http_listen_port: 80
1247 config:
1248 dnsResolver: kube-dns.kube-system.svc.cluster.local
1249 ## ref: http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
1250 client_max_body_size: 1M
1251 setHeaders: {}
1252 # X-Scope-OrgID: 0
1253 image:
1254 repository: nginx
1255 tag: 1.21
1256 pullPolicy: IfNotPresent
1257
1258 service:
1259 type: ClusterIP
1260 annotations: {}
1261 labels: {}
1262
1263 serviceMonitor:
1264 enabled: false
1265 additionalLabels: {}
1266 relabelings: []
1267 metricRelabelings: []
1268
1269 resources:
1270 limits:
1271 cpu: 500m
1272 memory: 200Mi
1273 requests:
1274 cpu: 200m
1275 memory: 200Mi
1276
1277 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1278 # extraArgs:
1279 # {}
1280 # # log.level: debug
1281
1282 # ## Pod Labels
1283 # podLabels: {}
1284
1285 # ## Pod Annotations
1286 # podAnnotations:
1287 # prometheus.io/scrape: ''
1288 # prometheus.io/port: 'http-metrics'
1289
1290 # nodeSelector: {}
1291 # affinity: {}
1292 # annotations: {}
1293 # persistence:
1294 # subPath:
1295
1296 # startupProbe:
1297 # httpGet:
1298 # path: /healthz
1299 # port: http-metrics
1300 # failureThreshold: 10
1301 # livenessProbe:
1302 # httpGet:
1303 # path: /healthz
1304 # port: http-metrics
1305 # readinessProbe:
1306 # httpGet:
1307 # path: /healthz
1308 # port: http-metrics
1309
1310 # securityContext: {}
1311
1312 # containerSecurityContext:
1313 # enabled: true
1314 # readOnlyRootFilesystem: false
1315
1316 # strategy:
1317 # type: RollingUpdate
1318 # rollingUpdate:
1319 # maxSurge: 0
1320 # maxUnavailable: 1
1321
1322 # terminationGracePeriodSeconds: 10
1323
1324 # tolerations: []
1325 # podDisruptionBudget:
1326 # maxUnavailable: 1
1327 # initContainers: []
1328 # extraContainers: []
1329 # # extraVolumes: []
1330 # # extraVolumeMounts: []
1331 # extraPorts: []
1332 # # env: []
1333
1334store_gateway:
1335
1336 extraVolumes:
1337 - name: cortex-secret
1338 secret:
1339 secretName: cortex-secret
1340 extraVolumeMounts:
1341 - name: cortex-secret
1342 mountPath: /etc/cortex/google/
1343 env:
1344 - name: GOOGLE_APPLICATION_CREDENTIALS
1345 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
1346
1347
1348 replicas: 1
1349
1350 service:
1351 annotations: {}
1352 labels: {}
1353
1354 serviceMonitor:
1355 enabled: false
1356 additionalLabels: {}
1357 relabelings: []
1358 metricRelabelings: []
1359
1360 resources:
1361 limits:
1362 cpu: 500m
1363 memory: 200Mi
1364 requests:
1365 cpu: 200m
1366 memory: 200Mi
1367
1368 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1369 extraArgs:
1370 {}
1371 # log.level: debug
1372
1373 ## Pod Labels
1374 podLabels: {}
1375
1376 ## Pod Annotations
1377 podAnnotations:
1378 prometheus.io/scrape: 'true'
1379 prometheus.io/port: 'http-metrics'
1380
1381 nodeSelector: {}
1382 affinity:
1383 podAntiAffinity:
1384 preferredDuringSchedulingIgnoredDuringExecution:
1385 - weight: 100
1386 podAffinityTerm:
1387 labelSelector:
1388 matchExpressions:
1389 - key: app.kubernetes.io/component
1390 operator: In
1391 values:
1392 - store-gateway
1393 topologyKey: 'kubernetes.io/hostname'
1394
1395 annotations: {}
1396
1397 persistentVolume:
1398 ## If true Store-gateway will create/use a Persistent Volume Claim
1399 ## If false, use emptyDir
1400 ##
1401 enabled: true
1402
1403 ## Store-gateway data Persistent Volume Claim annotations
1404 ##
1405 annotations: {}
1406
1407 ## Store-gateway data Persistent Volume access modes
1408 ## Must match those of existing PV or dynamic provisioner
1409 ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
1410 ##
1411 accessModes:
1412 - ReadWriteOnce
1413
1414 ## Store-gateway data Persistent Volume size
1415 ##
1416 size: 200Gi
1417
1418 ## Subdirectory of Store-gateway data Persistent Volume to mount
1419 ## Useful if the volume's root directory is not empty
1420 ##
1421 subPath: ''
1422
1423 ## Store-gateway data Persistent Volume Storage Class
1424 ## If defined, storageClassName: <storageClass>
1425 ## If set to "-", storageClassName: "", which disables dynamic provisioning
1426 ## If undefined (the default) or set to null, no storageClassName spec is
1427 ## set, choosing the default provisioner. (gp2 on AWS, standard on
1428 ## GKE, AWS & OpenStack)
1429 ##
1430 # storageClass: "-"
1431
1432 startupProbe:
1433 # Increasing failureThreshold for ~30 min of time until killed
1434 failureThreshold: 60
1435 initialDelaySeconds: 120
1436 periodSeconds: 30
1437 httpGet:
1438 path: /ready
1439 port: http-metrics
1440 scheme: HTTP
1441 livenessProbe:
1442 httpGet:
1443 path: /ready
1444 port: http-metrics
1445 scheme: HTTP
1446 readinessProbe:
1447 httpGet:
1448 path: /ready
1449 port: http-metrics
1450
1451 securityContext: {}
1452
1453 containerSecurityContext:
1454 enabled: true
1455 readOnlyRootFilesystem: true
1456
1457 strategy:
1458 type: RollingUpdate
1459
1460 terminationGracePeriodSeconds: 240
1461
1462 tolerations: []
1463 podDisruptionBudget:
1464 maxUnavailable: 1
1465 initContainers: []
1466 extraContainers: []
1467 # extraVolumes: []
1468 # extraVolumeMounts: []
1469 extraPorts: []
1470 # env: []
1471
1472compactor:
1473
1474 extraVolumes:
1475 - name: cortex-secret
1476 secret:
1477 secretName: cortex-secret
1478 extraVolumeMounts:
1479 - name: cortex-secret
1480 mountPath: /etc/cortex/google/
1481 env:
1482 - name: GOOGLE_APPLICATION_CREDENTIALS
1483 value: "/etc/cortex/google/sharechat-dev-57974d410917.json"
1484
1485
1486 enabled: true
1487 replicas: 1
1488
1489 service:
1490 annotations: {}
1491 labels: {}
1492
1493 serviceMonitor:
1494 enabled: false
1495 additionalLabels: {}
1496 relabelings: []
1497 metricRelabelings: []
1498
1499 resources: {}
1500 # limits:
1501 # cpu: 1
1502 # memory: 1Gi
1503 # requests:
1504 # cpu: 100m
1505 # memory: 512Mi
1506
1507 ## Additional Cortex container arguments, e.g. log level (debug, info, warn, error)
1508 extraArgs:
1509 {}
1510 # log.level: debug
1511
1512 ## Pod Labels
1513 podLabels: {}
1514
1515 ## Pod Annotations
1516 podAnnotations:
1517 prometheus.io/scrape: 'true'
1518 prometheus.io/port: 'http-metrics'
1519
1520 nodeSelector: {}
1521 affinity:
1522 podAntiAffinity:
1523 preferredDuringSchedulingIgnoredDuringExecution:
1524 - weight: 100
1525 podAffinityTerm:
1526 labelSelector:
1527 matchExpressions:
1528 - key: app.kubernetes.io/component
1529 operator: In
1530 values:
1531 - compactor
1532 topologyKey: 'kubernetes.io/hostname'
1533
1534 annotations: {}
1535
1536 persistentVolume:
1537 ## If true compactor will create/use a Persistent Volume Claim
1538 ## If false, use emptyDir
1539 ##
1540 enabled: true
1541
1542 ## compactor data Persistent Volume Claim annotations
1543 ##
1544 annotations: {}
1545
1546 ## compactor data Persistent Volume access modes
1547 ## Must match those of existing PV or dynamic provisioner
1548 ## Ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
1549 ##
1550 accessModes:
1551 - ReadWriteOnce
1552
1553 ## compactor data Persistent Volume size
1554 ##
1555 size: 2Gi
1556
1557 ## Subdirectory of compactor data Persistent Volume to mount
1558 ## Useful if the volume's root directory is not empty
1559 ##
1560 subPath: ''
1561
1562 ## compactor data Persistent Volume Storage Class
1563 ## If defined, storageClassName: <storageClass>
1564 ## If set to "-", storageClassName: "", which disables dynamic provisioning
1565 ## If undefined (the default) or set to null, no storageClassName spec is
1566 ## set, choosing the default provisioner. (gp2 on AWS, standard on
1567 ## GKE, AWS & OpenStack)
1568 ##
1569 # storageClass: "-"
1570
1571 startupProbe:
1572 # Increasing failureThreshold for ~30 min of time until killed
1573 failureThreshold: 60
1574 initialDelaySeconds: 120
1575 periodSeconds: 30
1576 httpGet:
1577 path: /ready
1578 port: http-metrics
1579 scheme: HTTP
1580 livenessProbe:
1581 httpGet:
1582 path: /ready
1583 port: http-metrics
1584 scheme: HTTP
1585 readinessProbe:
1586 httpGet:
1587 path: /ready
1588 port: http-metrics
1589
1590 securityContext: {}
1591 containerSecurityContext:
1592 enabled: true
1593 readOnlyRootFilesystem: true
1594
1595 strategy:
1596 type: RollingUpdate
1597
1598 terminationGracePeriodSeconds: 240
1599
1600 tolerations: []
1601 podDisruptionBudget:
1602 maxUnavailable: 1
1603 initContainers: []
1604 extraContainers: []
1605 # extraVolumes: []
1606 # extraVolumeMounts: []
1607 extraPorts: []
1608 # env: []
1609
1610# chunk caching
1611memcached:
1612 enabled: false
1613 architecture: "high-availability"
1614 replicaCount: 2
1615 pdbMinAvailable: 1
1616 memcached:
1617 maxItemMemory: 3840
1618 extraArgs:
1619 - -I 32m
1620 threads: 32
1621 resources: {}
1622 # requests:
1623 # memory: 1Gi
1624 # cpu: 10m
1625 # limits:
1626 # memory: 4Gi
1627 # cpu: 1
1628 metrics:
1629 enabled: true
1630 # tolerations: {}
1631 # - key: "dedicated"
1632 # operator: "Equal"
1633 # value: "cortex-memcached"
1634 # effect: "NoSchedule"
1635 # affinity: {}
1636 # nodeAffinity:
1637 # requiredDuringSchedulingIgnoredDuringExecution:
1638 # nodeSelectorTerms:
1639 # - matchExpressions:
1640 # - key: dedicated
1641 # operator: In
1642 # values:
1643 # - cortex-memcached
1644
1645# index read caching
1646memcached-index-read:
1647 enabled: false
1648 architecture: "high-availability"
1649 replicaCount: 2
1650 # pdbMinAvailable: 1
1651 # image: memcached:1.5.7-alpine
1652 memcached:
1653 maxItemMemory: 3840
1654 extraArgs:
1655 - -I 32m
1656 threads: 32
1657 resources: {}
1658 # requests:
1659 # memory: 1Gi
1660 # cpu: 10m
1661 # limits:
1662 # memory: 4Gi
1663 # cpu: 1
1664 metrics:
1665 enabled: true
1666 # tolerations: []
1667 # - key: "dedicated"
1668 # operator: "Equal"
1669 # value: "cortex-memcached"
1670 # effect: "NoSchedule"
1671 # affinity: {}
1672 # nodeAffinity:
1673 # requiredDuringSchedulingIgnoredDuringExecution:
1674 # nodeSelectorTerms:
1675 # - matchExpressions:
1676 # - key: dedicated
1677 # operator: In
1678 # values:
1679 # - cortex-memcached
1680
1681# index write caching
1682memcached-index-write:
1683 enabled: false
1684 architecture: "high-availability"
1685 replicaCount: 2
1686 # dpdbMinAvailable: 1
1687 # image: memcached:1.5.7-alpine
1688 memcached:
1689 maxItemMemory: 3840
1690 extraArgs:
1691 - -I 32m
1692 threads: 32
1693 resources: {}
1694 # requests:
1695 # memory: 1Gi
1696 # cpu: 10m
1697 # limits:
1698 # memory: 4Gi
1699 # cpu: 1
1700 metrics:
1701 enabled: true
1702 # tolerations: []
1703 # - key: "dedicated"
1704 # operator: "Equal"
1705 # value: "cortex-memcached"
1706 # effect: "NoSchedule"
1707 # affinity: {}
1708 # nodeAffinity:
1709 # requiredDuringSchedulingIgnoredDuringExecution:
1710 # nodeSelectorTerms:
1711 # - matchExpressions:
1712 # - key: dedicated
1713 # operator: In
1714 # values:
1715 # - cortex-memcached
1716
1717memcached-frontend:
1718 enabled: false
1719 architecture: "high-availability"
1720 replicaCount: 2
1721 # dpdbMinAvailable: 1
1722 # image: memcached:1.5.7-alpine
1723 memcached:
1724 maxItemMemory: 3840
1725 extraArgs:
1726 - -I 32m
1727 threads: 32
1728 resources: {}
1729 # requests:
1730 # memory: 1Gi
1731 # cpu: 10m
1732 # limits:
1733 # memory: 4Gi
1734 # cpu: 1
1735 metrics:
1736 enabled: true
1737
1738memcached-blocks-index:
1739 # enabled/disabled via the tags.blocks-storage-memcached boolean
1740 architecture: "high-availability"
1741 replicaCount: 2
1742 # dpdbMinAvailable: 1
1743 # image: memcached:1.5.7-alpine
1744 memcached:
1745 maxItemMemory: 3840
1746 extraArgs:
1747 - -I 32m
1748 threads: 32
1749 resources: {}
1750 # requests:
1751 # memory: 1Gi
1752 # cpu: 10m
1753 # limits:
1754 # memory: 4Gi
1755 # cpu: 1
1756 metrics:
1757 enabled: true
1758
1759memcached-blocks:
1760 # enabled/disabled via the tags.blocks-storage-memcached boolean
1761 architecture: "high-availability"
1762 replicaCount: 2
1763 # dpdbMinAvailable: 1
1764 # image: memcached:1.5.7-alpine
1765 memcached:
1766 maxItemMemory: 3840
1767 extraArgs:
1768 - -I 32m
1769 threads: 32
1770 resources: {}
1771 # requests:
1772 # memory: 1Gi
1773 # cpu: 10m
1774 # limits:
1775 # memory: 4Gi
1776 # cpu: 1
1777 metrics:
1778 enabled: true
1779
1780memcached-blocks-metadata:
1781 # enabled/disabled via the tags.blocks-storage-memcached boolean
1782 architecture: "high-availability"
1783 replicaCount: 2
1784 # dpdbMinAvailable: 1
1785 # image: memcached:1.5.7-alpine
1786 memcached:
1787 maxItemMemory: 3840
1788 extraArgs:
1789 - -I 32m
1790 threads: 32
1791 resources: {}
1792 # requests:
1793 # memory: 1Gi
1794 # cpu: 10m
1795 # limits:
1796 # memory: 4Gi
1797 # cpu: 1
1798 metrics:
1799 enabled: true
1800
1801configsdb_postgresql:
1802 enabled: false
1803 uri:
1804 auth:
1805 password:
1806 existing_secret:
1807 name:
1808 key: