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).
## Qué es Argo CD
Comenzamos por el principio, vamos a definir qué es Argo CD.
>[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.
## 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
```
Aquí está el repositorio de [Azure DevOps](https://dev.azure.com/guillermogarcialedezma/DockerHub%20Test/).
Acá te dejo el video de esta configuración por si tienes dudas:
En nuestro siguiente post veremos como configurar nuestro repositorio de Azure con argoCD para automatizar los deploys.
No hay comentarios.:
Publicar un comentario