

 **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é ACK
<a name="create-ack-capability"></a>

Ce chapitre explique comment créer une fonctionnalité ACK sur votre cluster Amazon EKS.

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

Avant de créer une fonctionnalité ACK, assurez-vous d'avoir :
+ Un cluster Amazon EKS
+ Un rôle de capacité IAM avec des autorisations permettant à ACK de gérer les ressources AWS 
+ Autorisations IAM suffisantes pour créer des ressources de capacités sur les clusters EKS
+ L'outil CLI approprié installé et configuré, ou l'accès à la console EKS

Pour obtenir des instructions sur la création du rôle de capacité IAM, consultez[Fonctionnalité Amazon EKS : rôle IAM](capability-role.md).

**Important**  
ACK est une fonctionnalité de gestion d'infrastructure qui permet de créer, de modifier et de supprimer AWS des ressources. Il s'agit d'une fonctionnalité réservée aux administrateurs qui doit être soigneusement contrôlée. Toute personne autorisée à créer des ressources Kubernetes dans votre cluster peut créer efficacement des AWS ressources via ACK, sous réserve des autorisations du rôle de capacité IAM. Le rôle de capacité IAM que vous fournissez détermine les AWS ressources qu'ACK peut créer et gérer. 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é ACK à l'aide de la AWS Management Console AWS CLI ou de eksctl :
+  [Création d'une fonctionnalité ACK à l'aide de la console](ack-create-console.md)- Utilisez la console pour une expérience guidée
+  [Création d'une fonctionnalité ACK à l'aide de la AWS CLI](ack-create-cli.md)- Utilisez la AWS CLI pour la création de scripts et l'automatisation
+  [Création d'une capacité ACK à l'aide de eksctl](ack-create-eksctl.md)- Utilisez eksctl pour une expérience native de Kubernetes

## Que se passe-t-il lorsque vous créez une fonctionnalité ACK ?
<a name="_what_happens_when_you_create_an_ack_capability"></a>

Lorsque vous créez une fonctionnalité ACK :

1. EKS crée le service de capacité ACK et le configure pour surveiller et gérer les ressources de votre cluster

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. La fonctionnalité assume le rôle de capacité IAM que vous fournissez.

1. ACK commence à surveiller ses ressources personnalisées dans votre cluster

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

Une fois active, vous pouvez créer des ressources personnalisées ACK dans votre cluster pour gérer les AWS ressources.

**Note**  
L'entrée d'accès créée automatiquement inclut celle `AmazonEKSACKPolicy` qui accorde à ACK les autorisations nécessaires pour gérer les AWS ressources. Certaines ressources ACK qui font référence à des secrets Kubernetes (telles que les bases de données RDS avec mots de passe) nécessitent des politiques d'accès supplémentaires. Pour en savoir plus sur les entrées d'accès et comment configurer des autorisations supplémentaires, consultez[Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md).

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

Après avoir créé la fonctionnalité ACK :
+  [Concepts d'ACK](ack-concepts.md)- Comprenez les concepts ACK et commencez à utiliser les AWS ressources
+  [Concepts d'ACK](ack-concepts.md)- En savoir plus sur le rapprochement, les exportations sur le terrain et les modèles d'adoption des ressources
+  [Configurer les autorisations ACK](ack-permissions.md)- Configurer les autorisations IAM et les modèles multi-comptes

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

Cette rubrique décrit comment créer une fonctionnalité AWS Controllers for Kubernetes (ACK) à l'aide du. AWS Management Console

## Création de la fonctionnalité ACK
<a name="_create_the_ack_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 ** AWS Controllers for Kubernetes (ACK).**

1. Choisissez **Create AWS Controllers pour la fonctionnalité Kubernetes**.

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 d'administrateur** 

     Cela ouvre la console IAM dans un nouvel onglet avec la politique de confiance préremplie et la politique `AdministratorAccess` gérée. Vous pouvez désélectionner cette politique et ajouter d'autres autorisations si vous le souhaitez.

     Après avoir créé le rôle, retournez à la console EKS et le rôle sera automatiquement sélectionné.
**Important**  
La `AdministratorAccess` politique suggérée accorde des autorisations étendues et vise à rationaliser le démarrage. Pour une utilisation en production, remplacez-la par une politique personnalisée qui n'accorde que les autorisations nécessaires pour les AWS services spécifiques que vous prévoyez de gérer avec ACK. Pour obtenir des conseils sur la création de politiques de moindre privilège, consultez [Configurer les autorisations ACK](ack-permissions.md) et. [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

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 de la fonctionnalité ACK.

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).

## Vérifiez que les ressources personnalisées sont disponibles
<a name="_verify_custom_resources_are_available"></a>

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

 **Utilisation de la console** 

1. Accédez à votre cluster dans la console Amazon EKS

1. Choisissez l'onglet **Ressources**

1. Choisissez les **extensions** 

1. Choisissez **CustomResourceDefinitions** 

Vous devriez voir un certain nombre de AWS ressources CRDs répertoriées.

 **Utilisation de kubectl** 

```
kubectl api-resources | grep services.k8s.aws
```

Vous devriez voir un certain nombre de AWS ressources APIs répertoriées.

**Note**  
La fonctionnalité des AWS Controllers for Kubernetes installera un certain nombre de ressources CRDs pour diverses ressources. AWS 

## Étapes suivantes
<a name="_next_steps"></a>
+  [Concepts d'ACK](ack-concepts.md)- Comprenez les concepts ACK et lancez-vous
+  [Configurer les autorisations ACK](ack-permissions.md)- Configurer les autorisations IAM pour les autres services AWS 
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez votre ressource de capacité ACK

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

Cette rubrique décrit comment créer une fonctionnalité AWS Controllers for Kubernetes (ACK) à l'aide de la CLI. AWS 

## 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).

## É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 > ack-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 ACKCapabilityRole \
  --assume-role-policy-document file://ack-trust-policy.json
```

Associez la politique `AdministratorAccess` gérée au rôle :

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
```

**Important**  
La `AdministratorAccess` politique suggérée accorde des autorisations étendues et vise à rationaliser le démarrage. Pour une utilisation en production, remplacez-la par une politique personnalisée qui n'accorde que les autorisations nécessaires pour les AWS services spécifiques que vous prévoyez de gérer avec ACK. Pour obtenir des conseils sur la création de politiques de moindre privilège, consultez [Configurer les autorisations ACK](ack-permissions.md) et. [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

## Étape 2 : Création de la fonctionnalité ACK
<a name="_step_2_create_the_ack_capability"></a>

Créez la ressource de capacité ACK sur votre cluster. Remplacez *region-code* par la AWS région dans laquelle se trouve votre cluster et remplacez *my-cluster* par le nom de votre cluster.

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-ack \
  --type ACK \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \
  --delete-propagation-policy RETAIN
```

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 dans laquelle se trouve votre cluster et remplacez *my-cluster* par le nom de votre cluster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-ack \
  --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-ack
```

## É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 ACK sont disponibles dans votre cluster :

```
kubectl api-resources | grep services.k8s.aws
```

Vous devriez voir un certain nombre de AWS ressources APIs répertoriées.

**Note**  
La fonctionnalité des AWS Controllers for Kubernetes installera un certain nombre de ressources CRDs pour diverses ressources. AWS 

## Étapes suivantes
<a name="_next_steps"></a>
+  [Concepts d'ACK](ack-concepts.md)- Comprenez les concepts ACK et lancez-vous
+  [Configurer les autorisations ACK](ack-permissions.md)- Configurer les autorisations IAM pour les autres services AWS 
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez votre ressource de capacité ACK

# Création d'une capacité ACK à l'aide de eksctl
<a name="ack-create-eksctl"></a>

Cette rubrique décrit comment créer une fonctionnalité AWS Controllers for Kubernetes (ACK) à 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 > ack-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 ACKCapabilityRole \
  --assume-role-policy-document file://ack-trust-policy.json
```

Associez la politique `AdministratorAccess` gérée au rôle :

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
```

**Important**  
La `AdministratorAccess` politique suggérée accorde des autorisations étendues et vise à rationaliser le démarrage. Pour une utilisation en production, remplacez-la par une politique personnalisée qui n'accorde que les autorisations nécessaires pour les AWS services spécifiques que vous prévoyez de gérer avec ACK. Pour obtenir des conseils sur la création de politiques de moindre privilège, consultez [Configurer les autorisations ACK](ack-permissions.md) et. [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

**Important**  
Cette politique accorde des autorisations pour la gestion des compartiments S3 avec`"Resource": "*"`, ce qui permet d'effectuer des opérations sur tous les compartiments S3.  
Pour une utilisation en production :\$1 Limitez le `Resource` champ à des modèles de bucket ARNs ou de nom spécifiques \$1 Utilisez les clés de condition IAM pour limiter l'accès par balises de ressource \$1 N'accordez que les autorisations minimales nécessaires à votre cas d'utilisation  
Pour les autres AWS services, voir[Configurer les autorisations ACK](ack-permissions.md).

Attachez la stratégie au rôle :

```
aws iam attach-role-policy \
  --role-name ACKCapabilityRole \
  --policy-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):policy/ACKS3Policy
```

## Étape 2 : Création de la fonctionnalité ACK
<a name="_step_2_create_the_ack_capability"></a>

Créez la capacité ACK à l'aide de eksctl. 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 create capability \
  --cluster [.replaceable]`my-cluster` \
  --region [.replaceable]`region-code` \
  --name ack \
  --type ACK \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ACKCapabilityRole \
  --ack-service-controllers s3
```

**Note**  
Le `--ack-service-controllers` drapeau est facultatif. En cas d'omission, ACK active tous les contrôleurs disponibles. Pour améliorer les performances et la sécurité, pensez à activer uniquement les contrôleurs dont vous avez besoin. Vous pouvez spécifier plusieurs contrôleurs : `--ack-service-controllers s3,rds,dynamodb` 

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

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

Vérifiez l'état des capacités :

```
eksctl get capability \
  --cluster [.replaceable]`my-cluster` \
  --region [.replaceable]`region-code` \
  --name ack
```

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

## É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 ACK sont disponibles dans votre cluster :

```
kubectl api-resources | grep services.k8s.aws
```

Vous devriez voir un certain nombre de AWS ressources APIs répertoriées.

**Note**  
La fonctionnalité des AWS Controllers for Kubernetes installera un certain nombre de ressources CRDs pour diverses ressources. AWS 

## Étapes suivantes
<a name="_next_steps"></a>
+  [Concepts d'ACK](ack-concepts.md)- Comprenez les concepts ACK et lancez-vous
+  [Configurer les autorisations ACK](ack-permissions.md)- Configurer les autorisations IAM pour les autres services AWS 
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez votre ressource de capacité ACK