

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

# Criar um recurso Argo CD
<a name="create-argocd-capability"></a>

Este tópico explica como criar uma funcionalidade do Argo CD no cluster do Amazon EKS.

## Pré-requisitos
<a name="_prerequisites"></a>

Antes de criar uma funcionalidade do Argo CD, certifique-se de ter:
+ Um cluster do Amazon EKS existente executando uma versão compatível do Kubernetes (há suporte para todas as versões nos períodos de suporte padrão e estendido)
+  **Centro de Identidade da AWS configurado**: necessário para a autenticação do Argo CD (não há suporte para usuários locais)
+ Um perfil do IAM da funcionalidade com permissões para o Argo CD
+ Permissões do IAM suficientes para criar recursos de funcionalidades em clusters de EKS
+  `kubectl` configurado para o estabelecimento de comunicação com o cluster
+ (Opcional) A CLI do Argo CD instalada para facilitar o gerenciamento de clusters e repositórios
+ (Para a CLI ou o eksctl) A ferramenta de CLI apropriada instalada e configurada

Para obter instruções sobre como criar o perfil do IAM para a funcionalidade, consulte [Perfil do IAM para a funcionalidade do Amazon EKS](capability-role.md). Para obter a configuração do Centro de Identidade, consulte [Conceitos básicos do Centro de Identidade da AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html).

**Importante**  
O perfil do IAM para a funcionalidade que você fornece determina quais recursos da AWS o Argo CD pode acessar. Isso inclui o acesso a repositórios do Git por meio do CodeConnections e a segredos no Secrets Manager. Para obter orientações sobre como criar um perfil apropriado com permissões de privilégio mínimo, consulte [Perfil do IAM para a funcionalidade do Amazon EKS](capability-role.md) e [Considerações sobre segurança para funcionalidades do EKS](capabilities-security.md).

## Escolha da ferramenta
<a name="_choose_your_tool"></a>

É possível criar uma funcionalidade do Argo CD por meio do Console de gerenciamento da AWS, da AWS CLI ou do eksctl:
+  [Criação de uma funcionalidade do Argo CD por meio do Console](argocd-create-console.md): use o Console para obter uma experiência guiada
+  [Criação de uma funcionalidade do Argo CD por meio da AWS CLI](argocd-create-cli.md): use a AWS CLI para obter scripts e automação
+  [Criação de uma funcionalidade do Argo CD por meio do eksctl](argocd-create-eksctl.md): use o eksctl para obter uma experiência nativa do Kubernetes

## O que ocorre durante a criação de uma funcionalidade do Argo CD
<a name="_what_happens_when_you_create_an_argo_cd_capability"></a>

Ao criar uma funcionalidade do Argo CD:

1. O EKS cria o serviço da funcionalidade do Argo CD no ambiente de gerenciamento da AWS

1. As definições de recursos personalizados (CRDs, na sigla em inglês) são instaladas no cluster

1. Uma entrada de acesso é criada automaticamente para seu perfil de funcionalidade do IAM com políticas de entrada de acesso específicas de recursos que concedem permissões básicas do Kubernetes (consulte [Considerações sobre segurança para funcionalidades do EKS](capabilities-security.md))

1. O Argo CD começa a monitorar os recursos personalizados (ApplicationSets, AppProjects)

1. O status da funcionalidade é alterado de `CREATING` para `ACTIVE` 

1. A interface de usuário do Argo CD torna-se acessível por meio de seu URL

Uma vez ativa, será possível criar Applications do Argo CD no seu cluster para realizar implantações a partir das suas fontes declarativas.

**nota**  
A entrada de acesso criada automaticamente não concede permissões para implantar aplicações em clusters. Para implantar aplicações, é necessário configurar permissões de RBAC adicionais do Kubernetes para cada cluster de destino. Consulte [Registro de clusters de destino](argocd-register-clusters.md) para obter detalhes sobre como registrar clusters e configurar o acesso.

## Próximas etapas
<a name="_next_steps"></a>

Após criar a funcionalidade do Argo CD:
+  [Conceitos do Argo CD](argocd-concepts.md): aprenda sobre os princípios de GitOps, as políticas de sincronização e os padrões para vários clusters
+  [Como trabalhar com o Argo CD](working-with-argocd.md): configure o acesso ao repositório, registre os clusters de destino e crie Applications
+  [Considerações sobre o Argo CD](argocd-considerations.md): conheça os padrões de arquitetura de vários clusters e a configuração avançada

# Criação de uma funcionalidade do Argo CD por meio do Console
<a name="argocd-create-console"></a>

Este tópico descreve como criar uma funcionalidade do Argo CD usando o Console de gerenciamento da AWS.

## Pré-requisitos
<a name="_prerequisites"></a>
+  **Centro de Identidade da AWS configurado**: o Argo CD requer o Centro de Identidade da AWS para autenticação. Não há suporte para usuários locais. Se você não tiver o Centro de Identidade da AWS configurado, consulte [Conceitos básicos do Centro de Identidade da AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) para criar uma instância do Centro de Identidade, e [Adicionar usuários](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) e [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) para criar usuários e grupos para acesso ao Argo CD.

## Criação da funcionalidade do Argo CD
<a name="_create_the_argo_cd_capability"></a>

1. Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home\$1/clusters.

1. Selecione o nome do cluster para abrir a página de detalhes do cluster.

1. Escolha a guia **Funcionalidades**.

1. Na barra de navegação à esquerda, selecione **Argo CD**.

1. Escolha **Criar funcionalidade do Argo CD**.

1. No **perfil da funcionalidade do IAM**:
   + Se você já tiver um perfil da funcionalidade do IAM, selecione-o no menu suspenso
   + Se a criação de um perfil for necessária, escolha **Criar perfil do Argo CD** 

     Isso abre o console do IAM em uma nova guia com a política de confiança preenchida previamente e fornece acesso total de leitura ao Secrets Manager. Nenhuma outra permissão é adicionada por padrão, mas você pode adicioná-las se necessário. Se você planeja usar repositórios do CodeCommit ou outros serviços da AWS, adicione as permissões adequadas antes de criar o perfil.

     Após criar o perfil, retorne ao console do EKS e o perfil será selecionado automaticamente.
**nota**  
Se você planeja usar as integrações opcionais com o AWS Secrets Manager ou o AWS CodeConnections, precisará adicionar permissões ao perfil. Para obter exemplos da política do IAM e de orientações de configuração, consulte [Gerenciamento de segredos de aplicações com o AWS Secrets Manager](integration-secrets-manager.md) e [Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections](integration-codeconnections.md).

1. Configure a integração com o Centro de Identidade da AWS:

   1. Selecione **Habilitar integração com o Centro de Identidade da AWS**.

   1. Escolha sua instância do Centro de Identidade no menu suspenso.

   1. Configure os mapeamentos de perfil para RBAC atribuindo usuários ou grupos aos perfis do Argo CD (ADMIN, EDITOR ou VIEWER).

1. Escolha **Criar**.

O processo de criação da funcionalidade é iniciado.

## Verificação da ativação da funcionalidade
<a name="_verify_the_capability_is_active"></a>

1. Na guia **Funcionalidades**, visualize o status da funcionalidade do Argo CD.

1. Aguarde até que o status mude de `CREATING` para `ACTIVE`.

1. Assim que estiver com o status ativo, a funcionalidade estará pronta para uso.

Para obter informações sobre os status das funcionalidades e sobre a solução de problemas, consulte [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md).

## Acesso à interface do usuário do Argo CD
<a name="_access_the_argo_cd_ui"></a>

Depois que a funcionalidade estiver ativa, você poderá acessar a interface do usuário do Argo CD:

1. Na página da funcionalidade do Argo CD, escolha **Abrir interface do usuário do Argo CD**.

1. A interface do usuário do Argo CD será aberta em uma nova guia do navegador.

1. Em seguida, você pode criar Applications e gerenciar implantações por meio da interface do usuário.

## Próximas etapas
<a name="_next_steps"></a>
+  [Como trabalhar com o Argo CD](working-with-argocd.md): configure repositórios, registre clusters e crie Applications
+  [Considerações sobre o Argo CD](argocd-considerations.md): acesse a arquitetura de vários clusters e a configuração avançada
+  [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md): gerencie os recursos da funcionalidade do Argo CD

# Criação de uma funcionalidade do Argo CD por meio da AWS CLI
<a name="argocd-create-cli"></a>

Este tópico descreve como criar uma funcionalidade do Argo CD usando a AWS CLI.

## Pré-requisitos
<a name="_prerequisites"></a>
+  **AWS CLI**: versão `2.12.3` ou em versões posteriores. Para verificar a versão, execute `aws --version`. Para obter mais informações, consulte [Instalação](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) no Guia do Usuário da Interface de Linha de Comando AWS.
+  ** `kubectl` ** – uma ferramenta de linha de comando para trabalhar com clusters do Kubernetes. Para obter mais informações, consulte [Configurar o `kubectl` e o `eksctl`](install-kubectl.md).
+  **Centro de Identidade da AWS configurado**: o Argo CD requer o Centro de Identidade da AWS para autenticação. Não há suporte para usuários locais. Se você não tiver o Centro de Identidade da AWS configurado, consulte [Conceitos básicos do Centro de Identidade da AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) para criar uma instância do Centro de Identidade, e [Adicionar usuários](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) e [Adicionar grupos](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) para criar usuários e grupos para acesso ao Argo CD.

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

**nota**  
Se você planeja usar as integrações opcionais com o AWS Secrets Manager ou o AWS CodeConnections, precisará adicionar permissões ao perfil. Para obter exemplos da política do IAM e de orientações de configuração, consulte [Gerenciamento de segredos de aplicações com o AWS Secrets Manager](integration-secrets-manager.md) e [Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections](integration-codeconnections.md).

## Etapa 2: criação da funcionalidade do Argo CD
<a name="_step_2_create_the_argo_cd_capability"></a>

Crie o recurso da funcionalidade do Argo CD no cluster.

Primeiro, defina as variáveis de ambiente para a sua configuração do Centro de Identidade:

```
# Get your Identity Center instance ARN (replace region if your IDC instance is in a different region)
export IDC_INSTANCE_ARN=$(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].InstanceArn' --output text)

# Get a user ID for RBAC mapping (replace with your username and region if needed)
export IDC_USER_ID=$(aws identitystore list-users \
  --region [.replaceable]`region` \
  --identity-store-id $(aws sso-admin list-instances --region [.replaceable]`region` --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text)

echo "IDC_INSTANCE_ARN=$IDC_INSTANCE_ARN"
echo "IDC_USER_ID=$IDC_USER_ID"
```

Crie a funcionalidade com integração ao Centro de Identidade. Substitua *region-code* pela região da AWS em que seu cluster está localizado e *my-cluster* pelo nome do seu cluster e *idc-region-code* pelo código da região em que seu Centro de Identidade do IAM foi configurado:

```
aws eks create-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --type ARGOCD \
  --role-arn arn:aws:iam::$(aws sts get-caller-identity --query Account --output text):role/ArgoCDCapabilityRole \
  --delete-propagation-policy RETAIN \
  --configuration '{
    "argoCd": {
      "awsIdc": {
        "idcInstanceArn": "'$IDC_INSTANCE_ARN'",
        "idcRegion": "'[.replaceable]`idc-region-code`'"
      },
      "rbacRoleMappings": [{
        "role": "ADMIN",
        "identities": [{
          "id": "'$IDC_USER_ID'",
          "type": "SSO_USER"
        }]
      }]
    }
  }'
```

O comando é concluído de imediato, mas a funcionalidade demora algum tempo para se tornar ativa, conforme o EKS cria a infraestrutura e os componentes necessários para a funcionalidade. O EKS instalará as definições de recursos personalizados do Kubernetes relacionadas a essa funcionalidade no cluster durante o processo de criação.

**nota**  
Caso ocorra um erro indicando a inexistência do cluster ou falta de permissões, verifique o seguinte:  
Se o nome do cluster está correto
Se a AWS CLI está configurada para a região correta
Se você tem as permissões do IAM obrigatórias

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

Aguarde até que a funcionalidade se torne ativa. Substitua *region-cod*e pela região da AWS em que seu cluster está localizado e *my-cluster* pelo nome do seu cluster.

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd \
  --query 'capability.status' \
  --output text
```

A funcionalidade estará pronta assim que o status mostrar `ACTIVE`. Não prossiga para a próxima etapa até que o status seja `ACTIVE`.

Também é possível visualizar os detalhes completos da funcionalidade:

```
aws eks describe-capability \
  --region region-code \
  --cluster-name my-cluster \
  --capability-name my-argocd
```

## 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 Argo CD estão disponíveis no cluster:

```
kubectl api-resources | grep argoproj.io
```

Os tipos de recursos `Application` e `ApplicationSet` devem aparecer na lista apresentada.

## Próximas etapas
<a name="_next_steps"></a>
+  [Como trabalhar com o Argo CD](working-with-argocd.md): configure repositórios, registre clusters e crie Applications
+  [Considerações sobre o Argo CD](argocd-considerations.md): acesse a arquitetura de vários clusters e a configuração avançada
+  [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md): gerencie os recursos da funcionalidade do Argo CD

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

Este tópico descreve como criar uma funcionalidade do Argo CD usando o eksctl.

**nota**  
Para realizar as etapas seguintes, é necessário estar utilizando o eksctl na versão `0.220.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 > argocd-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 ArgoCDCapabilityRole \
  --assume-role-policy-document file://argocd-trust-policy.json
```

**nota**  
Para esta configuração básica, não são necessárias políticas do IAM adicionais. Se você planeja usar o Secrets Manager para credenciais de repositório ou para o CodeConnections, precisará adicionar permissões ao perfil. Para obter exemplos da política do IAM e de orientações de configuração, consulte [Gerenciamento de segredos de aplicações com o AWS Secrets Manager](integration-secrets-manager.md) e [Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections](integration-codeconnections.md).

## Etapa 2: obtenção da configuração do Centro de Identidade da AWS
<a name="step_2_get_your_shared_aws_identity_center_configuration"></a>

Obtenha o ARN da instância do Centro de Identidade e o ID do usuário para a configuração de RBAC:

```
# Get your Identity Center instance ARN
aws sso-admin list-instances --query 'Instances[0].InstanceArn' --output text

# Get a user ID for admin access (replace 'your-username' with your Identity Center username)
aws identitystore list-users \
  --identity-store-id $(aws sso-admin list-instances --query 'Instances[0].IdentityStoreId' --output text) \
  --query 'Users[?UserName==`your-username`].UserId' --output text
```

Anote esses valores. Você precisará deles na próxima etapa.

## Etapa 3: criação de um arquivo de configuração do eksctl
<a name="_step_3_create_an_eksctl_configuration_file"></a>

Crie um arquivo chamado `argocd-capability.yaml` com o conteúdo a seguir. Substitua os valores com espaços reservados pelo nome do seu cluster, região, ARN do perfil do IAM, ARN da instância do Centro de Identidade, região do Centro de Identidade e ID do usuário:

```
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig

metadata:
  name: my-cluster
  region: cluster-region-code

capabilities:
  - name: my-argocd
    type: ARGOCD
    roleArn: arn:aws:iam::[.replaceable]111122223333:role/ArgoCDCapabilityRole
    deletePropagationPolicy: RETAIN
    configuration:
      argocd:
        awsIdc:
          idcInstanceArn: arn:aws:sso:::instance/ssoins-123abc
          idcRegion: idc-region-code
        rbacRoleMappings:
          - role: ADMIN
            identities:
              - id: 38414300-1041-708a-01af-5422d6091e34
                type: SSO_USER
```

**nota**  
É possível adicionar vários usuários ou grupos aos mapeamentos de RBAC. Para grupos, use `type: SSO_GROUP` e forneça o ID do grupo. Os perfis disponíveis são `ADMIN`, `EDITOR` e `VIEWER`.

## Etapa 4: criação da funcionalidade do Argo CD
<a name="_step_4_create_the_argo_cd_capability"></a>

Aplique o arquivo de configuração:

```
eksctl create capability -f argocd-capability.yaml
```

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

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

Verifique o status da funcionalidade. Substitua *region-code* pela região AWS em que seu cluster se encontra e substitua *my-cluster* pelo nome do seu cluster.

```
eksctl get capability \
  --region region-code \
  --cluster my-cluster \
  --name my-argocd
```

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

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

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

```
kubectl api-resources | grep argoproj.io
```

Os tipos de recursos `Application` e `ApplicationSet` devem aparecer na lista apresentada.

## Próximas etapas
<a name="_next_steps"></a>
+  [Como trabalhar com o Argo CD](working-with-argocd.md): aprenda a criar e gerenciar Applications do Argo CD
+  [Considerações sobre o Argo CD](argocd-considerations.md): configure o SSO e o acesso a vários clusters
+  [Como trabalhar com recursos de funcionalidade](working-with-capabilities.md): gerencie os recursos da funcionalidade do Argo CD