Crea una funzionalità Argo CD utilizzando la CLI AWS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea una funzionalità Argo CD utilizzando la CLI AWS

Questo argomento descrive come creare una funzionalità Argo CD utilizzando la AWS CLI.

Prerequisiti

  • AWS CLI: versione 2.12.3 o successiva. Per verificare la tua versione, aws --version esegui. Per ulteriori informazioni, consulta la Guida per l'utente all'installazione nell'interfaccia a riga di AWS comando.

  • kubectl— Uno strumento da riga di comando per lavorare con i cluster Kubernetes. Per ulteriori informazioni, consulta Impostazione di kubectl e eksctl.

  • AWS Identity Center configurato: Argo CD richiede AWS Identity Center per l'autenticazione. Gli utenti locali non sono supportati. Se non hai configurato AWS Identity Center, consulta Guida introduttiva a AWS Identity Center per creare un'istanza di Identity Center e Aggiungi utenti e Aggiungi gruppi per creare utenti e gruppi per l'accesso ad Argo CD.

Fase 1: Creare un ruolo di capacità IAM

Crea un file di policy di fiducia:

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

Crea il ruolo IAM:

aws iam create-role \ --role-name ArgoCDCapabilityRole \ --assume-role-policy-document file://argocd-trust-policy.json
Nota

Se prevedi di utilizzare le integrazioni opzionali con AWS Secrets Manager oppure AWS CodeConnections, dovrai aggiungere le autorizzazioni al ruolo. Per esempi di policy IAM e indicazioni sulla configurazione, consulta Gestisci i segreti delle applicazioni con AWS Secrets Manager e. Connect ai repository Git con AWS CodeConnections

Fase 2: Creare la funzionalità Argo CD

Crea la risorsa di funzionalità Argo CD sul tuo cluster.

Innanzitutto, imposta le variabili di ambiente per la configurazione del tuo Identity Center:

# 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"

Crea la funzionalità con l'integrazione di Identity Center. Sostituisci region-code con la AWS regione in cui si trova il cluster e my-cluster con il nome del cluster:

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]`region-code`'" }, "rbacRoleMappings": [{ "role": "ADMIN", "identities": [{ "id": "'$IDC_USER_ID'", "type": "SSO_USER" }] }] } }'

Il comando viene restituito immediatamente, ma la funzionalità impiega del tempo per diventare attiva poiché EKS crea l'infrastruttura e i componenti di funzionalità richiesti. EKS installerà le Kubernetes Custom Resource Definitions relative a questa funzionalità nel cluster non appena viene creata.

Nota

Se ricevi un errore che indica che il cluster non esiste o non disponi delle autorizzazioni, verifica:

  • Il nome del cluster è corretto

  • La tua AWS CLI è configurata per la regione corretta

  • Disponi delle autorizzazioni IAM richieste

Fase 3: Verifica che la funzionalità sia attiva

Attendi che la funzionalità diventi attiva. Sostituiscilo region-code con la AWS regione in cui si trova il cluster e my-cluster con il nome del cluster.

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

La funzionalità è pronta quando viene visualizzato lo statoACTIVE. Non continuare con il passaggio successivo finché lo stato non sarà raggiuntoACTIVE.

Puoi anche visualizzare i dettagli completi delle funzionalità:

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

Fase 4: Verifica della disponibilità di risorse personalizzate

Dopo che la funzionalità è attiva, verificate che le risorse personalizzate di Argo CD siano disponibili nel cluster:

kubectl api-resources | grep argoproj.io

Dovresti vedere i tipi Application di ApplicationSet risorse elencati.

Fasi successive