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 Argo CD por meio do eksctl
Crie uma funcionalidade do Argo CD 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.
Pré-requisitos
-
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 para criar uma instância do Centro de Identidade, e Adicionar usuários e Adicionar grupos para criar usuários e grupos para acesso ao Argo CD.
-
Pelo menos um usuário ou grupo no AWSCentro de Identidade: você deve ter pelo menos um usuário ou grupo configurado em sua instância do Centro de Identidade para atribuir mapeamentos de função do Argo CD RBAC e fornecer acesso à interface do usuário do Argo CD.
Etapa 1: criação de um perfil de funcionalidade do IAM
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 e Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections.
Etapa 2: obtenção da configuração do Centro de Identidade da AWS
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.
(Opcional) Configurar um endpoint privado
Por padrão, a interface do usuário e o endpoint de API do Argo CD são acessíveis publicamente pela internet. Se você precisar restringir o acesso, poderá configurar um endpoint da VPC. Recomendado para ambientes com requisitos rígidos de segurança de rede.
Criar um endpoint da VPC para Capacidades do EKS
Crie um endpoint da VPC de interface para o serviço Capacidades do EKS em sua VPC. Substitua vpc-id, subnet-id-1 subnet-id-2, sg-id e region-code pelos seus próprios valores:
aws ec2 create-vpc-endpoint \ --vpc-endpoint-type Interface \ --service-name com.amazonaws.region-code.eks-capabilities \ --vpc-idvpc-id\ --subnet-idssubnet-id-1 subnet-id-2\ --security-group-idssg-id\ --regionregion-code
nota
-
As sub-redes devem estar em diferentes zonas de disponibilidade para alta disponibilidade.
-
O grupo de segurança deve permitir o tráfego HTTPS de entrada (porta 443) das redes que precisam acessar a interface do usuário e a API do Argo CD.
-
Observe o ID do endpoint da VPC retornado por esse comando. Você precisará dele ao criar o recurso.
Verifique se o endpoint da VPC está disponível
aws ec2 describe-vpc-endpoints \ --vpc-endpoint-idsvpce-xxxxxxxx\ --query 'VpcEndpoints[0].State' \ --output text \ --regionregion-code
Aguarde até que o estado apareça como available antes de continuar.
Etapa 3: criação de um arquivo de configuração do eksctl
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-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn:arn:aws:iam::111122223333:role/ArgoCDCapabilityRoledeletePropagationPolicy: RETAIN configuration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: 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.
Se você configurou um endpoint da VPC para acesso privado, adicione a seção networkConfiguration à definição de capacidade. Substitua vpce-xxxxxxxx pelo ID do seu endpoint da VPC:
apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:my-clusterregion:cluster-region-codecapabilities: - name: my-argocd type: ARGOCD roleArn: arn:aws:iam::111122223333:role/ArgoCDCapabilityRole deletePropagationPolicy: RETAIN networkConfiguration: elasticNetworkInterfaces: vpcEndpointId:vpce-xxxxxxxxconfiguration: argocd: awsIdc: idcInstanceArn:arn:aws:sso:::instance/ssoins-123abcidcRegion:idc-region-coderbacRoleMappings: - role: ADMIN identities: - id:38414300-1041-708a-01af-5422d6091e34type: SSO_USER
nota
Quando o endpoint privado está ativado, a interface do usuário e a API do Argo CD só podem ser acessadas por meio do endpoint da VPC. Os usuários devem estar conectados à VPC (ou a uma rede emparelhada) para acessar a interface do Argo CD.
Etapa 4: criação da funcionalidade do Argo CD
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
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 \ --regionregion-code\ --clustermy-cluster\ --name my-argocd
A funcionalidade estará pronta assim que o status mostrar ACTIVE.
Etapa 6: verificação da disponibilidade de recursos personalizados
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
-
Como trabalhar com o Argo CD: aprenda a criar e gerenciar Applications do Argo CD
-
Considerações sobre o Argo CD: configure o SSO e o acesso a vários clusters
-
Como trabalhar com recursos de funcionalidade: gerencie os recursos da funcionalidade do Argo CD