

 **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 su che si trova 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 usando eksctl
<a name="argocd-create-eksctl"></a>

Crea una funzionalità Argo CD sul tuo cluster Amazon EKS usando eksctl.

**Nota**  
I passaggi seguenti richiedono una versione eksctl o successiva. `0.215.0` Per verificare la tua versione, esegui. `eksctl version`

## Prerequisiti
<a name="_prerequisites"></a>
+  ** 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, vedi [ Guida introduttiva a AWS Identity Center ](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) per creare un'istanza di Identity Center e [ Aggiungi utenti ](https://docs.aws.amazon.com/singlesignon/latest/userguide/addusers.html) e [ Aggiungi gruppi per ](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html) creare utenti e gruppi per l'accesso ad Argo CD.
+  **Almeno un utente o gruppo in AWS Identity Center**: è necessario disporre di almeno un utente o gruppo configurato nell'istanza di Identity Center per assegnare le mappature dei ruoli RBAC di Argo CD e fornire l'accesso all'interfaccia utente di Argo CD.

## Fase 1: Creazione di un ruolo IAM Capability
<a name="_step_1_create_an_iam_capability_role"></a>

Crea un file di policy sulla 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**  
Per questa configurazione di base, non sono necessarie politiche IAM aggiuntive. Se prevedi di utilizzare Secrets Manager per le credenziali del repository o CodeConnections, dovrai aggiungere le autorizzazioni al ruolo. Per esempi di policy IAM e linee guida alla configurazione, consulta e. [Gestisci i segreti delle applicazioni con AWS Secrets Manager](integration-secrets-manager.md) [Connect ai repository Git con AWS CodeConnections](integration-codeconnections.md)

## Fase 2: Ottieni il tuo AWS Configurazione dell'Identity Center
<a name="step_2_get_your_shared_aws_identity_center_configuration"></a>

Ottieni l'ARN e l'ID utente dell'istanza di Identity Center per la configurazione 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
```

Annota questi valori: ti serviranno nel passaggio successivo.

## (Facoltativo) Configura un endpoint privato
<a name="_optional_configure_a_private_endpoint"></a>

Per impostazione predefinita, l'interfaccia utente e l'endpoint API di Argo CD sono accessibili pubblicamente su Internet. Se è necessario limitare l'accesso, è possibile configurare un endpoint VPC. Questo è consigliato per ambienti con severi requisiti di sicurezza di rete.

### Crea un endpoint VPC per EKS Capabilities
<a name="_create_a_vpc_endpoint_for_eks_capabilities"></a>

Crea un endpoint VPC di interfaccia per il servizio EKS Capabilities nel tuo VPC. Sostituisci{{vpc-id}}, {{subnet-id-1 subnet-id-2}}{{sg-id}}, e {{region-code}} con i tuoi valori:

```
aws ec2 create-vpc-endpoint \
  --vpc-endpoint-type Interface \
  --service-name com.amazonaws.{{region-code}}.eks-capabilities \
  --vpc-id {{vpc-id}} \
  --subnet-ids {{subnet-id-1 subnet-id-2}} \
  --security-group-ids {{sg-id}} \
  --region {{region-code}}
```

**Nota**  
Le sottoreti devono trovarsi in zone di disponibilità diverse per garantire l'alta disponibilità.
Il gruppo di sicurezza deve consentire il traffico HTTPS (porta 443) in entrata dalle reti che devono accedere all'interfaccia utente e all'API di Argo CD.
Nota l'ID dell'endpoint VPC restituito da questo comando: ti servirà durante la creazione della funzionalità.

### Verifica che l'endpoint VPC sia disponibile
<a name="_verify_the_vpc_endpoint_is_available"></a>

```
aws ec2 describe-vpc-endpoints \
  --vpc-endpoint-ids {{vpce-xxxxxxxx}} \
  --query 'VpcEndpoints[0].State' \
  --output text \
  --region {{region-code}}
```

Attendi che venga visualizzato lo stato `available` prima di procedere.

## Passo 3: Creare un file di configurazione eksctl
<a name="_step_3_create_an_eksctl_configuration_file"></a>

Crea un archivio denominato `argocd-capability.yaml` con i seguenti contenuti. Sostituisci i valori segnaposto con il nome del cluster, la regione del cluster, l'ARN del ruolo IAM, l'ARN dell'istanza di Identity Center, la regione dell'Identity Center e l'ID utente:

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

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

capabilities:
  - name: my-argocd
    type: ARGOCD
    roleArn: {{arn:aws:iam::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**  
È possibile aggiungere più utenti o gruppi alle mappature RBAC. Per i gruppi, utilizza `type: SSO_GROUP` e fornisci l'ID del gruppo. I ruoli disponibili sono`ADMIN`,`EDITOR`, e`VIEWER`.

Se hai configurato un endpoint VPC per l'accesso privato, aggiungi la `networkConfiguration` sezione alla definizione della funzionalità. Sostituisci {{vpce-xxxxxxxx}} con il tuo ID endpoint VPC:

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

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

capabilities:
  - name: my-argocd
    type: ARGOCD
    roleArn: arn:aws:iam::{{111122223333}}:role/ArgoCDCapabilityRole
    deletePropagationPolicy: RETAIN
    networkConfiguration:
      elasticNetworkInterfaces:
        vpcEndpointId: {{vpce-xxxxxxxx}}
    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**  
Quando l'endpoint privato è abilitato, l'interfaccia utente e l'API di Argo CD sono accessibili solo tramite l'endpoint VPC. Gli utenti devono essere connessi al VPC (o a una rete peered) per accedere all'interfaccia Argo CD.

## Fase 4: Creare la funzionalità Argo CD
<a name="_step_4_create_the_argo_cd_capability"></a>

Applica il file di configurazione:

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

Il comando viene restituito immediatamente, ma la funzionalità richiede del tempo per diventare attiva.

## Fase 5: Verificare che la funzionalità sia attiva
<a name="_step_5_verify_the_capability_is_active"></a>

Controlla lo stato della capacità. Sostituiscilo {{region-code}} con la AWS regione in cui si trova il cluster e sostituiscilo {{my-cluster}} con il nome del cluster.

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

La funzionalità è pronta quando viene visualizzato lo stato`ACTIVE`.

## Passaggio 6: verifica della disponibilità di risorse personalizzate
<a name="_step_6_verify_custom_resources_are_available"></a>

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

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

Dovresti vedere i tipi `Application` di `ApplicationSet` risorse elencati.

## Fasi successive
<a name="_next_steps"></a>
+  [Lavorare con Argo CD](working-with-argocd.md)- Scopri come creare e gestire le applicazioni Argo CD
+  [Considerazioni su Argo CD](argocd-considerations.md)- Configura l'accesso SSO e multi-cluster
+  [Lavorare con risorse di capacità](working-with-capabilities.md)- Gestisci le tue risorse di funzionalità Argo CD