GKE + Helm: despliegues limpios y repetibles

¿qué es un helm chart de kubernetes?

Un Helm Chart es un paquete versionado de manifiestos que define todo lo que necesita tu componente (archivos YAML + valores). Con un comando instalas/actualizas/desinstalas el conjunto completo.

¿Qué es un Helm Chart de Kubernetes?
Helm empaqueta tus manifiestos para releases repetibles.
Helm Chart (cuadro de cajas)

estructura típica de un chart

Resumen: además de los workloads, un chart incluye recursos de soporte:
  • service.yaml (svc): endpoint estable para llegar a los pods. Tipos comunes: ClusterIP, NodePort y LoadBalancer.
  • configmap.yaml: pares clave/valor no sensibles (envs o archivos) para configuración.
  • secret.yaml / externalsecret: credenciales/datos sensibles. ExternalSecret sincroniza desde un gestor externo (GCP/AWS/Vault) hacia un Secret del clúster.
  • netpol.yaml (NetworkPolicy): lista blanca de tráfico (ingress/egress) entre pods/namespaces/puertos.
  • serviceaccount.yaml: identidad de ejecución asociada a permisos (RBAC/Workload Identity).
Helm: deployment+job+cronjob y recursos comunes

api rest — deployment.yaml

Workload para procesos long running (APIs, workers). Se escala con réplicas y se actualiza con rolling updates sin downtime.

APP - MICROSERVICIO - DEPLOYMENT.YAML

migración inicial — job.yaml

Un Job ejecuta una vez y termina (éxito/error). Útil para migraciones, seeders y tareas puntuales.

Migración Batch - Job

pipeline cada 10 min — cronjob.yaml

Un CronJob programa Jobs con una expresión cron. Ideal para limpiezas, sincronizaciones y ETLs ligeras.

Pipeline cada 10 min con CronJob

recursos complementarios (explicado)

  • Service (svc): Crea un DNS interno estable. ClusterIP expone dentro del clúster; LoadBalancer crea un balanceador externo en GKE.
  • ConfigMap: Config no sensible. Se monta como archivo o env vars; cambiarlo no requiere reconstruir la imagen.
  • Secret / ExternalSecret: Para credenciales. ExternalSecret sincroniza secret managers externos con Secret nativo.
  • NetworkPolicy (netpol): Controla quién puede hablar con quién (ingress/egress) por puertos/labels/namespaces.
  • ServiceAccount: Identidad de los pods. Se vincula a permisos (RBAC) y a Workload Identity para acceder a APIs cloud.

beneficios de estandarizar con helm + gke

  • Repetible: mismo chart para dev/stage/prod, cambiando sólo valores.
  • Auditable: releases versionados; fácil rollback.
  • Productivo: comandos simples para instalar/actualizar y CI/CD directo.