Difficulty: intermedio
Estimated Time: 20 minutos

Desplegar y hacer funcionar un clúster de Kubernetes es bastante fácil hoy en día. Pero, cuando comenzamos a usarlo y a desplegar algunas aplicaciones, es posible que nos tengamos que enfrentar a diversos problemas a lo largo del tiempo. Al ser Kubernetes un sistema distribuido, es una tarea difícil hallar las causas cuando empieza a dar problemas. Para esto es necesaria solución de monitorización y dado que Prometheus es un proyecto de CNCF al igual que Kubernetes, es probablemente el mejor aliado.

En este ejercicio, aprenderemos cómo desplegar Prometheus Operator (chart de Helm que incluye Grafana) y comenzar a monitorizar un clúster de Kubernetes.

Para más información visitar https://github.com/coreos/prometheus-operator

Christian Axel Schmidt Dick aka Mr. Kubernetes [email protected]

¡Enhorabuena! Has desplegado el operador Prometheus exitosamente. Ya puedes monitorizar tu clúster de Kubernetes.

Para más información visitar su sitio web en https://github.com/coreos/prometheus-operator/tree/master/helm/prometheus-operator

Monitorización del Clúster

Step 1 of 4

1. Despliegue de Prometheus Operator

Para la instalación de Prometheus usaremos el chart oficial de Helm prometheus-operator. Este chart dispone de multitud de opciones, por lo que podemos echar un vistazo al archivo de configuración por defecto. Entre otros servicios, este chart instala Grafana y exportadores listos para monitorizar nuestro clúster.

cat default.conf

Debemos habilitar el acceso desde el exterior usando servicios del tipo NodePort. Este es le contenido del archivo de valores personalizados que pasaremos a Helm durante la instalación:

alertmanager:
  service:
    type: NodePort
    nodePort: 30091

prometheus:
  service:
    type: NodePort
    nodePort: 30090

grafana:
  service:
    type: NodePort
    nodePort: 30092

Tarea

Desplegamos el prometheus-operator con todas sus dependencias con un único comando:

helm install stable/prometheus-operator --name prometheus-operator --namespace monitoring -f custom-values.yaml

Podemos ver el estado con kubectl --namespace monitoring get pods -l "release=prometheus-operator"

Terminal
Prometheus
Alert Manager
Grafana