145 lines
4.1 KiB
YAML
145 lines
4.1 KiB
YAML
|
global:
|
||
|
thanos:
|
||
|
enabled: true
|
||
|
|
||
|
# For Thanos Installs, Allow Higher Concurrency from Cost-Model
|
||
|
# Still may require tweaking for some installs, but the thanos-query-frontend
|
||
|
# will greatly assist in reduction memory bloat in query.
|
||
|
kubecostModel:
|
||
|
maxQueryConcurrency: 5
|
||
|
# This configuration is applied to thanos only. Expresses the resolution to
|
||
|
# use for longer query ranges. Options: raw, 5m, 1h - Default: raw
|
||
|
maxSourceResolution: 5m
|
||
|
|
||
|
prometheus:
|
||
|
server:
|
||
|
extraArgs:
|
||
|
storage.tsdb.min-block-duration: 2h
|
||
|
storage.tsdb.max-block-duration: 2h
|
||
|
storage.tsdb.retention: 2w
|
||
|
securityContext:
|
||
|
runAsNonRoot: true
|
||
|
runAsUser: 1001
|
||
|
extraVolumes:
|
||
|
- name: object-store-volume
|
||
|
secret:
|
||
|
# Ensure this secret name matches thanos.storeSecretName
|
||
|
secretName: kubecost-thanos
|
||
|
enableAdminApi: true
|
||
|
sidecarContainers:
|
||
|
- name: thanos-sidecar
|
||
|
image: thanosio/thanos:v0.24.0
|
||
|
securityContext:
|
||
|
runAsNonRoot: true
|
||
|
runAsUser: 1001
|
||
|
args:
|
||
|
- sidecar
|
||
|
- --log.level=debug
|
||
|
- --tsdb.path=/data/
|
||
|
- --prometheus.url=http://127.0.0.1:9090
|
||
|
- --objstore.config-file=/etc/config/object-store.yaml
|
||
|
# Start of time range limit to serve. Thanos sidecar will serve only metrics, which happened
|
||
|
# later than this value. Option can be a constant time in RFC3339 format or time duration
|
||
|
# relative to current time, such as -1d or 2h45m. Valid duration units are ms, s, m, h, d, w, y.
|
||
|
- --min-time=-3h
|
||
|
env:
|
||
|
- name: POD_NAME
|
||
|
valueFrom:
|
||
|
fieldRef:
|
||
|
fieldPath: metadata.name
|
||
|
ports:
|
||
|
- name: http
|
||
|
containerPort: 10902
|
||
|
- name: grpc
|
||
|
containerPort: 10901
|
||
|
- name: cluster
|
||
|
containerPort: 10900
|
||
|
volumeMounts:
|
||
|
- name: config-volume
|
||
|
mountPath: /etc/prometheus
|
||
|
- name: storage-volume
|
||
|
mountPath: /data
|
||
|
subPath: ""
|
||
|
- name: object-store-volume
|
||
|
mountPath: /etc/config
|
||
|
|
||
|
thanos:
|
||
|
store:
|
||
|
enabled: true
|
||
|
grpcSeriesMaxConcurrency: 20
|
||
|
blockSyncConcurrency: 20
|
||
|
extraEnv:
|
||
|
- name: GOGC
|
||
|
value: "100"
|
||
|
- name: GODEBUG
|
||
|
value: "madvdontneed=1"
|
||
|
resources:
|
||
|
requests:
|
||
|
memory: "2.5Gi"
|
||
|
query:
|
||
|
enabled: true
|
||
|
timeout: 3m
|
||
|
# Maximum number of queries processed concurrently by query node.
|
||
|
maxConcurrent: 8
|
||
|
# Maximum number of select requests made concurrently per a query.
|
||
|
maxConcurrentSelect: 2
|
||
|
resources:
|
||
|
requests:
|
||
|
memory: "2.5Gi"
|
||
|
autoDownsampling: false
|
||
|
extraEnv:
|
||
|
- name: GOGC
|
||
|
value: "100"
|
||
|
- name: GODEBUG
|
||
|
value: "madvdontneed=1"
|
||
|
|
||
|
# Thanos Query Frontend
|
||
|
queryFrontend:
|
||
|
enabled: true
|
||
|
compressResponses: true
|
||
|
# Downstream Tripper Configuration
|
||
|
downstreamTripper:
|
||
|
enabled: true
|
||
|
idleConnectionTimeout: 90s
|
||
|
responseHeaderTimeout: 2m
|
||
|
tlsHandshakeTimeout: 10s
|
||
|
expectContinueTimeout: 1s
|
||
|
maxIdleConnections: 200
|
||
|
maxIdleConnectionsPerHost: 100
|
||
|
maxConnectionsPerHost: 0
|
||
|
# Response Cache Configuration
|
||
|
# Configure either a max size constraint or max items.
|
||
|
responseCache:
|
||
|
enabled: true
|
||
|
# Maximum memory size of the cache in bytes. A unit suffix (KB, MB, GB) may be applied.
|
||
|
maxSize: 1.25GB
|
||
|
# Maximum number of entries in the cache.
|
||
|
maxSizeItems: 0
|
||
|
# The expiry duration for the cache.
|
||
|
validity: 2m
|
||
|
extraEnv:
|
||
|
- name: GOGC
|
||
|
value: "100"
|
||
|
- name: GODEBUG
|
||
|
value: "madvdontneed=1"
|
||
|
resources:
|
||
|
requests:
|
||
|
memory: "1.5Gi"
|
||
|
|
||
|
# Thanos Sidecar Service Discovery
|
||
|
# Disabling removes the prometheus sidecar from querier store discovery. This ensures
|
||
|
# that all clusters read from the same data in remote store.
|
||
|
sidecar:
|
||
|
enabled: true
|
||
|
bucket:
|
||
|
enabled: false
|
||
|
compact:
|
||
|
enabled: true
|
||
|
dataVolume:
|
||
|
persistentVolumeClaim:
|
||
|
claimName: compact-data-volume
|
||
|
storage: 100Gi
|
||
|
# This secret name should match the sidecar configured secret name volume
|
||
|
# in the prometheus.server.extraVolumes entry
|
||
|
storeSecretName: kubecost-thanos
|