

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Membuat sebuah Dockerarmada yang diaktifkan dengan AWS CLI
<a name="fleet-container-support-cli"></a>

Peran antrian memerlukan izin untuk mengautentikasi ke Amazon ECR dan menarik gambar yang dipilih oleh lingkungan antrian. Docker Izin peran armada adalah opsional untuk lingkungan antrian default. Tambahkan saat tindakan konfigurasi host atau alat sisi pekerja menarik gambar di luar sesi antrian.

## Prasyarat
<a name="fleet-container-cli-prerequisites"></a>

Sebelum memulai, konfigurasikan izin AWS CLI dengan untuk membuat armada Deadline Cloud dan lampirkan kebijakan ke peran antrian dan armada. Anda juga memerlukan pertanian, antrian, peran antrian, peran armada, dan gambar kontainer yang ada di repositori pribadi Amazon ECR.

## Buat armada
<a name="fleet-container-cli-create"></a>

**Untuk membuat Docker-armada yang diaktifkan**

1. Tetapkan nilai pertanian, antrian, dan peran Anda.

   ```
   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. Lampirkan kebijakan hanya-baca Amazon ECR ke peran antrian. Lingkungan Docker antrian default menggunakan kredensyal antrian untuk mengautentikasi dan menarik gambar.

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

1. (Opsional) Lampirkan kebijakan yang sama ke peran armada saat tindakan konfigurasi host atau alat sisi pekerja harus menarik gambar di luar sesi antrian.

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

1. Buat file bernama `docker-fleet-configuration.json` dengan konfigurasi armada berikut:

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

1. Buat armada yang dikelola layanan dan simpan ID armadanya.

   ```
   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. Kaitkan antrian dengan armada.

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

## Verifikasi izin armada dan peran
<a name="fleet-container-cli-verify"></a>

**Untuk memverifikasi dukungan kontainer**

1. Verifikasi bahwa konfigurasi armada menyertakan add-on Docker perangkat lunak.

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

   Konfirmasikan bahwa responsnya berisi`"name": "docker"`.

1. Verifikasi bahwa peran antrian memiliki kebijakan hanya-baca Amazon ECR.

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

1. Jika Anda melampirkan kebijakan ke peran armada, ulangi perintah dengan`--role-name "$FLEET_ROLE_NAME"`.

Armada menyediakan rootlessDocker, tetapi antrian masih membutuhkan lingkungan Docker antrian yang mengidentifikasi gambar. Untuk detail konfigurasi antrian, lihat[Dukungan kontainer untuk armada yang dikelola layanan](fleet-container-support.md).