Gestión de clusters de Oracle Cloud Infrastructure Kubernetes Engine en ArgoCD mediante la identidad de carga de trabajo

Introducción

ArgoCD es una herramienta de entrega continua declarativa de GitOps para Kubernetes. En el momento de escribir este tutorial, ArgoCD no tiene las capacidades de la interfaz de línea de comandos de Oracle Cloud Infrastructure (CLI de OCI) necesarias para generar el token de acceso para Oracle Cloud Infrastructure Kubernetes Engine (OKE), por lo que se necesita una imagen ArgoCD personalizada.

Nota: La imagen base ArgoCD que se utilizó para la imagen personalizada es quay.io/argoproj/argocd:v3.1.1.

Objetivos

Requisitos

Tarea 1: Transferencia de la imagen personalizada ArgoCD a OCI Container Registry

Nota: Puede utilizar Podman o docker.

  1. Cree una Dockerfile que contenga:

    FROM quay.io/argoproj/argocd:v3.1.1
    
    USER root
    
    
    RUN apt-get update; \
        apt-get install -y --no-install-recommends python3-venv; \
        python3 -m venv /opt/oci; \
        /opt/oci/bin/pip install --no-cache-dir --upgrade pip; \
        /opt/oci/bin/pip install --no-cache-dir "oci-cli==3.65.0"; \
        ln -s /opt/oci/bin/oci /usr/local/bin/oci; \
        apt-get clean; \
        rm -rf /var/lib/apt/lists/*
    
    USER 999
  2. Ejecute el siguiente comando dentro de la carpeta que contiene 'Dockerfile'.

    podman build --platform linux/amd64 -t argocd-oci:01 .

    Nota: El punto (.) al final del comando es para el directorio actual, donde se encuentra Dockerfile.

  3. Ejecute el siguiente comando.

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  4. Ejecute el siguiente comando.

    podman login ocir.**your_region**.oci.oraclecloud.com
    • El usuario es:
      • Si se utiliza el dominio de identidad: your_tenancy_namespace/OracleIdentityCloudService/your_email.
      • Si se utiliza el dominio predeterminado: your_tenancy_namespace/your_email.
    • La contraseña es el token de autenticación de OCI.
  5. Ejecute el siguiente comando.

    podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01

Tarea 2: Instalación de ArgoCD mediante la imagen personalizada

  1. Descargue e instale el manifiesto ArgoCD desde aquí: argo-cd/manifests/install.yaml.

  2. Edite el archivo para sustituir la imagen ArgoCD en nuestra imagen personalizada.

    • Cambiar de imagen: quay.io/argoproj/argocd
    • A imagen: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. Ejecute el siguiente comando para crear el espacio de nombres argocd.

    kubectl create namespace argocd
  4. Ejecute el siguiente comando para desplegar argocd.

    kubectl apply -f install.yaml -n argocd

Tarea 3: Adición de un cluster a la lista de clusters ArgoCD

  1. Inicie ArgoCD.

    Nota: Puede utilizar un equilibrador de carga de OCI para mostrar ArgoCD. En este ejemplo, se utilizará port-forward en su lugar. Utilice un terminal adicional solo para el reenvío del puerto.

    1. En el segundo terminal, ejecute el siguiente comando.

      kubectl port-forward service/argocd-server -n argocd 63265:80

      Nota: No cierre este terminal, cambie al anterior, ya que se utiliza para mantener ArgoCD activo.

    2. Obtenga la contraseña del administrador ArgoCD mediante el siguiente comando.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Inicie sesión (el usuario es admin, la contraseña es la del comando anterior) con el siguiente comando.

      argocd login 127.0.0.1:63265
  2. Descargue y edite el archivo denominado add_cluster.yaml desde aquí: add_cluster.yaml:

    Nota: En este ejemplo se utiliza un TLS no seguro, que se puede cambiar.

    • cluster_name: nombre del cluster que aparecerá en la lista de clusters ArgoCD.
    • cluster_api_endpoint: punto final del cluster que desea agregar a la lista de clusters ArgoCD.
    • cluster_ocid: OCID del cluster que desea agregar a la lista de clusters ArgoCD.
    • region: región en la que reside el cluster.
  3. Aplique el archivo para agregar el cluster en la lista de clusters ArgoCD mediante el siguiente comando.

    kubectl apply -f add_cluster.yaml
  4. Compruebe si el cluster se ha agregado a la lista de clusters ArgoCD mediante el siguiente comando.

    argocd cluster list

Tarea 4: Prueba mediante el despliegue de una aplicación de ArgoCD en el cluster

  1. Descargue y edite el archivo denominado deploy_example.yaml desde aquí: deploy_example.yaml.

    • cluster_name: nombre del cluster que desea desplegar la aplicación.
  2. Aplique el archivo para desplegar una aplicación simple en el cluster de destino mediante el siguiente comando.

    kubectl apply -f deploy-example.yaml
  3. Compruebe si la aplicación se ha desplegado correctamente mediante los siguientes comandos.

    argocd app list
    argocd app sync guestbook

Acuses de recibo

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre el producto, visite Oracle Help Center.