Gestion des clusters Oracle Cloud Infrastructure Kubernetes Engine dans ArgoCD à l'aide de l'identité de charge globale

Introduction

ArgoCD est un outil déclaratif de distribution continue GitOps pour Kubernetes. Au moment de la rédaction de ce tutoriel, ArgoCD ne dispose pas des fonctionnalités de l'interface de ligne de commande OCI (Oracle Cloud Infrastructure Command Line Interface) requises pour générer le jeton d'accès pour Oracle Cloud Infrastructure Kubernetes Engine (OKE). Par conséquent, une image ArgoCD personnalisée est requise.

Remarque : l'image ArgoCD de base utilisée pour l'image personnalisée est quay.io/argoproj/argocd:v3.1.1.

Objectifs

Prérequis

Tâche 1 : propagation de l'image personnalisée ArgoCD vers OCI Container Registry

Remarque : vous pouvez utiliser Podman ou docker.

  1. Créez un élément Dockerfile contenant :

    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. Exécutez la commande suivante dans le dossier contenant le fichier Dockerfile.

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

    Remarque : le point (.) à la fin de la commande concerne le répertoire en cours, où se trouve le fichier Dockerfile.

  3. Exécutez la commande suivante .

    podman tag argocd-oci:01 ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  4. Exécutez la commande suivante .

    podman login ocir.**your_region**.oci.oraclecloud.com
    • L'utilisateur est :
      • Si le domaine d'identité est utilisé : your_tenancy_namespace/OracleIdentityCloudService/your_email.
      • Si le domaine par défaut est utilisé : your_tenancy_namespace/your_email.
    • Le mot de passe est votre jeton d'authentification OCI.
  5. Exécutez la commande suivante .

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

Tâche 2 : installer ArgoCD à l'aide de l'image personnalisée

  1. Téléchargez et installez le manifeste ArgoCD à partir d'ici : argo-cd/manifests/install.yaml.

  2. Modifiez le fichier pour remplacer l'image ArgoCD par notre image personnalisée.

    • Modifier à partir de l'image : quay.io/argoproj/argocd
    • A l'image : ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
  3. Exécutez la commande suivante pour créer un espace de noms argocd.

    kubectl create namespace argocd
  4. Exécutez la commande suivante pour déployer argocd.

    kubectl apply -f install.yaml -n argocd

Tâche 3 : ajouter un cluster à la liste des clusters ArgoCD

  1. Démarrez ArgoCD.

    Remarque : vous pouvez utiliser un équilibreur de charge OCI pour exposer ArgoCD. Dans cet exemple, port-forward sera utilisé à la place. Utilisez un terminal supplémentaire uniquement pour le transfert de port.

    1. Dans le second terminal, exécutez la commande suivante.

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

      Remarque : ne fermez pas ce terminal, passez au terminal précédent car il est utilisé pour maintenir le fonctionnement de ArgoCD.

    2. Obtenez le mot de passe d'administrateur ArgoCD à l'aide de la commande suivante.

      kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
    3. Connectez-vous (l'utilisateur est admin, le mot de passe est celui de la commande précédente) à l'aide de la commande suivante.

      argocd login 127.0.0.1:63265
  2. Téléchargez et modifiez le fichier nommé add_cluster.yaml à partir de l'adresse suivante : add_cluster.yaml :

    Remarque : cet exemple utilise le protocole TLS non sécurisé, il peut être modifié.

    • cluster_name : nom du cluster qui apparaîtra dans la liste des clusters ArgoCD.
    • cluster_api_endpoint : adresse du cluster à ajouter à la liste de clusters ArgoCD.
    • cluster_ocid : OCID du cluster à ajouter à la liste de clusters ArgoCD.
    • region : région dans laquelle réside le cluster.
  3. Appliquez le fichier pour ajouter le cluster dans la liste de clusters ArgoCD à l'aide de la commande suivante.

    kubectl apply -f add_cluster.yaml
  4. Vérifiez si le cluster a été ajouté à la liste de clusters ArgoCD à l'aide de la commande suivante.

    argocd cluster list

Tâche 4 : effectuer un test en déployant une application depuis ArgoCD vers le cluster

  1. Téléchargez et modifiez le fichier nommé deploy_example.yaml à partir d'ici : deploy_example.yaml.

    • cluster_name : nom du cluster dans lequel déployer l'application.
  2. Appliquez le fichier pour déployer une application simple vers le cluster cible à l'aide de la commande suivante.

    kubectl apply -f deploy-example.yaml
  3. Vérifiez si l'application a été déployée avec succès à l'aide des commandes suivantes.

    argocd app list
    argocd app sync guestbook

Accusés de réception

Ressources de formation supplémentaires

Explorez d'autres ateliers sur le site docs.oracle.com/learn ou accédez à d'autres contenus d'apprentissage gratuits sur le canal Oracle Learning YouTube. En outre, visitez le site education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour obtenir de la documentation sur le produit, consultez Oracle Help Center.