From 0f6845dad7d29b008743d5c326767fa5401b94b1 Mon Sep 17 00:00:00 2001 From: ArgoCD Setup Date: Sat, 14 Mar 2026 06:33:15 -0300 Subject: [PATCH] fix(aula-12): corrigir estrutura do values.yaml do Victoria Metrics MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O values.yaml estava aninhado sob 'victoria-metrics-k8s-stack:' mas o chart é instalado diretamente, então grafana e outros subcharts precisam estar no nível raiz. Isso impedia a criação do Ingress do Grafana. --- .../gitops/apps/victoria-metrics/values.yaml | 331 +++++++++--------- 1 file changed, 164 insertions(+), 167 deletions(-) diff --git a/aula-12/gitops/apps/victoria-metrics/values.yaml b/aula-12/gitops/apps/victoria-metrics/values.yaml index a956e18..4365af8 100644 --- a/aula-12/gitops/apps/victoria-metrics/values.yaml +++ b/aula-12/gitops/apps/victoria-metrics/values.yaml @@ -4,77 +4,35 @@ # Documentação: https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-k8s-stack # ============================================================================= -victoria-metrics-k8s-stack: - # --------------------------------------------------------------------------- - # VMSingle - Armazenamento de métricas (single-node) - # --------------------------------------------------------------------------- - vmsingle: - enabled: true - spec: - retentionPeriod: "14d" - storage: - storageClassName: "hcloud-volumes" - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 10Gi +# --------------------------------------------------------------------------- +# VMSingle - Armazenamento de métricas (single-node) +# --------------------------------------------------------------------------- +vmsingle: + enabled: true + spec: + retentionPeriod: "14d" + storage: + storageClassName: "hcloud-volumes" + accessModes: + - ReadWriteOnce resources: requests: - cpu: 100m - memory: 256Mi - limits: - cpu: 500m - memory: 512Mi + storage: 10Gi + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 500m + memory: 512Mi - # --------------------------------------------------------------------------- - # VMAgent - Coleta de métricas - # --------------------------------------------------------------------------- - vmagent: - enabled: true - spec: - scrapeInterval: "30s" - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 200m - memory: 256Mi - - # --------------------------------------------------------------------------- - # VMAlert - Sistema de alertas - # --------------------------------------------------------------------------- - vmalert: - enabled: true - spec: - extraArgs: - "notifier.blackhole": "true" # Não envia alertas (sem AlertManager) - resources: - requests: - cpu: 50m - memory: 64Mi - limits: - cpu: 100m - memory: 128Mi - - # --------------------------------------------------------------------------- - # AlertManager - Notificações (desabilitado por padrão) - # --------------------------------------------------------------------------- - alertmanager: - enabled: false - - # --------------------------------------------------------------------------- - # Grafana - Visualização - # --------------------------------------------------------------------------- - grafana: - enabled: true - - # Credenciais - adminUser: admin - # adminPassword é gerado automaticamente se não especificado - - # Recursos +# --------------------------------------------------------------------------- +# VMAgent - Coleta de métricas +# --------------------------------------------------------------------------- +vmagent: + enabled: true + spec: + scrapeInterval: "30s" resources: requests: cpu: 50m @@ -83,69 +41,14 @@ victoria-metrics-k8s-stack: cpu: 200m memory: 256Mi - # Persistência para dashboards e configurações - persistence: - enabled: false # Dashboards vêm do GitOps, não precisa persistir - - # Ingress - ingress: - enabled: true - ingressClassName: nginx - annotations: - cert-manager.io/cluster-issuer: letsencrypt-prod - hosts: - - grafana.kube.quest - tls: - - secretName: grafana-tls - hosts: - - grafana.kube.quest - - # Sidecar carrega dashboards automaticamente do chart - sidecar: - dashboards: - enabled: true - - # Desabilitar criação de datasource separado (usa o do sidecar) - grafanaDatasource: - enabled: false - - # --------------------------------------------------------------------------- - # Kube State Metrics - Métricas de objetos K8s - # --------------------------------------------------------------------------- - kube-state-metrics: - enabled: true - resources: - requests: - cpu: 10m - memory: 32Mi - limits: - cpu: 100m - memory: 128Mi - - # --------------------------------------------------------------------------- - # Prometheus Node Exporter - Métricas de nodes - # --------------------------------------------------------------------------- - prometheus-node-exporter: - enabled: true - resources: - requests: - cpu: 10m - memory: 32Mi - limits: - cpu: 100m - memory: 64Mi - - # --------------------------------------------------------------------------- - # Prometheus Operator CRDs - # --------------------------------------------------------------------------- - prometheus-operator-crds: - enabled: true - - # --------------------------------------------------------------------------- - # VM Operator (gerencia CRDs do Victoria Metrics) - # --------------------------------------------------------------------------- - victoria-metrics-operator: - enabled: true +# --------------------------------------------------------------------------- +# VMAlert - Sistema de alertas +# --------------------------------------------------------------------------- +vmalert: + enabled: true + spec: + extraArgs: + "notifier.blackhole": "true" # Não envia alertas (sem AlertManager) resources: requests: cpu: 50m @@ -154,39 +57,133 @@ victoria-metrics-k8s-stack: cpu: 100m memory: 128Mi - # --------------------------------------------------------------------------- - # Service Monitors padrão - # --------------------------------------------------------------------------- - defaultRules: - create: true - rules: - alertmanager: false # AlertManager desabilitado - etcd: false # Não temos acesso ao etcd no Talos - configReloaders: true - general: true - k8s: true - kubeApiserver: true - kubeApiserverAvailability: true - kubeApiserverBurnrate: true - kubeApiserverHistogram: true - kubeApiserverSlos: true - kubeControllerManager: false # Não acessível no Talos - kubelet: true - kubeProxy: false # Não acessível no Talos - kubePrometheusGeneral: true - kubePrometheusNodeRecording: true - kubernetesApps: true - kubernetesResources: true - kubernetesStorage: true - kubernetesSystem: true - kubeScheduler: false # Não acessível no Talos - kubeStateMetrics: true - network: true - node: true - nodeExporterAlerting: true - nodeExporterRecording: true - prometheus: true - prometheusOperator: true - vmcluster: false # Usando vmsingle - vmagent: true - vmsingle: true +# --------------------------------------------------------------------------- +# AlertManager - Notificações (desabilitado por padrão) +# --------------------------------------------------------------------------- +alertmanager: + enabled: false + +# --------------------------------------------------------------------------- +# Grafana - Visualização +# --------------------------------------------------------------------------- +grafana: + enabled: true + + # Credenciais + adminUser: admin + # adminPassword é gerado automaticamente se não especificado + + # Recursos + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 200m + memory: 256Mi + + # Persistência para dashboards e configurações + persistence: + enabled: false # Dashboards vêm do GitOps, não precisa persistir + + # Ingress - hosts e TLS configurados via --set no setup.sh + ingress: + enabled: true + ingressClassName: nginx + hosts: + - grafana.kube.quest + tls: + - secretName: grafana-tls + hosts: + - grafana.kube.quest + + # Sidecar carrega dashboards automaticamente do chart + sidecar: + dashboards: + enabled: true + +# Desabilitar criação de datasource separado (usa o do sidecar) +grafanaDatasource: + enabled: false + +# --------------------------------------------------------------------------- +# Kube State Metrics - Métricas de objetos K8s +# --------------------------------------------------------------------------- +kube-state-metrics: + enabled: true + resources: + requests: + cpu: 10m + memory: 32Mi + limits: + cpu: 100m + memory: 128Mi + +# --------------------------------------------------------------------------- +# Prometheus Node Exporter - Métricas de nodes +# --------------------------------------------------------------------------- +prometheus-node-exporter: + enabled: true + resources: + requests: + cpu: 10m + memory: 32Mi + limits: + cpu: 100m + memory: 64Mi + +# --------------------------------------------------------------------------- +# Prometheus Operator CRDs +# --------------------------------------------------------------------------- +prometheus-operator-crds: + enabled: true + +# --------------------------------------------------------------------------- +# VM Operator (gerencia CRDs do Victoria Metrics) +# --------------------------------------------------------------------------- +victoria-metrics-operator: + enabled: true + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 100m + memory: 128Mi + +# --------------------------------------------------------------------------- +# Service Monitors padrão +# --------------------------------------------------------------------------- +defaultRules: + create: true + rules: + alertmanager: false # AlertManager desabilitado + etcd: false # Não temos acesso ao etcd no Talos + configReloaders: true + general: true + k8s: true + kubeApiserver: true + kubeApiserverAvailability: true + kubeApiserverBurnrate: true + kubeApiserverHistogram: true + kubeApiserverSlos: true + kubeControllerManager: false # Não acessível no Talos + kubelet: true + kubeProxy: false # Não acessível no Talos + kubePrometheusGeneral: true + kubePrometheusNodeRecording: true + kubernetesApps: true + kubernetesResources: true + kubernetesStorage: true + kubernetesSystem: true + kubeScheduler: false # Não acessível no Talos + kubeStateMetrics: true + network: true + node: true + nodeExporterAlerting: true + nodeExporterRecording: true + prometheus: true + prometheusOperator: true + vmcluster: false # Usando vmsingle + vmagent: true + vmsingle: true