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 da AWS CLI
Este tópico descreve como criar uma funcionalidade do Argo CD usando a AWS CLI.
Pré-requisitos
-
AWS CLI: versão
2.12.3ou em versões posteriores. Para verificar a versão, executeaws --version. Para obter mais informações, consulte Instalação 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. -
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.
Etapa 1: criação de um perfil da 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
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 e Estabelecimento de conexão com repositórios do Git usando o AWS CodeConnections.
Etapa 2: criação da funcionalidade do Argo CD
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:
aws eks create-capability \ --regionregion-code\ --cluster-namemy-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]`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
Aguarde até que a funcionalidade se torne ativa. Substitua region-code pela região da AWS em que seu cluster está localizado e my-cluster pelo nome do seu cluster.
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-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 \ --regionregion-code\ --cluster-namemy-cluster\ --capability-name my-argocd
Etapa 4: 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: configure repositórios, registre clusters e crie Applications
-
Considerações sobre o Argo CD: acesse a arquitetura de vários clusters e a configuração avançada
-
Como trabalhar com recursos de funcionalidade: gerencie os recursos da funcionalidade do Argo CD