

 **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 capacité kro à l'aide de eksctl
<a name="kro-create-eksctl"></a>

Cette rubrique décrit comment créer une fonctionnalité kro (Kube Resource Orchestrator) à 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 > kro-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 KROCapabilityRole \
  --assume-role-policy-document file://kro-trust-policy.json
```

**Note**  
Contrairement à ACK et Argo CD, kro n'a pas besoin d'autorisations IAM supplémentaires au-delà de la politique de confiance. kro fonctionne entièrement au sein de votre cluster et n'effectue pas d'appels d'API. AWS 

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

Créez la capacité kro à 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 \
  --region region-code \
  --cluster my-cluster \
  --name my-kro \
  --type KRO \
  --role-arn arn:aws:iam::[.replaceable]111122223333:role/KROCapabilityRole
```

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. 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-kro
```

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

## Étape 4 : accorder des autorisations pour gérer les ressources Kubernetes
<a name="_step_4_grant_permissions_to_manage_kubernetes_resources"></a>

Par défaut, kro peut uniquement créer ResourceGraphDefinitions et gérer leurs instances. Pour permettre à kro de créer et de gérer les ressources Kubernetes sous-jacentes définies dans votre fichier ResourceGraphDefinitions, associez la politique d'`AmazonEKSClusterAdminPolicy`accès à l'entrée d'accès de la fonctionnalité.

Obtenez l'ARN du rôle de capacité :

```
CAPABILITY_ROLE_ARN=$(aws eks describe-capability \
  --region region-code \
  --cluster my-cluster \
  --name my-kro \
  --query 'capability.roleArn' \
  --output text)
```

Associez la politique d'administration du cluster :

```
aws eks associate-access-policy \
  --region region-code \
  --cluster my-cluster \
  --principal-arn $CAPABILITY_ROLE_ARN \
  --policy-arn arn:aws:eks::aws:cluster-access-policy/AmazonEKSClusterAdminPolicy \
  --access-scope type=cluster
```

**Important**  
Il `AmazonEKSClusterAdminPolicy` accorde des autorisations étendues pour créer et gérer toutes les ressources Kubernetes et vise à rationaliser le démarrage. Pour une utilisation en production, créez des politiques RBAC plus restrictives qui n'accordent que les autorisations nécessaires pour les ressources spécifiques que vous ResourceGraphDefinitions allez gérer. Pour obtenir des conseils sur la configuration des autorisations de moindre privilège, reportez-vous [Configurer les autorisations Kro](kro-permissions.md) aux sections et. [Considérations relatives à la sécurité relatives aux fonctionnalités EKS](capabilities-security.md)

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

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

```
kubectl api-resources | grep kro.run
```

Vous devriez voir le type de `ResourceGraphDefinition` ressource répertorié.

## Étapes suivantes
<a name="_next_steps"></a>
+  [concepts kro](kro-concepts.md)- Comprendre les concepts Kro et la composition des ressources
+  [concepts kro](kro-concepts.md)- En savoir plus sur SimpleSchema les expressions CEL et les modèles de composition
+  [Utilisation des ressources en matière de capacités](working-with-capabilities.md)- Gérez votre ressource Kro Capability