Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Quando completi il tuo laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Gestisci cluster Oracle Cloud Infrastructure Kubernetes Engine in Argo CD utilizzando l'identità del carico di lavoro
Introduzione
Argo CD è uno strumento di distribuzione continua GitOps dichiarativo per Kubernetes. Al momento della scrittura di questa esercitazione, Argo CD non dispone delle funzionalità CLI (Command Line Interface) di Oracle Cloud Infrastructure necessarie per generare il token di accesso per Oracle Cloud Infrastructure Kubernetes Engine (OKE), pertanto è necessaria un'immagine CD Argo personalizzata.
Nota: l'immagine CD Argo di base utilizzata per l'immagine personalizzata è
quay.io/argoproj/argocd:v2.14.9
.
Obiettivi
-
Creare un'immagine CD Argo personalizzata contenente l'interfaccia CLI OCI.
-
Installare Argo CD nel cluster OKE avanzato utilizzando un'immagine personalizzata.
-
Aggiungere un cluster OKE di base alla lista di cluster CD Argo utilizzando
execProviderConfig
. -
Distribuire un'applicazione sul cluster di base da Argo CD.
Prerequisiti
-
Installare Podman o Docker e l'interfaccia CLI
argocd
. -
Cluster avanzato OKE per l'installazione di Argo CD.
Nota: è possibile utilizzare l'identità del carico di lavoro solo per i cluster avanzati.
-
Cluster OKE da gestire da Argo CD.
-
Token di autenticazione per l'utente OCI (dalla console OCI, andare al profilo utente e fare clic su Token di autenticazione), che può richiedere fino a 5 minuti per l'attivazione.
-
Permesso per l'utente OCI di creare repository in OCI Container Registry.
Allow group <your_group> to manage repos in tenancy
-
Autorizzazione per Argo CD per la gestione dei cluster 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: questo criterio è troppo aperto, ma è possibile renderlo restrittivo come si desidera.
- Sostituzioni nella polizza:
compartment_ocid
: deve essere l'OCID del compartimento che contiene i cluster che si desidera gestire con Argo CD.cluster_ocid
: deve essere l'OCID cluster da cui si desidera gestire altri cluster. Quello che ha Argo CD.request.principal.namespace
: questo è lo spazio di nomi in cui viene distribuito Argo CD.request.principal.service_account
: questo è l'account di servizio per il controller dell'applicazione Argo CD (quello responsabile per l'autenticazione del cluster).
- Sostituzioni nella polizza:
Task 1: Invio dell'immagine personalizzata del CD Argo al registro container OCI
Nota: è possibile utilizzare Podman o docker.
-
Scaricare il file denominato
Dockerfile
da qui:Dockerfile
. -
Eseguire il comando riportato di seguito.
podman build --platform linux/amd64 -t argocd-oci:01 .
Nota: il punto (.) alla fine del comando si riferisce alla directory corrente, in cui si trova il Dockerfile.
-
Eseguire il comando riportato di seguito.
podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
-
Eseguire il comando riportato di seguito.
podman login ocir.**your_region**.oci.oraclecloud.com
- L'utente è:
- Se si utilizza il dominio di Identity:
your_tenancy_namespace
/OracleIdentityCloudService
/your_email
. - Se si utilizza il dominio predefinito:
your_tenancy_namespace
/your_email
.
- Se si utilizza il dominio di Identity:
- La password è il token di autenticazione OCI.
- L'utente è:
-
Eseguire il comando riportato di seguito.
podman push ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
Task 2: Installare Argo CD utilizzando l'immagine personalizzata
Nota: aggiornare solo l'immagine per
argocd-application-controller
in quanto responsabile dell'autenticazione del cluster.
-
Scaricare e installare il file manifesto del CD Argo da qui: argo-CD/manifests/install.yaml.
-
Modificare il file per modificare l'immagine per
argocd-application-controller
.- Cambiare da immagine:
quay.io/argoproj/argocd:latest
- Immagine di destinazione:
ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
- Cambiare da immagine:
-
Eseguire il comando seguente per creare lo spazio di nomi
argocd
.kubectl create namespace argocd
-
Eseguire il comando seguente per distribuire
argocd
.kubectl apply -f install.yaml -n argocd
Task 3: Aggiungi cluster a elenco cluster CD Argo
-
Avvia Argo CD.
Nota: puoi utilizzare un load balancer OCI per esporre Argo CD. In questo esempio verrà utilizzato
port-forward
. Per questo è necessario un terminale aggiuntivo solo per l'inoltro della porta.-
Nel secondo terminale, eseguire il comando seguente.
kubectl port-forward service/argocd-server -n argocd 63265:80
Nota: non chiudere questo terminale, passare a quello precedente poiché viene utilizzato per mantenere attivo Argo CD.
-
Ottenere la password di amministratore di Argo CD utilizzando il comando seguente.
kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
-
Eseguire il login (l'utente è admin, la password è quella del comando precedente) utilizzando il comando seguente.
argocd login 127.0.0.1:63265
-
-
Scaricare e modificare il file denominato
add_cluster.yaml
da qui: add_cluster.yaml:Nota: questo esempio utilizza TLS non sicuro e può essere modificato.
cluster_name
: nome del cluster che verrà visualizzato nella lista di cluster CD Argo.cluster_api_endpoint
: l'endpoint del cluster che si desidera aggiungere alla lista di cluster CD Argo.cluster_ocid
: l'OCID del cluster che si desidera aggiungere alla lista di cluster CD Argo.region
: l'area in cui risiede il cluster.
-
Applicare il file per aggiungere il cluster nella lista di cluster Argo CD utilizzando il comando seguente.
kubectl apply -f add_cluster.yaml
-
Controllare se il cluster è stato aggiunto alla lista di cluster CD Argo utilizzando il comando seguente.
argocd cluster list
Task 4: eseguire il test distribuendo un'applicazione da Argo CD al cluster
-
Scaricare e modificare il file denominato
deploy_example.yaml
da qui: deploy_example.yaml.cluster_name
: nome del cluster che si desidera distribuire l'applicazione.
-
Applicare il file per distribuire un'applicazione semplice al cluster di destinazione utilizzando il comando seguente.
kubectl apply -f deploy-example.yaml
-
Controllare che l'applicazione sia stata distribuita correttamente utilizzando i seguenti comandi.
argocd app list argocd app sync guestbook
Conferme
- Autore - Gabriel Feodorov (ingegnere senior cloud)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Manage Oracle Cloud Infrastructure Kubernetes Engine Clusters in Argo CD using Workload Identity
G36152-01
Copyright ©2025, Oracle and/or its affiliates.