Note:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a la cuenta gratuita de Oracle Cloud Infrastructure.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Gestión de clusters de Oracle Cloud Infrastructure Kubernetes Engine en el CD de Argo mediante identidad de carga de trabajo
Introducción
Argo CD es una herramienta de entrega continua declarativa GitOps para Kubernetes. En el momento en que se escribió este tutorial, Argo CD no tiene las capacidades de la interfaz de línea de comandos de Oracle Cloud Infrastructure (OCI CLI) necesarias para generar el token de acceso para Oracle Cloud Infrastructure Kubernetes Engine (OKE), por lo que se necesita una imagen personalizada de Argo CD.
Nota: La imagen base de Argo CD que se utilizó para la imagen personalizada es
quay.io/argoproj/argocd:v2.14.9
.
Objetivos
-
Cree una imagen personalizada de Argo CD que contenga la CLI de OCI.
-
Instale Argo CD en el cluster de OKE mejorado mediante una imagen personalizada.
-
Agregue un cluster básico de OKE a la lista de clusters de CD de Argo mediante
execProviderConfig
. -
Despliegue una aplicación en el cluster básico desde el CD de Argo.
Requisitos
-
Instale Podman o Docker y la CLI
argocd
. -
Cluster mejorado de OKE para instalar Argo CD.
Nota: Solo puede utilizar la identidad de carga de trabajo para clusters mejorados.
-
Cluster de OKE que gestionará Argo CD.
-
Token de autenticación para su usuario de OCI (desde la consola de OCI, vaya a su perfil de usuario y haga clic en Tokens de autenticación), puede tardar hasta 5 minutos en activarse.
-
Permiso para que su usuario de OCI cree repositorios en OCI Container Registry.
Allow group <your_group> to manage repos in tenancy
-
Permiso para que Argo CD gestione los clusters de OKE.
allow any-user to manage all-resources in compartment <compartment_ocid> where all { request.principal.type='workload', request.principal.cluster_id = '<cluster_ocid>', request.principal.namespace = 'argocd', request.principal.service_account = 'argocd-application-controller' }
Nota: Esta política es demasiado abierta, pero puede hacerla tan restrictiva como desee.
- Sustituciones en la política:
compartment_ocid
: debe ser el OCID del compartimento que contiene los clusters que desea gestionar con el CD de Argo.cluster_ocid
: debe ser el OCID del cluster desde el que desea gestionar otros clusters. El que tiene el CD de Argo.request.principal.namespace
: este es el espacio de nombres donde se despliega el CD de Argo.request.principal.service_account
: cuenta de servicio para el controlador de aplicación Argo CD (el que se encarga de la autenticación del cluster).
- Sustituciones en la política:
Tarea 1: Transferencia de la imagen personalizada de Argo CD a OCI Container Registry
Nota: Puede utilizar Podman o docker.
-
Descargue el archivo denominado
Dockerfile
desde aquí:Dockerfile
. -
Ejecute el siguiente comando.
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.
-
Ejecute el siguiente comando.
podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
-
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
.
- Si se utiliza el dominio de identidad:
- La contraseña es el token de autenticación de OCI.
- El usuario es:
-
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 Argo CD con la imagen personalizada
Nota: Actualice solo la imagen para
argocd-application-controller
, ya que es responsable de la autenticación del cluster.
-
Descargue e instale el manifiesto de Argo CD desde aquí: argo-CD/manifests/install.yaml.
-
Edite el archivo para cambiar la imagen de
argocd-application-controller
.- Cambiar de imagen:
quay.io/argoproj/argocd:latest
- A imagen:
ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
- Cambiar de imagen:
-
Ejecute el siguiente comando para crear el espacio de nombres
argocd
.kubectl create namespace argocd
-
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 de CD de Argo
-
Iniciar CD de Argo.
Nota: Puede utilizar un equilibrador de carga de OCI para mostrar el CD de Argo. En este ejemplo, se utilizará
port-forward
en su lugar. Para ello, solo necesita un terminal adicional para el reenvío de puertos.-
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 Argo CD activo.
-
Obtenga la contraseña del administrador de Argo CD con el siguiente comando.
kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
-
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
-
-
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 de CD de Argo.cluster_api_endpoint
: punto final del cluster que desea agregar a la lista de clusters de CD de Argo.cluster_ocid
: OCID del cluster que desea agregar a la lista de clusters de CD de Argo.region
: región en la que reside el cluster.
-
Aplique el archivo para agregar el cluster en la lista de clusters de CD de Argo mediante el siguiente comando.
kubectl apply -f add_cluster.yaml
-
Compruebe si el cluster se ha agregado a la lista de clusters de CD de Argo mediante el siguiente comando.
argocd cluster list
Tarea 4: Prueba mediante el despliegue de una aplicación desde Argo CD en el cluster
-
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.
-
Aplique el archivo para desplegar una aplicación simple en el cluster de destino mediante el siguiente comando.
kubectl apply -f deploy-example.yaml
-
Compruebe si la aplicación se ha desplegado correctamente mediante los siguientes comandos.
argocd app list argocd app sync guestbook
Acuses de recibo
- Autor: Gabriel Feodorov (Ingeniero sénior en la nube)
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.
Manage Oracle Cloud Infrastructure Kubernetes Engine Clusters in Argo CD using Workload Identity
G36149-01
Copyright ©2025, Oracle and/or its affiliates.