Cómo Instalar Argo CD
Tags: argocd, devops, kubernetes, cloud
Published: 2024-06-11 14:48:09

---
title: Cómo Instalar Argo CD
published: true
date: 2024-06-10 23:31:00 UTC
tags: argocd,DevOps,kubernetes,cloud
canonical_url: https://www.ahioros.info/2024/06/como-instalar-argo-cd.html
---

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujstagpwwxrka3pg4akd.png)

Continuando con nuestros posts de DevOps en español, ya hemos cubierto la parte CI (Continue Integration) ahora vamos a la parte CD (Continue Delivery).

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qt26swlchb16u6zp2ieh.png)

## Qué es Argo CD
Comenzamos por el principio, vamos a definir qué es Argo CD.
<!-- agrega el botón leer más -->

>[Argo CD](https://www.redhat.com/es/topics/devops/what-is-argocd) es una herramienta declarativa de distribución continua para Kubernetes. Se puede utilizar como una herramienta independiente o como parte del flujo de trabajo de integración y distribución continuas (CI/CD) para distribuir los recursos que los clústeres necesitan.

>Para gestionar las configuraciones de la infraestructura y las aplicaciones en consonancia con GitOps, su repositorio de Git debe ser la única fuente de información. Es necesario expresar el estado deseado de manera declarativa, crear versiones de él y extraerlo automáticamente. Aquí es donde entra en juego Argo CD.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/slmemu6ejcginyd34q0x.png)

## Instalación de Argo CD

Podemos instalar Argo CD de 3 formas diferentes:

1. Manual (manifest)
2. Helm
3. Kubeconfig

**Nota:** En este post vamos a usar la forma "manual" por que todavía no hemos cubierto los temas de helm y kubeconfig.

Para instalar Argo CD debemos realizar los siguientes comandos:

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

Esto primero creará un nuevo namespace llamado argocd y después se crearan los recursos necesarios y se instalará argocd.

Verificamos que ya estén ejecutándose los pods de argocd:
```bash
	kubectl get pods -n argocd
```

Para poder entrar al panel de administración primero debemos obtener la contraseña del usuario admin, para poder ver dicha contraseña debemos ver en los secrets:

```bash
	kubectl get secrets -n argocd
	kubectl edit secret argocd-initial-admin-secret -n argocd
```

Debajo de **data** vemos el campo que dice **password:** debemos copiar su valor y realizamos el siguiente comando ejemplo:

**Nota:** Para este ejemplo el valor de password es: WW91clN1cGVyU2VjcmV0UGFzc3dvcmQK

```bash
	echo WW91clN1cGVyU2VjcmV0UGFzc3dvcmQK | base64 --decode
    YourSuperSecretPassword    
```

Estos nos devolvera la contraseña (en este ejemplo YourSuperSecretPassword) que necesitamos para ingresar en el panel de administración, por lo que procedemos a copiarlo y guardarlo temporalmente ya que cambiaremos este password.

## Accediendo al panel de administración

En mi caso estoy instalando argocd en un cluster local (on-premise) por lo que tendré que realizar un port-forward para ingresar a argocd.

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

## Accediendo al panel de administración de argocd

http://localhost:8080
**user:** admin
**pass:** YourSuperSecretPassword

## Borrado de la contraseña predeterminada

Una vez que hemos ingresado debemos borrar el secret por default
```bash
	kubectl delete secret argocd-initial-admin-secret -n argocd
```

Acá te dejo el video de esta configuración por si tienes dudas:

```
{% youtube wrlOl9HLmkA %}

<iframe allowfullscreen="" youtube-src-id="wrlOl9HLmkA" width="480" height="270" src="https://www.youtube.com/embed/wrlOl9HLmkA"></iframe>
En nuestro siguiente post veremos como configurar nuestro repositorio de Azure con argoCD para automatizar los deploys.