Remarques :
- Ce tutoriel nécessite l'accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction à Oracle Cloud Infrastructure Free Tier.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. Lorsque vous terminez votre atelier, remplacez ces valeurs par celles propres à votre environnement cloud.
Gérer les clusters Oracle Cloud Infrastructure Kubernetes Engine dans le CD Argo à l'aide de l'identité de charge globale
Introduction
Argo CD est un outil de livraison continue déclaratif GitOps pour Kubernetes. Au moment de la rédaction de ce tutoriel, le CD Argo ne dispose pas des fonctionnalités de l'interface de ligne de commande Oracle Cloud Infrastructure (interface de ligne de commande OCI) requises pour générer le jeton d'accès pour Oracle Cloud Infrastructure Kubernetes Engine (OKE). Par conséquent, une image de CD Argo personnalisée est requise.
Remarque : l'image Argo CD de base utilisée pour l'image personnalisée est
quay.io/argoproj/argocd:v2.14.9
.
Objectifs
-
Créez une image Argo CD personnalisée contenant l'interface de ligne de commande OCI.
-
Installez Argo CD sur un cluster OKE amélioré à l'aide d'une image personnalisée.
-
Ajoutez un cluster OKE de base à la liste des clusters de CD Argo à l'aide de
execProviderConfig
. -
Déployez une application sur le cluster de base à partir du CD Argo.
Prérequis
-
Installez Podman ou Docker et la CLI
argocd
. -
Cluster amélioré OKE pour installer le CD Argo.
Remarque : vous ne pouvez utiliser l'identité de charge globale que pour les clusters améliorés.
-
Cluster OKE à gérer par le CD Argo.
-
Jeton d'authentification pour votre utilisateur OCI (à partir de la console OCI, accédez à votre profil utilisateur et cliquez sur Jetons d'authentification), l'activation peut prendre jusqu'à 5 minutes.
-
Droit d'accès permettant à l'utilisateur OCI de créer des référentiels dans OCI Container Registry.
Allow group <your_group> to manage repos in tenancy
-
Autorisation pour Argo CD de gérer des clusters 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' }
Remarque : cette stratégie est trop ouverte, mais vous pouvez la rendre aussi restrictive que vous le souhaitez.
- Remplacements dans la stratégie :
compartment_ocid
: il doit s'agir de l'OCID de compartiment contenant les clusters à gérer avec le CD Argo.cluster_ocid
: il doit s'agir de l'OCID de cluster à partir duquel gérer les autres clusters. Celui qui a le CD Argo.request.principal.namespace
: espace de noms dans lequel le CD Argo est déployé.request.principal.service_account
: compte de service pour le contrôleur d'application Argo CD (celui chargé de l'authentification de cluster).
- Remplacements dans la stratégie :
Tâche 1 : propagation de l'image personnalisée du CD Argo vers OCI Container Registry
Remarque : vous pouvez utiliser Podman ou docker.
-
Téléchargez le fichier nommé
Dockerfile
à partir d'ici :Dockerfile
. -
Exécutez la commande suivante .
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.
-
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
-
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
.
- Si le domaine d'identité est utilisé :
- Le mot de passe est votre jeton d'authentification OCI.
- L'utilisateur est :
-
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 le CD Argo à l'aide de l'image personnalisée
Remarque : mettez à jour uniquement l'image pour
argocd-application-controller
car elle est responsable de l'authentification de cluster.
-
Téléchargez et installez le manifeste de CD Argo à partir d'ici : argo-CD/manifests/install.yaml.
-
Modifiez le fichier pour modifier l'image de
argocd-application-controller
.- Modifier à partir de l'image :
quay.io/argoproj/argocd:latest
- A l'image :
ocir.**your_region**.oci.oraclecloud.com/**your_tenancy_namespace**/**your_repository_name**/argocd-oci:01
- Modifier à partir de l'image :
-
Exécutez la commande suivante pour créer un espace de noms
argocd
.kubectl create namespace argocd
-
Exécutez la commande suivante pour déployer
argocd
.kubectl apply -f install.yaml -n argocd
Tâche 3 : ajout d'un cluster à la liste des clusters de CD Argo
-
Démarrez Argo CD.
Remarque : vous pouvez utiliser un équilibreur de charge OCI pour exposer le CD Argo. Dans cet exemple,
port-forward
sera utilisé à la place. Pour cela, vous avez besoin d'un terminal supplémentaire uniquement pour le transfert de port.-
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 CD Argo actif.
-
Obtenez le mot de passe d'administrateur Argo CD à l'aide de la commande suivante.
kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
-
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
-
-
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 de CD Argo.cluster_api_endpoint
: adresse du cluster à ajouter à la liste des clusters de CD Argo.cluster_ocid
: OCID du cluster à ajouter à la liste des clusters de CD Argo.region
: région dans laquelle réside le cluster.
-
Appliquez le fichier pour ajouter le cluster dans la liste des clusters Argo CD à l'aide de la commande suivante.
kubectl apply -f add_cluster.yaml
-
Vérifiez si le cluster a été ajouté à la liste des clusters Argo CD à l'aide de la commande suivante.
argocd cluster list
Tâche 4 : effectuer un test en déployant une application du CD Argo vers le cluster
-
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.
-
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
-
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
- Auteur - Gabriel Feodorov (ingénieur cloud senior)
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.
Manage Oracle Cloud Infrastructure Kubernetes Engine Clusters in Argo CD using Workload Identity
G36151-01
Copyright ©2025, Oracle and/or its affiliates.