

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

# Criação de uma funcionalidade do ACK por meio do eksctl
<a name="ack-create-eksctl"></a>

Crie uma funcionalidade do ACK no cluster do Amazon EKS usando a ferramenta eksctl.

**nota**  
Para realizar as etapas seguintes, é necessário estar utilizando o eksctl na versão `0.215.0` ou em versões posteriores. Para verificar a versão, execute `eksctl version`.

## Etapa 1: criação de um perfil da funcionalidade do IAM
<a name="_step_1_create_an_iam_capability_role"></a>

Crie um arquivo de política de confiança:

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

Crie o perfil do IAM:

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

Anexe a política gerenciada `AdministratorAccess` ao perfil:

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

**Importante**  
A política `AdministratorAccess` sugerida concede permissões abrangentes e destina-se a simplificar as etapas iniciais do uso do serviço. Para ambientes de produção, substitua essa política por uma personalizada que forneça somente as permissões exigidas pelos serviços específicos da AWS que você pretende gerenciar usando o ACK. Para obter orientações sobre como criar políticas de privilégio mínimo, consulte [Configuração das permissões do ACK](ack-permissions.md) e [Considerações sobre segurança para funcionalidades do EKS](capabilities-security.md).

## Etapa 2: criação da funcionalidade do ACK
<a name="_step_2_create_the_ack_capability"></a>

Crie a funcionalidade do ACK por meio do eksctl. Substitua {{region-code}} pela região AWS em que seu cluster se encontra e substitua {{my-cluster}} pelo nome do seu cluster.

```
eksctl create capability \
  --cluster {{my-cluster}} \
  --region {{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
```

**nota**  
O sinalizador `--ack-service-controllers` é opcional. Se omitido, o ACK habilita todos os controladores disponíveis. Para otimizar a performance e a segurança, recomendamos habilitar somente os controladores necessários. É possível definir vários controladores ao mesmo tempo: `--ack-service-controllers s3,rds,dynamodb` 

O comando é executado de forma imediata, mas a funcionalidade demora algum tempo para se tornar ativa.

## Etapa 3: verificação da ativação da funcionalidade
<a name="_step_3_verify_the_capability_is_active"></a>

Verifique o status da funcionalidade:

```
eksctl get capability \
  --cluster {{my-cluster}} \
  --region {{region-code}} \
  --name ack
```

A funcionalidade estará pronta assim que o status mostrar `ACTIVE`.

## Etapa 4: verificação da disponibilidade de recursos personalizados
<a name="_step_4_verify_custom_resources_are_available"></a>

Após a funcionalidade estar ativa, verifique se os recursos personalizados do ACK estão disponíveis no cluster:

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

Você deverá visualizar várias APIs listadas para os recursos da AWS.

**nota**  
A funcionalidade do AWS Controllers for Kubernetes instalará diversas CRDs para vários tipos de recursos da AWS.

## Próximas etapas
<a name="_next_steps"></a>
+  [Conceitos do ACK](ack-concepts.md): entenda os conceitos do ACK e comece a usar o serviço
+  [Configuração das permissões do ACK](ack-permissions.md): configure as permissões do IAM para outros serviços da AWS
+  [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md): gerencie os recursos da funcionalidade do ACK