Dominando GitOps con ArgoCD: Una guía práctica para kubernetes
Tags: kubernetes, spanish, kustomize, argocd
Published: 2023-12-31 13:32:34

---
title: Dominando GitOps con ArgoCD: Una guía práctica para kubernetes
published: true
date: 2023-12-31 10:15:00 UTC
tags: kubernetes, Spanish, kustomize, ArgoCD
canonical_url: https://danieljsaldana.dev/dominando-gitops-con-argocd-una-guia-practica-para-kubernetes/
cover_image: https://dev-to-uploads.s3.amazonaws.com/uploads/articles/up4cjynoqm7cvtblappw.png
---

🎇 ¡Feliz año nuevo a todos! 🎇 Antes de zambullirnos en el emocionante mundo del GitOps, me gustaría extender mis más cálidos deseos para este nuevo año. ¡Que esté repleto de éxito, salud y muchas alegrías! Sin más preámbulos, vamos a adentrarnos en nuestro tutorial de hoy, donde exploraremos la herramienta **ArgoCD** , aprovechando los recursos que discutimos en nuestro [laboratorio anterior](https://danieljsaldana.dev/desplegando-tu-blog-ghost-en-kubernetes-con-kustomize).

#### 🌟 Introducción a ArgoCD 🌟

**ArgoCD** es una herramienta de despliegue continuo revolucionaria, diseñada específicamente para aplicaciones en Kubernetes. Su principal objetivo es automatizar y asegurar la implementación de aplicaciones en entornos Kubernetes. Echemos un vistazo a algunas de sus funciones más destacadas:

- **Configuración Declarativa** : Utiliza archivos YAML para definir el estado deseado de tus aplicaciones de forma clara y precisa.
- **Principio de GitOps** : Emplea repositorios Git como la fuente de verdad para la infraestructura y aplicaciones, promoviendo despliegues automáticos basados en cambios en el repositorio.
- **Integración con Kubernetes** : ArgoCD se integra a la perfección con Kubernetes, facilitando la gestión de tus aplicaciones.
- **Interfaz de Usuario y CLI** : Dispone de una interfaz gráfica intuitiva y una línea de comandos para una gestión eficaz.
- **Rollback y Sincronización Automática** : Facilita la actualización y el retroceso a versiones anteriores de las aplicaciones.
- **Soporte Multi-cluster** : Ideal para ambientes de gran escala o en la nube.
- **Seguridad Avanzada** : Incluye funciones de seguridad como RBAC, integración con sistemas de autenticación externos y encriptación.
- **Notificaciones y Alertas** : Permite configurar alertas sobre los despliegues a través de diversos canales.

##### 🚀 Pasos para empezar con ArgoCD 🚀

**Instalación** : Comienza instalando ArgoCD en tu cluster de Kubernetes con estos comandos:

```
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml

```

Para más detalles, consulta la [documentación de ArgoCD](https://argo-cd.readthedocs.io/en/stable/).

##### Verificación

Una vez instalado ArgoCD, es importante verificar que todo esté funcionando correctamente. Puedes comprobar el estado de los pods en tu cluster con el siguiente comando:

```
kubectl get pods -n argocd

```

Esto te mostrará el estado de los pods de ArgoCD, asegurándote de que todo esté en funcionamiento.

##### Acceso al dashboard de ArgoCD

Para acceder al panel de control de ArgoCD, puedes utilizar Port Forwarding. Este método permite conectar tu computadora local al servidor de ArgoCD que se ejecuta en Kubernetes. Ejecuta el siguiente comando en tu terminal:

```
kubectl port-forward svc/argocd-server -n argocd 8080:80

```

**Inicio de sesión** : El usuario predeterminado es **admin**. Para obtener la contraseña, ejecuta:

```
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo

```

##### Conexión de repositorios

En el dashboard, navega a **"Settings"** ➡️ **"Repositories"** ➡️ **"Connect repo using HTTPS"** (o el método que prefieras). Esto te permitirá vincular tu repositorio de código con ArgoCD, asegurando que cualquier cambio en el código se refleje en tus despliegues.

##### Crear y gestionar aplicaciones

Una vez conectado tu repositorio, el siguiente paso es **"Create application"**. Aquí, tendrás que proporcionar los detalles de tu aplicación, como el nombre, el espacio de nombres de Kubernetes donde se desplegará, y la ruta en tu repositorio donde ArgoCD puede encontrar los archivos YAML de Kubernetes y que estamos usando Kustomize.

##### Despliegue automático

Con tu aplicación creada, ArgoCD supervisará continuamente tu repositorio en busca de cambios. Cuando detecte una actualización, automáticamente sincronizará esos cambios con tu cluster, manteniendo tu despliegue alineado con tu código.

##### Monitoreo y gestión

Utiliza la interfaz de usuario de ArgoCD para monitorear el estado de tus aplicaciones. Si algo va mal, ArgoCD te proporcionará detalles útiles para diagnosticar y solucionar el problema. Además, puedes utilizar la función de _rollback_ para revertir a una versión anterior de tu aplicación si es necesario.

##### Seguridad y control de acceso

No olvides configurar las medidas de seguridad adecuadas. ArgoCD permite establecer controles de acceso mediante RBAC, asegurando que solo los usuarios autorizados puedan realizar cambios en tus aplicaciones y configuraciones.

##### 🌱 Continúa explorando y aprendiendo 🌱

Este es solo el comienzo de tu aventura con ArgoCD y Kubernetes. Te aliento a que experimentes y explores más a fondo estas herramientas. Si tienes preguntas o deseas compartir tus experiencias, los comentarios están abiertos para ti. ¡Adelante y explora el mundo de GitOps con confianza y curiosidad!

¡Feliz despliegue y gestión de tus aplicaciones con ArgoCD y Kubernetes! 🚀