Files
kubernetes_monitoring/values.yaml
Jon 239837ecbf feat(prometheus): ability to add additional config settings
settings are pertinent to the kubernetes prometheus object used by the prom operator.

!2 #1
2023-09-28 00:27:49 +09:30

310 lines
6.6 KiB
YAML

---
# All values within this helm chart values.yaml file are under namespace `nfc_monitoring`.
# this provides the opportunity to include this helm chart as a dependency without
# variable collision
nfc_monitoring:
kubernetes:
cluster_dns_name: cluster.local
networking: calico
alert_manager:
image:
name: quay.io/prometheus/alertmanager
tag: 'v0.26.0'
namespace: alerting
grafana:
admin_user: admin
admin_password: admin
image:
name: grafana/grafana
tag: '10.1.2' # '10.0.5'
namespace: grafana
replicas: 1
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: node-role.kubernetes.io/worker
operator: Exists
weight: 100
- preference:
matchExpressions:
- key: node-role.kubernetes.io/storage
operator: DoesNotExist
weight: 100
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- prometheus
topologyKey: kubernetes.io/hostname
weight: 10
grafana_agent:
image:
name: grafana/agent
tag: 'v0.36.1'
namespace: monitoring
loki:
enabled: true
image:
name: grafana/loki
tag: 2.7.4
namespace: logging
# service name and port are used for the connection to your loki instance
service_name: loki-gateway
service_port: 80
ServiceMonitor:
selector:
matchLabels:
app.kubernetes.io/name: loki
app.kubernetes.io/component: logging
kube_monitor_proxy:
namespace: monitoring
kube_rbac_proxy:
# This image is used as part of kube-monitor-proxy.
image:
name: quay.io/brancz/kube-rbac-proxy
tag: 'v0.14.2'
kube_state_metrics:
image:
name: registry.k8s.io/kube-state-metrics/kube-state-metrics
tag: 'v2.8.1'
namespace: monitoring
prometheus:
image:
name: prom/prometheus
tag: 'v2.47.0'
namespace: monitoring
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: node-role.kubernetes.io/worker
operator: Exists
weight: 100
- preference:
matchExpressions:
- key: node-role.kubernetes.io/storage
operator: DoesNotExist
weight: 100
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- prometheus
topologyKey: kubernetes.io/hostname
weight: 10
# List of namespaces that prometheus is to monitor
# used to create Roles and RoleBindings
monitor_namespaces:
- alerting
- default
# - ceph
- grafana
- monitoring
# - kube-dashboard
# - kube-metrics
- kube-policy
- kube-system
- logging
# - mariadb
# - olm
# - operators
# Deploy a generate policy for kyverno to create Role and RoleBindings
# for the prometheus service account so it can monitor
# new/existing namespaces
kyverno_role_policy: true
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 40Gi
# Additional settings for Prometheus.
# See: https://prometheus-operator.dev/docs/operator/api/#monitoring.coreos.com/v1.PrometheusSpec
additional: {}
# remoteWrite:
# - name: mimir
# url: http://mimir-gateway.metrics.svc.cluster.local/api/v1/push
prometheus_adaptor:
image:
name: registry.k8s.io/prometheus-adapter/prometheus-adapter
tag: 'v0.11.1'
namespace: monitoring
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: node-role.kubernetes.io/worker
operator: Exists
weight: 100
- preference:
matchExpressions:
- key: node-role.kubernetes.io/storage
operator: DoesNotExist
weight: 100
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- prometheus
topologyKey: kubernetes.io/hostname
weight: 10
thanos:
image:
name: thanosio/thanos
tag: v0.32.3
# Prometheus thanos sidecar
# see: https://thanos.io/tip/components/sidecar.md/
sidecar:
enabled: true
config:
type: S3
config:
bucket: "thanos-metrics"
endpoint: "rook-ceph-rgw-earth.ceph.svc:80"
access_key: "7J5NM2MNCDB4T4Y9OKJ5"
secret_key: "t9r69RzZdWEBL3NCKiUIpDk6j5625xc6HucusiGG"
additions:
ceph:
enabled: true
namespace: ceph
PrometheusRules: true
ServiceMonitor:
selector:
matchLabels:
app: rook-ceph-mgr
# Add sidecar to grafana pod to load dashboards from configMap
dashboard_sidecar:
enabled: true
image:
name: ghcr.io/kiwigrid/k8s-sidecar
tag: '1.24.5'
label_name: grafana_dashboard
label_value: "1"
loki_instance:
image:
name: grafana/loki
tag: 2.7.4
# tag: 2.9.0
namespace: loki
oncall_instance:
image:
name: grafana/oncall
tag: v1.1.40
# oncall:
# # image:
# # # Grafana OnCall docker image repository
# # repository: grafana/oncall
# # tag: v1.1.38
# # pullPolicy: Always
# service:
# enabled: false
# type: LoadBalancer
# port: 8080
# annotations: {}
# engine:
# replicaCount: 1
# resources:
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# celery:
# replicaCount: 1
# resources:
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
# database:
# type: none