Implementación de Aplicaciones en Kubernetes con Argo CD para Principiantes

Implementar aplicaciones en Kubernetes puede ser complejo, especialmente para los recién llegados. Ingresa Argo CD, una herramienta declarativa impulsada por GitOps diseñada para automatizar despliegues de aplicaciones en Kubernetes. En este taller, aprenderás cómo configurar y utilizar Argo CD para implementar aplicaciones de manera fluida, con un paso a paso creado para principiantes completos.

Lo Que Aprenderás

  • Instalar y configurar Argo CD.
  • Implementar aplicaciones utilizando principios de GitOps.
  • Monitorear despliegues y solucionar problemas.
  • Revertir y gestionar versiones de aplicaciones.
  • Proteger Argo CD para uso en producción.

¿Por Qué Argo CD?

Argo CD simplifica la gestión de aplicaciones en Kubernetes al sincronizar continuamente tu clúster con los manifiestos definidos en repositorios de Git. Los beneficios incluyen:

  • Administración Declarativa: Define el estado deseado del clúster en Git.
  • Entrega Continua: Automatiza despliegues con sincronización en tiempo real.
  • Control de Versiones: Revierte a versiones anteriores con facilidad.

Requisitos previos

Antes de comenzar, asegúrate de tener:

  1. Un clúster de Kubernetes (usa Minikube, Kind o un servicio gestionado como GKE, EKS, AKS).
  2. kubectl instalado y configurado para conectarse a tu clúster.
  3. Una cuenta de GitHub o GitLab para alojar tus manifiestos de Kubernetes.
  4. Conocimientos básicos de la sintaxis YAML (se cubrirá en este taller si eres nuevo).

Guía paso a paso

1. Configuración de un clúster de Kubernetes

Paso 1: Instalar Minikube

Si no tienes un clúster, utiliza Minikube:

Shell

 

Paso 2: Iniciar Minikube

Ejecuta el comando minikube start después de instalar Minikube en tu sistema:

Shell

 

Paso 3: Verificar el clúster

Confirma que el clúster está en ejecución:

Shell

 

2. Instalación de Argo CD

Paso 1: Crear un espacio de nombres

Argo CD se ejecuta en su propio espacio de nombres para aislarlo:

Shell

 

Paso 2: Instalar Argo CD

Aplica los manifiestos oficiales para instalar Argo CD:

Shell

 

Paso 3: Verificar la instalación

Verifica los pods de Argo CD:

Shell

 

3. Acceso a la interfaz de usuario de Argo CD

Paso 1: Exponer Argo CD

Expone el argocd-server en tu máquina local:

Shell

 

Paso 2: Obtener Credenciales de Administrador

Buscar la contraseña de administrador predeterminada:

Shell

 

Paso 3: Iniciar sesión en la interfaz de usuario

  1. Abre https://localhost:8080 en tu navegador.
  2. Inicia sesión con:
    • Nombre de usuario: admin
    • Contraseña: Obtenida en el paso anterior.

4. Conectar Argo CD a tu Repositorio Git

Paso 1: Preparar un Repositorio Git

  1. Crea un repositorio Git (por ejemplo, en GitHub).
  2. Agrega tus manifiestos de Kubernetes al repositorio. Utiliza este ejemplo de deployment.yaml:
YAML

 

Paso 2: Agregar Repositorio a Argo CD

Desde la interfaz de usuario:

  1. Dirígete a Configuración > Repositorios.
  2. Agrega la URL de tu repositorio Git y los detalles de autenticación (SSH o HTTPS).

O, usa la CLI:

Shell

 

5. Implementar tu Primera Aplicación

Paso 1: Crear una Aplicación

En la interfaz de usuario de Argo CD:

  1. Haz clic en Nueva Aplicación.
  2. Llene lo siguiente:
      

    • Nombre de la aplicación: nginx-app
    • Proyecto: default
    • URL del repositorio: URL de su repositorio Git
    • Ruta: Ruta al deployment.yaml
    • URL del clúster: https://kubernetes.default.svc
    • Espacio de nombres: default

Paso 2: Sincronizar la aplicación

Después de crear la aplicación:

  1. Haga clic en Sincronizar en la interfaz de usuario de Argo CD.
  2. Vea cómo la aplicación se implementa en su clúster de Kubernetes.

6. Automatización de implementaciones

Paso 1: Habilitar la sincronización automática

Habilitar la sincronización continua:

Shell

 

Paso 2: Probar cambios

  1. Modifique el deployment.yaml en Git.
  2. Envíe los cambios al repositorio.
  3. Argo CD detectará los cambios y los sincronizará automáticamente en el clúster.

7. Monitoreo y solución de problemas

Paso 1: Monitorear la salud de la aplicación

En la interfaz de usuario, revise:

  • Saúde: Indica se a aplicação está funcionando conforme o esperado.
  • Status de Sincronização: Garante que o estado do cluster corresponda ao Git.

Passo 2: Visualizar Logs

Se algo der errado:

Shell

 

Passo 3: Reverter Alterações

Reverta para um estado anterior:

Shell

 

8. Segurança do Argo CD

Passo 1: Alterar a Senha Padrão do Administrador

Altere a senha padrão do administrador usando o comando argocd account update-password:

Shell

 

Passo 2: Integrar SSO

Para ambientes de produção, integre-se com soluções de Logon Único (SSO) como GitHub ou LDAP.

Melhores Práticas do GitOps

  1. Estratégias de Ramificação: Use ramos separados para desenvolvimento, staging e produção.
  2. Revisões de Código: Exija revisões de pares para alterações de manifesto.
  3. Logs de Auditoria: Revise regularmente os logs do Argo CD para conformidade e depuração.

Conclusão

O Argo CD oferece uma forma amigável para iniciantes, mas poderosa, de gerenciar implantações do Kubernetes usando os princípios do GitOps. Este workshop o equipa com as habilidades para implantar, monitorar e gerenciar aplicativos de forma eficiente. Ao aderir a essas práticas, você está bem encaminhado para dominar a entrega contínua do Kubernetes.

Source:
https://dzone.com/articles/deploying-applications-in-kubernetes-with-argo-cd