Gestire i cluster Oracle Cloud Infrastructure Kubernetes Engine in ArgoCD utilizzando l'identità del carico di lavoro

Introduzione

ArgoCD è uno strumento di consegna continua dichiarativa e GitOps per Kubernetes. Al momento della scrittura di questa esercitazione, ArgoCD 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 ArgoCD personalizzata.

Nota: l'immagine ArgoCD di base utilizzata per l'immagine personalizzata è quay.io/argoproj/argocd:v3.1.1.

Obiettivi

Prerequisiti

Task 1: Invio dell'immagine personalizzata ArgoCD al registro contenitore OCI

Nota: è possibile utilizzare Podman o docker.

  1. Creare un Dockerfile contenente:

    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. Eseguire il comando seguente all'interno della cartella contenente il 'Dockerfile'.

    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.

  3. 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
  4. 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.
    • La password è il token di autenticazione OCI.
  5. 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 ArgoCD utilizzando l'immagine personalizzata

  1. Scaricare e installare il file manifesto ArgoCD da qui: argo-cd/manifests/install.yaml.

  2. Modificare il file per sostituire l'immagine ArgoCD con l'immagine personalizzata.

    • Cambiare da immagine: quay.io/argoproj/argocd
    • Immagine di destinazione: ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. Eseguire il comando seguente per creare lo spazio di nomi argocd.

    kubectl create namespace argocd
  4. Eseguire il comando seguente per distribuire argocd.

    kubectl apply -f install.yaml -n argocd

Task 3: aggiungere un cluster alla lista di cluster ArgoCD

  1. Avviare ArgoCD.

    Nota: è possibile utilizzare un load balancer OCI per esporre ArgoCD. In questo esempio verrà utilizzato port-forward. Utilizzare un terminale aggiuntivo solo per l'inoltro delle porte.

    1. 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 ArgoCD.

    2. Ottenere la password dell'amministratore ArgoCD utilizzando il comando seguente.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Eseguire il login (l'utente è admin, la password è quella del comando precedente) utilizzando il comando seguente.

      argocd login 127.0.0.1:63265
  2. 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 ArgoCD.
    • cluster_api_endpoint: endpoint del cluster che si desidera aggiungere alla lista di cluster ArgoCD.
    • cluster_ocid: OCID del cluster che si desidera aggiungere alla lista di cluster ArgoCD.
    • region: l'area in cui risiede il cluster.
  3. Applicare il file per aggiungere il cluster nella lista di cluster ArgoCD utilizzando il comando seguente.

    kubectl apply -f add_cluster.yaml
  4. Controllare se il cluster è stato aggiunto alla lista di cluster ArgoCD utilizzando il comando seguente.

    argocd cluster list

Task 4: eseguire il test distribuendo un'applicazione da ArgoCD al cluster

  1. 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.
  2. Applicare il file per distribuire un'applicazione semplice al cluster di destinazione utilizzando il comando seguente.

    kubectl apply -f deploy-example.yaml
  3. Controllare che l'applicazione sia stata distribuita correttamente utilizzando i seguenti comandi.

    argocd app list
    argocd app sync guestbook

Conferme

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.