PR
review
Cambios al cluster = merge a la rama que observa el operador. Rollback = revert del commit. Auditoría y diffs legibles por diseño.
No: kubectl apply manual en prod sin reflejar en repo (drift).
outbound
El controlador en el cluster tira de Git (o de OCI Helm). No hace falta exponer el API del cluster a la CI con permisos admin — reduce superficie de ataque.
La CI construye y publica imagen; GitOps actualiza solo el tag o digest en manifiestos.
sync
prune
Si alguien muta recursos a mano, el siguiente sync puede sobrescribir o marcar OutOfSync según política. Define si permites “self-heal” automático.
Políticas de prune con cuidado: borrar namespaces por error duele.
Bucle típico GitOps
Git (main)
→
Argo CD / Flux
→
API Server
→
workloads alineados con el commit
Modelo mental
Aplicaciones como objetos CRD con UI CLI potentes; “App of Apps”
Controllers modulares (source, kustomize, helm, notification); GitOps Toolkit
Helm
Soporte nativo de charts y parámetros por UI
HelmRelease CRD + reconciler dedicado
Multi-repo / multi-cluster
Proyectos, permisos granulares, patrones maduros en enterprise
Composición con dependencias entre sources; encaja en pipelines Git-native
Cuándo elegir
Equipos que quieren UI y visibilidad de sync unificada
Equipos muy orientados a controllers + YAML y CNCF pura
Control plane gestionado; integración con IAM, ALB/NLB, VPC CNI. Tú gestionas nodos (Managed Node Groups, Karpenter, Fargate profiles) y add-ons (CNI, CoreDNS, kube-proxy / legacy).
Actualizaciones: versiones de Kubernetes en cadencia AWS; planifica ventanas y prueba en staging.
Autopilot vs Standard: en Autopilot Google administra más la capa de nodos y límites de seguridad. Buena integración con Artifact Registry e IAM de workload.
Red: Network Endpoint Groups (NEG) para Ingress/Gateway con backends fine-grained.
Control plane gratis (modelo de precios distinto); integración con Entra ID, Azure CNI, Application Gateway. Node pools por SKU/OS.
Windows containers y escenarios híbridos on-prem↔cloud son frecuentes en clientes Azure.
argocd login argocd.mi-dominio.com
argocd app list
argocd app get mi-app -o wide
argocd app sync mi-app --prune
flux get kustomizations -n flux-system
flux get sources git -n flux-system
🌿
Un repo vs muchos
Monorepo simplifica dependencias; multirepo aísla blast radius. Ambos funcionan con GitOps si el árbol de aplicaciones está claro.
🔐
Secretos en Git
Nunca en claro. SOPS, Sealed Secrets o vault agent + referencias. GitOps y seguridad van en el mismo barco.
🧭
Versión del control plane
En managed, deprecations y APIs beta te alcanzan igual. Sigue el changelog del proveedor y prueba upgrades en cluster espejo.