Files
athletic-map-deploy/platform/monitoring/application.yaml
T

100 lines
3.5 KiB
YAML

# ArgoCD Application: kube-prometheus-stack gerenciado por GitOps (source = Helm repo, versao fixada)
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: monitoring
namespace: argocd
spec:
project: default
source:
repoURL: https://prometheus-community.github.io/helm-charts
chart: kube-prometheus-stack
targetRevision: 86.2.3
helm:
values: |
alertmanager:
enabled: false
grafana:
admin:
existingSecret: grafana-admin
userKey: admin-user
passwordKey: admin-password
defaultDashboardsTimezone: America/Sao_Paulo
ingress:
enabled: true
ingressClassName: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
traefik.ingress.kubernetes.io/router.middlewares: monitoring-redirect-https@kubernetescrd
hosts:
- grafana.athleticmap.influxdigital.com.br
tls:
- secretName: grafana-tls
hosts:
- grafana.athleticmap.influxdigital.com.br
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 512Mi
prometheus:
prometheusSpec:
retention: 7d
resources:
requests:
cpu: 200m
memory: 512Mi
limits:
memory: 1536Mi
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: local-path
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 10Gi
prometheusOperator:
resources:
requests:
cpu: 50m
memory: 128Mi
# ── os tres CRITICAL que o k3s faz mentir (2026-09-21) ─────────────
#
# `KubeProxyDown`, `KubeSchedulerDown` e `KubeControllerManagerDown`
# estavam disparando em PERMANENCIA, e sao FALSOS: o k3s roda esses tres
# componentes EMBUTIDOS no processo do servidor e nao expoe as portas de
# metrica que o chart procura (10249/10259/10257). Nao ha o que consertar
# no cluster — o chart e que assume um Kubernetes "de pecas separadas".
#
# Por que desligar, e nao conviver: **tres criticos permanentes ensinam
# todo mundo a ignorar alerta**. No dia em que o Alertmanager existir,
# eles seriam a primeira coisa a chegar, e chegariam para sempre — e o
# canal nasceria desacreditado.
#
# Isto NAO desliga vigilancia nenhuma de verdade: com o controlador ou o
# scheduler fora, o no inteiro cai, e disso o `up` do kubelet e o
# `AthleticMapTenantPodNotReady` falam alto.
kubeProxy:
enabled: false
kubeScheduler:
enabled: false
kubeControllerManager:
enabled: false
# Mesmo caso: o etcd do k3s e embutido (SQLite/etcd interno) e nao
# responde na porta que o chart espera. Ja vinha desligado no chart para
# este arranjo; explicito aqui para nao voltar numa atualizacao.
kubeEtcd:
enabled: false
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: false
selfHeal: true
syncOptions:
- ServerSideApply=true
- CreateNamespace=true