

 **Aidez à améliorer cette page** 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien **Modifier cette page sur** qui se trouve dans le volet droit de chaque page.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création d’une fonctionnalité Argo CD
<a name="create-argocd-capability"></a>

Cette rubrique explique comment créer une fonctionnalité Argo CD sur votre cluster Amazon EKS.

## Conditions préalables
<a name="_prerequisites"></a>

Avant de créer une fonctionnalité Argo CD, assurez-vous de disposer des éléments suivants :
+ Un cluster Amazon EKS existant exécutant une version de Kubernetes prise en charge (toutes les versions du support standard et étendu sont prises en charge)
+  ** AWS Identity Center configuré** - Nécessaire pour l'authentification sur Argo CD (les utilisateurs locaux ne sont pas pris en charge)
+ Un rôle de capacité IAM avec des autorisations pour Argo CD
+ Autorisations IAM suffisantes pour créer des ressources de capacités sur les clusters EKS
+  `kubectl`configuré pour communiquer avec votre cluster
+ (Facultatif) L'Argo CD CLI est installée pour faciliter la gestion des clusters et des référentiels
+ (Pour CLI/ekSCTL) L'outil CLI approprié est installé et configuré

Pour obtenir des instructions sur la création du rôle de capacité IAM, consultez[Fonctionnalité Amazon EKS : rôle IAM](capability-role.md). Pour la configuration d'Identity Center, consultez [Getting Started with AWS Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html).

**Important**  
Le rôle de capacité IAM que vous fournissez détermine les AWS ressources auxquelles Argo CD peut accéder. Cela inclut l'accès au dépôt Git via CodeConnections et les secrets dans Secrets Manager. Pour obtenir des conseils sur la création d'un rôle approprié avec des autorisations de moindre privilège, consultez [Fonctionnalité Amazon EKS : rôle IAM](capability-role.md) et. [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

## Choisissez votre outil
<a name="_choose_your_tool"></a>

Vous pouvez créer une fonctionnalité Argo CD à l'aide de la AWS Management Console AWS CLI ou de eksctl :
+  [Création d'une fonctionnalité Argo CD à l'aide de la console](argocd-create-console.md)- Utilisez la console pour une expérience guidée
+  [Création d'une fonctionnalité Argo CD à l'aide de la CLI AWS](argocd-create-cli.md)- Utilisez la AWS CLI pour la création de scripts et l'automatisation
+  [Création d'une fonctionnalité Argo CD à l'aide de eksctl](argocd-create-eksctl.md)- Utilisez eksctl pour une expérience native de Kubernetes

## Que se passe-t-il lorsque vous créez une fonctionnalité Argo CD
<a name="_what_happens_when_you_create_an_argo_cd_capability"></a>

Lorsque vous créez une fonctionnalité Argo CD :

1. EKS crée le service de capacité Argo CD dans le plan de AWS contrôle

1. Des définitions de ressources personnalisées (CRDs) sont installées dans votre cluster

1. Une entrée d'accès est automatiquement créée pour votre rôle de capacité IAM avec des politiques d'entrée d'accès spécifiques aux fonctionnalités qui accordent des autorisations Kubernetes de base (voir) [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

1. Argo CD commence à rechercher ses ressources personnalisées (Applications, ApplicationSets, AppProjects)

1. L'état de capacité passe de `CREATING` à `ACTIVE` 

1. L'interface utilisateur d'Argo CD devient accessible via son URL

Une fois actives, vous pouvez créer des applications Argo CD dans votre cluster pour les déployer à partir de vos sources déclaratives.

**Note**  
L'entrée d'accès créée automatiquement n'accorde pas l'autorisation de déployer des applications sur des clusters. Pour déployer des applications, vous devez configurer des autorisations Kubernetes RBAC supplémentaires pour chaque cluster cible. Consultez [Enregistrer les clusters cibles](argocd-register-clusters.md) pour plus de détails sur l'enregistrement des clusters et la configuration de l'accès.

## Étapes suivantes
<a name="_next_steps"></a>

Après avoir créé la fonctionnalité Argo CD :
+  [Concepts d'Argo CD](argocd-concepts.md)- Découvrez GitOps les principes, les politiques de synchronisation et les modèles multi-clusters
+  [Travailler avec Argo CD](working-with-argocd.md)- Configurer l'accès au référentiel, enregistrer les clusters cibles et créer des applications
+  [Considérations relatives à Argo CD](argocd-considerations.md)- Explorez les modèles d'architecture multi-clusters et la configuration avancée

# Création d'une fonctionnalité Argo CD à l'aide de la console
<a name="argocd-create-console"></a>

Cette rubrique décrit comment créer une fonctionnalité Argo CD à l'aide du AWS Management Console.

## Conditions préalables
<a name="_prerequisites"></a>
+  ** AWS Identity Center configuré** : Argo CD nécessite AWS Identity Center pour l'authentification. Les utilisateurs locaux ne sont pas pris en charge. Si AWS Identity Center n'est pas configuré, consultez [Commencer à utiliser AWS Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) pour créer une instance d'Identity Center, et [Ajouter des utilisateurs et Ajouter](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) [des groupes](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) pour créer des utilisateurs et des groupes pour accéder à Argo CD.

## Création de la fonctionnalité Argo CD
<a name="_create_the_argo_cd_capability"></a>

1. Ouvrez la console Amazon EKS à l'adresse https://console.aws.amazon.com/eks/ home\$1/clusters.

1. Sélectionnez le nom de votre cluster pour ouvrir la page détaillée du cluster.

1. Choisissez l'onglet **Fonctionnalités**.

1. Dans le menu de navigation de gauche, choisissez **Argo CD**.

1. Choisissez la **fonctionnalité Create Argo CD.**

1. Pour le **rôle de capacité IAM** :
   + Si vous possédez déjà un rôle de capacité IAM, sélectionnez-le dans le menu déroulant
   + Si vous devez créer un rôle, choisissez **Créer un rôle Argo CD** 

     Cela ouvre la console IAM dans un nouvel onglet avec une politique de confiance préremplie et un accès complet en lecture à Secrets Manager. Aucune autre autorisation n'est ajoutée par défaut, mais vous pouvez les ajouter si nécessaire. Si vous prévoyez d'utiliser CodeCommit des référentiels ou d'autres AWS services, ajoutez les autorisations appropriées avant de créer le rôle.

     Après avoir créé le rôle, retournez à la console EKS et le rôle sera automatiquement sélectionné.
**Note**  
Si vous envisagez d'utiliser les intégrations facultatives avec AWS Secrets Manager or AWS CodeConnections, vous devrez ajouter des autorisations au rôle. Pour des exemples de politique IAM et des conseils de configuration, reportez-vous aux sections [Gérez les secrets des applications avec AWS Secrets Manager](integration-secrets-manager.md) et[Connectez-vous aux référentiels Git avec AWS CodeConnections](integration-codeconnections.md).

1. Configurer AWS l'intégration d'Identity Center :

   1. Sélectionnez **Activer AWS l'intégration d'Identity Center**.

   1. Choisissez votre instance Identity Center dans le menu déroulant.

   1. Configurez les mappages de rôles pour RBAC en affectant des utilisateurs ou des groupes à des rôles Argo CD (ADMIN, EDITOR ou VIEWER)

1. Choisissez **Créer**.

Le processus de création de capacités commence.

## Vérifiez que la fonctionnalité est active
<a name="_verify_the_capability_is_active"></a>

1. Dans l'onglet **Fonctionnalités**, consultez l'état des capacités de l'Argo CD.

1. Attendez que le statut passe de `CREATING` à`ACTIVE`.

1. Une fois active, la fonctionnalité est prête à être utilisée.

Pour plus d'informations sur l'état des fonctionnalités et la résolution des problèmes, consultez[Utilisation des ressources en matière de capacités](working-with-capabilities.md).

## Accédez à l'interface utilisateur d'Argo CD
<a name="_access_the_argo_cd_ui"></a>

Une fois la fonctionnalité activée, vous pouvez accéder à l'interface utilisateur d'Argo CD :

1. Sur la page des fonctionnalités d'Argo CD, choisissez **Ouvrir l'interface utilisateur d'Argo CD**.

1. L'interface utilisateur d'Argo CD s'ouvre dans un nouvel onglet du navigateur.

1. Vous pouvez désormais créer des applications et gérer les déploiements via l'interface utilisateur.

## Étapes suivantes
<a name="_next_steps"></a>
+  [Travailler avec Argo CD](working-with-argocd.md)- Configurer des référentiels, enregistrer des clusters et créer des applications
+  [Considérations relatives à Argo CD](argocd-considerations.md)- Architecture multi-clusters et configuration avancée
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez vos ressources de capacités Argo CD

# Création d'une fonctionnalité Argo CD à l'aide de la CLI AWS
<a name="argocd-create-cli"></a>

Cette rubrique décrit comment créer une fonctionnalité Argo CD à l'aide de la AWS CLI.

## Conditions préalables
<a name="_prerequisites"></a>
+  ** AWS CLI** : version `2.12.3` ou ultérieure. Pour vérifier votre version, lancez`aws --version`. Pour plus d'informations, consultez la section [Installation](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) dans le guide de l'utilisateur de l'interface de ligne de AWS commande.
+  ** `kubectl` ** : outil de ligne de commande pour travailler avec des clusters Kubernetes. Pour de plus amples informations, veuillez consulter [Configuration de `kubectl` et `eksctl`](install-kubectl.md).
+  ** AWS Identity Center configuré** : Argo CD nécessite AWS Identity Center pour l'authentification. Les utilisateurs locaux ne sont pas pris en charge. Si AWS Identity Center n'est pas configuré, consultez [Commencer à utiliser AWS Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) pour créer une instance d'Identity Center, et [Ajouter des utilisateurs et Ajouter](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) [des groupes](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) pour créer des utilisateurs et des groupes pour accéder à Argo CD.

## Étape 1 : Création d'un rôle de capacité IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Créez un fichier de politique de confiance :

```
cat > argocd-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "capabilities.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
EOF
```

Créez le rôle IAM :

```
aws iam create-role \
  --role-name ArgoCDCapabilityRole \
  --assume-role-policy-document file://argocd-trust-policy.json
```

**Note**  
Si vous envisagez d'utiliser les intégrations facultatives avec AWS Secrets Manager or AWS CodeConnections, vous devrez ajouter des autorisations au rôle. Pour des exemples de politique IAM et des conseils de configuration, reportez-vous aux sections [Gérez les secrets des applications avec AWS Secrets Manager](integration-secrets-manager.md) et[Connectez-vous aux référentiels Git avec AWS CodeConnections](integration-codeconnections.md).

## Étape 2 : Création de la fonctionnalité Argo CD
<a name="_step_2_create_the_argo_cd_capability"></a>

Créez la ressource de capacité Argo CD sur votre cluster.

Définissez d'abord les variables d'environnement pour la configuration de votre Identity Center :

```
# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region)
export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].InstanceArn' --output text)

# Get a user ID for RBAC mapping (replace with your username and region if needed)
export IDC_USER_ID=$(aws identitystore list-users \
  --region [.replaceable]`region` \
  --identity-store-id $(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text)

echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN"
echo "IDC_USER_ID=$IDC_USER_ID"
```

Créez la fonctionnalité grâce à l'intégration d'Identity Center. *region-code*Remplacez-le par la AWS région où se trouve votre cluster, *my-cluster* par le nom de votre cluster et *idc-region-code* par le code de région dans lequel votre centre d'identité IAM a été configuré :

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --type ARGOCD \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \
  --delete-propagation-policy RETAIN \
  --configuration '{
    "argoCd": {
      "awsIdc": {
        "idcInstanceArn": "'$IDC_INSTANCE_ARN'",
        "idcRegion": "'[.replaceable]`idc-region-code`'"
      },
      "rbacRoleMappings": [{
        "role": "ADMIN",
        "identities": [{
          "id": "'$IDC_USER_ID'",
          "type": "SSO_USER"
        }]
      }]
    }
  }'
```

La commande revient immédiatement, mais la fonctionnalité met un certain temps à devenir active car EKS crée l'infrastructure et les composants de capacité requis. EKS installera les définitions de ressources personnalisées Kubernetes associées à cette fonctionnalité dans votre cluster lors de sa création.

**Note**  
Si vous recevez un message d'erreur indiquant que le cluster n'existe pas ou que vous n'êtes pas autorisé, vérifiez :  
Le nom du cluster est correct
Votre AWS CLI est configurée pour la bonne région
Vous disposez des autorisations IAM requises

## Étape 3 : vérifier que la fonctionnalité est active
<a name="_step_3_verify_the_capability_is_active"></a>

Attendez que la fonctionnalité soit activée. Remplacez *region-code* par la AWS région où se trouve votre cluster et *my-cluster* par le nom de votre cluster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --query 'capability.status' \
  --output text
```

La fonctionnalité est prête lorsque l'état s'affiche`ACTIVE`. Ne passez pas à l'étape suivante tant que le statut n'est pas atteint`ACTIVE`.

Vous pouvez également consulter les détails complets des fonctionnalités :

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd
```

## Étape 4 : vérifier que les ressources personnalisées sont disponibles
<a name="_step_4_verify_custom_resources_are_available"></a>

Une fois la fonctionnalité activée, vérifiez que les ressources personnalisées Argo CD sont disponibles dans votre cluster :

```
kubectl api-resources | grep argoproj.io
```

Vous devriez voir apparaître une liste `Application` `ApplicationSet` des types de ressources.

## Étapes suivantes
<a name="_next_steps"></a>
+  [Travailler avec Argo CD](working-with-argocd.md)- Configurer des référentiels, enregistrer des clusters et créer des applications
+  [Considérations relatives à Argo CD](argocd-considerations.md)- Architecture multi-clusters et configuration avancée
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez vos ressources de capacités Argo CD

# Création d'une fonctionnalité Argo CD à l'aide de eksctl
<a name="argocd-create-eksctl"></a>

Cette rubrique décrit comment créer une fonctionnalité Argo CD à l'aide de eksctl.

**Note**  
Les étapes suivantes nécessitent la version eksctl `0.220.0` ou une version ultérieure. Pour vérifier votre version, lancez`eksctl version`.

## Étape 1 : Création d'un rôle de capacité IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Créez un fichier de politique de confiance :

```
cat > argocd-trust-policy.json << 'EOF'
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "capabilities.eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}
EOF
```

Créez le rôle IAM :

```
aws iam create-role \
  --role-name ArgoCDCapabilityRole \
  --assume-role-policy-document file://argocd-trust-policy.json
```

**Note**  
Pour cette configuration de base, aucune politique IAM supplémentaire n'est nécessaire. Si vous prévoyez d'utiliser Secrets Manager pour les informations d'identification du référentiel CodeConnections, vous devez également ajouter des autorisations au rôle. Pour des exemples de politique IAM et des conseils de configuration, reportez-vous aux sections [Gérez les secrets des applications avec AWS Secrets Manager](integration-secrets-manager.md) et[Connectez-vous aux référentiels Git avec AWS CodeConnections](integration-codeconnections.md).

## Étape 2 : obtenir la configuration de votre AWS Identity Center
<a name="step_2_get_your_shared_aws_identity_center_configuration"></a>

Obtenez l'ARN et l'ID utilisateur de votre instance Identity Center pour la configuration du RBAC :

```
# Get your Identity Center instance ARN
aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text

# Get a user ID for admin access (replace 'your-username' with your Identity Center username)
aws identitystore list-users \
  --identity-store-id $(aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text
```

Notez ces valeurs, vous en aurez besoin à l'étape suivante.

## Étape 3 : Création d'un fichier de configuration eksctl
<a name="_step_3_create_an_eksctl_configuration_file"></a>

Créez un fichier nommé `argocd-capability.yaml` avec le contenu suivant. Remplacez les valeurs de l'espace réservé par le nom de votre cluster, la région du cluster, l'ARN du rôle IAM, l'ARN de l'instance Identity Center, la région du centre d'identité et l'ID utilisateur :

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: my-cluster
  region: cluster-region-code

capabilities:
  - name: my-argocd
    type: ARGOCD
    roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole
    deletePropagationPolicy: RETAIN
    configuration:
      argocd:
        awsIdc:
          idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc
          idcRegion: idc-region-code
        rbacRoleMappings:
          - role: ADMIN
            identities:
              - id: 38414300-1041-708a-01af-5422d6091e34
                type: SSO_USER
```

**Note**  
Vous pouvez ajouter plusieurs utilisateurs ou groupes aux mappages RBAC. Pour les groupes, utilisez `type: SSO_GROUP` et fournissez l'ID du groupe. Les rôles disponibles sont `ADMIN``EDITOR`, et`VIEWER`.

## Étape 4 : Création de la fonctionnalité Argo CD
<a name="_step_4_create_the_argo_cd_capability"></a>

Appliquez le fichier de configuration :

```
eksctl create capability -f argocd-capability.yaml
```

La commande revient immédiatement, mais la fonctionnalité met un certain temps à devenir active.

## Étape 5 : vérifier que la fonctionnalité est active
<a name="_step_5_verify_the_capability_is_active"></a>

Vérifiez l'état des capacités. Remplacez *region-code* par la AWS région dans laquelle se trouve votre cluster et remplacez *my-cluster* par le nom de votre cluster.

```
eksctl get capability \
  --region region-code \
  --cluster my-cluster \
  --name my-argocd
```

La fonctionnalité est prête lorsque l'état s'affiche`ACTIVE`.

## Étape 6 : vérifier que les ressources personnalisées sont disponibles
<a name="_step_6_verify_custom_resources_are_available"></a>

Une fois la fonctionnalité activée, vérifiez que les ressources personnalisées Argo CD sont disponibles dans votre cluster :

```
kubectl api-resources | grep argoproj.io
```

Vous devriez voir apparaître une liste `Application` `ApplicationSet` des types de ressources.

## Étapes suivantes
<a name="_next_steps"></a>
+  [Travailler avec Argo CD](working-with-argocd.md)- Apprenez à créer et à gérer des applications Argo CD
+  [Considérations relatives à Argo CD](argocd-considerations.md)- Configurer l'accès SSO et multi-clusters
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez vos ressources de capacités Argo CD