

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'un Docker-flotte compatible avec le AWS CLI
<a name="fleet-container-support-cli"></a>

Le rôle de file d'attente nécessite une autorisation pour s'authentifier auprès d'Amazon ECR et extraire l'image sélectionnée par l'environnement de Docker file d'attente. L'autorisation relative au rôle de flotte est facultative pour l'environnement de file d'attente par défaut. Ajoutez-le lorsque des actions de configuration de l'hôte ou des outils côté utilisateur extraient des images en dehors d'une session de file d'attente.

## Conditions préalables
<a name="fleet-container-cli-prerequisites"></a>

Avant de commencer, configurez le AWS CLI avec l'autorisation de créer des flottes Deadline Cloud et d'associer des politiques à la file d'attente et aux rôles de flotte. Vous avez également besoin d'une ferme, d'une file d'attente, d'un rôle de file d'attente, d'un rôle de flotte et d'une image de conteneur existants dans un référentiel privé Amazon ECR.

## Création de la flotte
<a name="fleet-container-cli-create"></a>

**Pour créer un Dockerflotte compatible**

1. Définissez les valeurs de votre ferme, de votre file d'attente et de votre rôle.

   ```
   FARM_ID={{farm-0123456789abcdef0123456789abcdef}}
   QUEUE_ID={{queue-0123456789abcdef0123456789abcdef}}
   FLEET_ROLE_ARN={{arn:aws:iam::123456789012:role/DeadlineFleetRole}}
   MAX_WORKERS={{10}}
   
   QUEUE_ROLE_ARN=$(aws deadline get-queue \
       --farm-id "$FARM_ID" \
       --queue-id "$QUEUE_ID" \
       --query roleArn \
       --output text)
   QUEUE_ROLE_NAME=${QUEUE_ROLE_ARN##*/}
   FLEET_ROLE_NAME=${FLEET_ROLE_ARN##*/}
   ECR_READ_ONLY_POLICY=arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
   ```

1. Associez la politique de lecture seule Amazon ECR au rôle de file d'attente. L'environnement de Docker file d'attente par défaut utilise les informations d'identification de la file d'attente pour authentifier et extraire l'image.

   ```
   aws iam attach-role-policy \
       --role-name "$QUEUE_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. (Facultatif) Associez la même politique au rôle de flotte lorsque les actions de configuration de l'hôte ou les outils côté travail doivent extraire des images en dehors de la session de file d'attente.

   ```
   aws iam attach-role-policy \
       --role-name "$FLEET_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. Créez un fichier nommé `docker-fleet-configuration.json` avec la configuration de flotte suivante :

   ```
   {
     "serviceManagedEc2": {
       "instanceCapabilities": {
         "vCpuCount": {
           "min": 4,
           "max": 16
         },
         "memoryMiB": {
           "min": 8192,
           "max": 65536
         },
         "osFamily": "linux",
         "cpuArchitectureType": "x86_64",
         "softwareAddOns": [
           {
             "name": "docker"
           }
         ]
       },
       "instanceMarketOptions": {
         "type": "spot"
       }
     }
   }
   ```

1. Créez le parc géré par le service et enregistrez son identifiant de parc.

   ```
   FLEET_ID=$(aws deadline create-fleet \
       --farm-id "$FARM_ID" \
       --display-name "Docker fleet" \
       --role-arn "$FLEET_ROLE_ARN" \
       --min-worker-count 0 \
       --max-worker-count "$MAX_WORKERS" \
       --configuration file://docker-fleet-configuration.json \
       --query fleetId \
       --output text)
   
   echo "$FLEET_ID"
   ```

1. Associez la file d'attente à la flotte.

   ```
   aws deadline create-queue-fleet-association \
       --farm-id "$FARM_ID" \
       --queue-id "$QUEUE_ID" \
       --fleet-id "$FLEET_ID"
   ```

## Vérifiez les autorisations relatives à la flotte et aux rôles
<a name="fleet-container-cli-verify"></a>

**Pour vérifier le support du conteneur**

1. Vérifiez que la configuration du parc inclut le module complémentaire Docker logiciel.

   ```
   aws deadline get-fleet \
       --farm-id "$FARM_ID" \
       --fleet-id "$FLEET_ID" \
       --query 'configuration.serviceManagedEc2.instanceCapabilities.softwareAddOns'
   ```

   Vérifiez que la réponse contient`"name": "docker"`.

1. Vérifiez que le rôle de file d'attente est conforme à la politique de lecture seule d'Amazon ECR.

   ```
   aws iam list-attached-role-policies \
       --role-name "$QUEUE_ROLE_NAME" \
       --query 'AttachedPolicies[?PolicyName==`AmazonEC2ContainerRegistryReadOnly`]'
   ```

1. Si vous avez associé la politique au rôle de flotte, répétez la commande avec`--role-name "$FLEET_ROLE_NAME"`.

La flotte fonctionne sans rootDocker, mais la file d'attente a toujours besoin d'un environnement de Docker file d'attente qui identifie une image. Pour plus de détails sur la configuration de la file d'attente, consultez[Assistance en matière de conteneurs pour les flottes gérées par des services](fleet-container-support.md).