Cómo Instalar Argo CD

Guillermo Garcia - Jun 11 - - Dev Community

Image description

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

Qué es Argo CD

Comenzamos por el principio, vamos a definir qué es Argo CD.

Argo CD 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

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:

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

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:

    kubectl get pods -n argocd
Enter fullscreen mode Exit fullscreen mode

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:

    kubectl get secrets -n argocd
    kubectl edit secret argocd-initial-admin-secret -n argocd
Enter fullscreen mode Exit fullscreen mode

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

    echo WW91clN1cGVyU2VjcmV0UGFzc3dvcmQK | base64 --decode
    YourSuperSecretPassword    
Enter fullscreen mode Exit fullscreen mode

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.

    kubectl port-forward svc/argocd-server -n argocd 8080:80
Enter fullscreen mode Exit fullscreen mode

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

    kubectl delete secret argocd-initial-admin-secret -n argocd
Enter fullscreen mode Exit fullscreen mode

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






<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.
Enter fullscreen mode Exit fullscreen mode
. . . . . . . . . . . . . . . . . . . . . . .