Introdução
O Prometheus é um agregador de métricas que pode coletar dados de métricas de endpoints, enquanto o Grafana é uma ferramenta de dashboard que visualiza essas métricas. Para criar um cluster Kubernetes 1.23, utilizamos a ferramenta Kind, que executa clusters Kubernetes leves em contêineres Docker.
Demo
Na demo, criamos um cluster Kubernetes 1.23 com Kind e demonstramos como monitorar múltiplos nós de trabalho. Utilizamos o operador Prometheus para gerenciar instâncias Prometheus e implantamos duas instâncias Prometheus. Além disso, explicamos a importância de verificar a matriz de compatibilidade Kubernetes para garantir que a versão correta do Prometheus seja implantada para a versão do cluster Kubernetes.
Obtendo o manifesto para a configuração de monitoramento
Para obter o manifesto para a configuração de monitoramento, executamos um contêiner Alpine leve, instalamos o Git e criamos um clone raso do repositório kube-prometheus. Em seguida, copiamos a pasta de manifestos para o diretório de trabalho atual.
Deploy do stack de monitoramento
Para deployar o stack de monitoramento, aplicamos primeiro o diretório de setup, que cria as definições de recursos personalizadas (CRDs) e namespace necessárias. Em seguida, aplicamos a pasta de manifestos restante, que implanta todos os componentes necessários para monitorar o cluster.
Componentes do sistema de monitoramento
O sistema de monitoramento é composto por três componentes principais:
1. Node Exporter: fornece uma telemetria rica do que está acontecendo no nó, ajudando a identificar problemas de desempenho.
2. Operador Prometheus: mantém instâncias Prometheus.
3. Grafana: visualiza métricas.
Configurando o sistema de monitoramento
Para configurar o sistema de monitoramento, implanta-se os componentes de monitoramento (Prometheus, Alertmanager, Grafana) usando kubectl. Em seguida, acessamos o Grafana por meio de roteamento de porta e configuramos uma fonte de dados Prometheus no Grafana.
Visualizando métricas
O Prometheus coleta dados de métricas de vários alvos, incluindo o servidor API, Kube State Metrics, Kubelet e Node Exporter, fornecendo dados de telemetria que podem ser visualizados em dashboards Grafana.
Conclusão
Neste artigo, aprendemos como monitorar um cluster Kubernetes utilizando Prometheus e Kubernetes 1.23. Mostramos como criar um cluster, implantar componentes de monitoramento e visualizar métricas em dashboards Grafana. Além disso, discutimos a importância de verificar a matriz de compatibilidade Kubernetes e de configurar armazenamento persistente para evitar perda de dados em caso de falha do Prometheus.