"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Implantando uma pilha de monitoramento com Kubernetes, Helm e Ingress

Implantando uma pilha de monitoramento com Kubernetes, Helm e Ingress

Publicado em 2024-11-08
Navegar:176

Deploying a Monitoring Stack with Kubernetes, Helm, and Ingress

Observar e gerenciar o desempenho de um cluster Kubernetes é crucial para manter a integridade do aplicativo, identificar problemas e garantir alta disponibilidade. Orientarei você na configuração de uma solução de monitoramento abrangente usando kubectl e Helm, na implantação de Grafana, Loki e Prometheus em seu cluster e na configuração do Ingress para acesso externo.

Abordaremos as seguintes etapas principais:

  1. Aplicando um namespace Kubernetes para monitoramento.
  2. Instalando o Helm e configurando os repositórios necessários.
  3. Implantando Loki, Prometheus e Grafana usando Helm.
  4. Aplicação de regras do Ingress para expor os serviços externamente.

Pré-requisitos
Antes de começar, certifique-se de ter o seguinte:

  1. Um cluster Kubernetes com kubectl configurado.
  2. Helm instalado em sua máquina local.
  3. Acesso adequado para aplicar configurações YAML e instalar gráficos.

Etapa 1: Crie um namespace de monitoramento

Namespaces ajudam você a dividir e organizar logicamente seus recursos do Kubernetes. Para evitar conflitos e manter os recursos de monitoramento separados, criaremos um namespace dedicado para ferramentas de monitoramento.

1. Aplique o namespace de monitoramento: salve o seguinte conteúdo em um arquivo monitoring-namespace.yml:

apiVersão: v1
tipo: Namespace
metadados:
nome: monitoramento
rótulos:
app.kubernetes.io/name: monitoramento
app.kubernetes.io/instance: monitoramento

2. Aplique o namespace usando kubectl:

kubectl apply -f monitoramento-namespace.yml

Este comando cria um novo namespace chamado monitoramento em seu cluster Kubernetes.

Etapa 2: Instale o Helm e adicione o repositório Grafana
Helm, o gerenciador de pacotes Kubernetes, facilita a implantação de aplicativos complexos como Grafana, Loki e Prometheus. Veja como instalar o Helm e configurar o repositório necessário.

  1. Instale o Helm (se ainda não estiver instalado):

sudo snap install helm --classic

Este comando instala o Helm usando Snap, um sistema de gerenciamento de pacotes para Linux.

  1. Adicione o repositório de gráficos Grafana Helm:

helm repo adicionar grafana https://grafana.github.io/helm-charts

  1. Atualize os repositórios do Helm:

atualização do repositório do Helm

Isso garante que o Helm tenha os gráficos mais recentes do repositório Grafana.

Etapa 3: implantar Loki, Prometheus e Grafana com Helm

Agora que o Helm está instalado e configurado, implantaremos Loki, Prometheus e Grafana usando o gráfico Grafana Helm.

1. Execute o comando de instalação do Helm:

helm upgrade --install loki --namespace=monitoramento grafana/loki-stack \
--set grafana.enabled=true,prometheus.enabled=true,prometheus.alertmanager.persistentVolume.enabled=false,prometheus.server.persistentVolume.enabled=false,loki.persistence.enabled=true,loki.persistence.storageClassName=gp2 ,loki.persistence.size=100Gi --set nodeSelector.name=node.kubernetes.io/description=all_production

R: Grafana: **Isso habilita o Grafana, a ferramenta do painel de monitoramento, dentro do gráfico do Helm.
**B: Prometheus: **O Prometheus está habilitado para coletar métricas, enquanto os volumes persistentes do Alertmanager e do servidor Prometheus estão desabilitados para simplificar a configuração de armazenamento.
**C: Loki:
Loki, a ferramenta de agregação de log, é habilitada com armazenamento de volume persistente de 100Gi usando a classe de armazenamento gp2.

O sinalizador --install garante que a pilha seja instalada se não tiver sido implantada anteriormente. O sinalizador --upgrade atualiza a pilha para a versão mais recente se ela já estiver instalada.

2. Verifique a instalação: Após uma instalação bem-sucedida, verifique o status dos pods em execução no namespace de monitoramento:

kubectl obtém pods -n monitoramento

Você deverá ver pods para Grafana, Prometheus, Loki e Promtail (que envia logs para Loki).

Etapa 4: configurar o Ingress para acesso externo

Para acessar Grafana, Prometheus ou Loki de fora do cluster, você precisa configurar um recurso do Ingress. Isso permite acesso HTTP/S externo aos serviços de monitoramento.

*1. Crie um recurso do Ingress: salve o exemplo a seguir em um arquivo monitoring-ingress.yml:
*

versão api: networking.k8s.io/v1
tipo: Entrada
metadados:
nome: entrada de monitoramento
namespace: monitoramento
anotações:
kubernetes.io/ingress.class: "nginx"
cert-manager.io/cluster-issuer: letsencrypt
especificação:
tls:
- anfitriões:

- seu-domínio.com
nome secreto: nome do certificado
regras:
- host: seu-domínio.com
http:
caminhos:
- caminho: /
tipo de caminho: Prefixo
back-end:
serviço:
nome: loki-grafana
porta:
número: 80

Esta configuração do Ingress configura o roteamento para Grafana, Prometheus e Loki sob o nome de domínio {seu-domínio.com}. Você precisará substituir your-domain.com pelo seu domínio real e configurar o DNS para apontar para o IP externo do seu cluster.

2. Aplique o recurso Ingress:

kubectl apply -f monitoramento-ingress.yml

Depois de aplicado, o controlador do Ingress roteará o tráfego para os serviços apropriados com base no nome do host.

  1. Verificar configuração do Ingress: verifique o status do seu recurso do Ingress para garantir que ele foi configurado corretamente:

kubectl obtém monitoramento de entrada -n

Certifique-se de que sua coluna ADDRESS tenha um IP externo para que os serviços sejam acessíveis externamente.

Etapa 5: Acesse o Painel de Monitoramento

Depois que o Ingress estiver configurado corretamente e o DNS apontar para o seu cluster, você poderá acessar Grafana, Prometheus e Loki.

Conclusão

Com apenas alguns comandos, você implantou com sucesso uma pilha de monitoramento completa usando Helm em seu cluster Kubernetes. Ao aproveitar os gráficos Helm, você simplifica a implantação de aplicativos complexos como Grafana, Loki e Prometheus, ao mesmo tempo que integra o Ingress para fácil acesso. Agora você tem uma configuração de observabilidade poderosa que permite monitorar logs e métricas em tempo real, ajudando a gerenciar e otimizar seus aplicativos Kubernetes de maneira mais eficaz.

Essa implantação baseada no Helm garante escalabilidade e simplifica atualizações ou alterações de configuração, facilitando o gerenciamento da observabilidade em um ambiente de produção.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/seewhy/deploying-a-monitoring-stack-with-kubernetes-helm-and-ingress-cp5?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3