Verificando autenticación…

Saltar al contenido principal

Procedimiento de Instalación del Agente Grafana Alloy

Objetivo

Instalar el stack de observabilidad Grafana Alloy en un clúster de GKE (o entorno correspondiente), asegurando la generación de métricas, logs y trazas hacia Grafana Cloud, mediante la automatización provista en los repositorios de GitLab del equipo de Resiliencia y Observabilidad LATAM Airlines.

Alcance

Este procedimiento aplica a los entornos:

  • Desarrollo (dev)
  • Integración (intg)
  • Producción (prod)

Cada entorno cuenta con su propio repositorio GitLab y archivo de configuración.

Prerrequisitos

Antes de iniciar la instalación, asegúrate de cumplir con los siguientes requisitos:

  • Tener acceso al proyecto GitLab correspondiente según el ambiente.
  • Tener instalado y configurado gcloud en tu máquina local
  • Haber ejecutado autenticación con GCP: gcloud auth login
  • Contar con permisos de lectura/escritura en el repositorio y capacidad para crear ramas y merge requests.
  • Disponer de acceso a los proyectos GCP donde se desplegará Grafana Alloy.

Procedimiento

  1. Clonar el repositorio correspondiente al ambiente Según el entorno donde se instalará el stack:
AmbienteRepositorio GitLab
Producción (prod)alloy-prod-clusters
Desarrollo (dev)alloy_dev_clusters
Integración (intg)alloy_gke_intg

Clona el repositorio correspondiente:

git clone <URL_DEL_REPOSITORIO>

Luego, crea una nueva rama para tu instalación:

git checkout -b feature/install_<cluster_name>
  1. Editar el archivo de configuración del ambiente

Ubica el archivo clusters_AMBIENTE.json dentro del repositorio clonado. (AMBIENTE debe reemplazarse por dev, intg o prod según corresponda).

Ejemplo de nombre:

clusters_prod.json clusters_dev.json clusters_intg.json

  1. Añadir la definición del nuevo clúster El archivo JSON tiene la siguiente estructura base:
{
"repositories": [
{
"project": "xxxxxxx",
"location": "xxxxxxx",
"cluster_id": "xxxxxxx",
"autopilot": "no"
},
{
"project": "yyyyyyyy",
"location": "yyyyyy",
"cluster_id": "yyyyyy",
"autopilot": "no",
"stack": "stack_name"
}
]
}

Para añadir un nuevo clúster:

Agrega una coma (,) al final del último objeto existente. Inserta un nuevo objeto con los campos requeridos (project, location, cluster_id, autopilot, y opcionalmente squad). Ejemplo de adición:

{
"project": "marketingdomain-prod-9o7z",
"location": "us-east1",
"cluster_id": "gke-01-us-east1-prod",
"autopilot": "yes",
"stack": "eloyalty"
}

Los stacks disponibles en los templates son:

  • eloyalty
  • ecarga
  • monobs
  • ANDES
  1. Validar acceso a GCP

Verifica que tienes acceso a GCP y que gcloud esté autenticado correctamente:

gcloud auth list
gcloud config list project

Si no estás autenticado:

gcloud auth login
  1. Ejecutar el instalador Una vez modificado el archivo JSON, ejecuta el script de instalación install.sh:
./install.sh clusters_AMBIENTE.json

Este script:

  • Lee la configuración del archivo JSON.
  • Genera automáticamente los values.yaml requeridos para cada clúster.
  • Prepara los Helm charts de: Stackdriver exporter Grafana Alloy OpenTelemetry Operator
6. **Validar generación de archivos**
Tras ejecutar el script, deberían haberse generado los siguientes archivos:

**Estructura esperada:**

- `deploy/`
- `helm/`
- `k8s-monitoring/`
- `values_<project_id><cluster_id>.yaml`
- `stackdriver/`
- `values_<project_id><cluster_id>.yaml`

Aparte se deben añadir los helm charts a instalar en estos archivos.

7. **Crear Merge Request**

Una vez validados los archivos generados:

1. pushear los cambios

```bash
git add .
git commit -m "Add new cluster <cluster_name> configuration"
git push origin feature/install_<cluster_name>
```

2. Crea un Merge Request desde tu rama hacia master.
3. Solicita la revisión correspondiente al equipo de Observabilidad y Resiliencia.