

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

# Considerazioni ACK per EKS
<a name="ack-considerations"></a>

Questo argomento tratta importanti considerazioni sull'utilizzo di EKS Capability for ACK, tra cui la configurazione IAM, i modelli multi-account e l'integrazione con altre funzionalità EKS.

## Modelli di configurazione IAM
<a name="_iam_configuration_patterns"></a>

La funzionalità ACK utilizza un IAM Capability Role con AWS cui eseguire l'autenticazione. Scegli il modello IAM giusto in base alle tue esigenze.

### Semplice: ruolo a capacità singola
<a name="_simple_single_capability_role"></a>

Per casi di sviluppo, test o semplici casi d'uso, concedi tutte le autorizzazioni necessarie direttamente al Capability Role.

 **Quando usare**:
+ Guida introduttiva a ACK
+ Implementazioni con un solo account
+ Tutte le risorse sono gestite da un unico team
+ Ambienti di sviluppo e test

 **Esempio**: aggiungi le autorizzazioni S3 e RDS al tuo Capability Role con condizioni di etichettatura delle risorse:

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:*"],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": ["us-west-2", "us-east-1"]
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": ["rds:*"],
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "aws:RequestedRegion": ["us-west-2", "us-east-1"]
        },
      }
    }
  ]
}
```

Questo esempio limita le operazioni S3 e RDS a regioni specifiche e richiede che le risorse RDS abbiano un tag. `ManagedBy: ACK`

### Produzione: IAM Role Selectors
<a name="_production_iam_role_selectors"></a>

Per gli ambienti di produzione, utilizza IAM Role Selectors per implementare l'accesso con privilegi minimi e l'isolamento a livello di namespace.

 **Quando usare:**
+ Ambienti di produzione
+ Cluster con più team
+ Gestione delle risorse su più account
+ Requisiti di sicurezza con privilegi minimi
+ Servizi diversi richiedono autorizzazioni diverse

 **Vantaggi**:
+ Ogni namespace ottiene solo le autorizzazioni necessarie
+ Isolamento del team: il team A non può utilizzare le autorizzazioni del team B
+ Controllo e conformità più semplici
+ Necessario per la gestione delle risorse tra account

Per una configurazione dettagliata di IAM Role Selector, consulta. [Configurare le autorizzazioni ACK](ack-permissions.md)

## Integrazione con altre funzionalità EKS
<a name="_integration_with_other_eks_capabilities"></a>

### GitOps con Argo CD
<a name="_gitops_with_argo_cd"></a>

Usa il CD EKS Capability for Argo per distribuire risorse ACK dai repository Git, abilitando GitOps flussi di lavoro per la gestione dell'infrastruttura.

 **Considerazioni:**
+ Archivia le risorse ACK insieme ai manifesti delle applicazioni per end-to-end GitOps
+ Organizza per ambiente, servizio o tipo di risorsa in base alla struttura del tuo team
+ Usa la sincronizzazione automatica di Argo CD per una riconciliazione continua
+ Abilita la potatura per rimuovere automaticamente le risorse eliminate
+ Prendi in considerazione hub-and-spoke i modelli per la gestione dell'infrastruttura multicluster

GitOps fornisce audit trail, funzionalità di rollback e gestione dichiarativa dell'infrastruttura. Per ulteriori informazioni su Argo CD, vedere. [Lavorare con Argo CD](working-with-argocd.md)

### Composizione delle risorse con kro
<a name="_resource_composition_with_kro"></a>

Usa EKS Capability for kro (Kube Resource Orchestrator) per comporre più risorse ACK in astrazioni di livello superiore e personalizzate. APIs

 **Quando usare kro** con ACK:
+ Crea modelli riutilizzabili per stack di infrastruttura comuni (database \$1 backup \$1 monitoraggio)
+ Crea piattaforme self-service semplificate per i team applicativi APIs 
+ Gestisci le dipendenze delle risorse e passa i valori tra le risorse (funzione ARN a Lambda del bucket S3)
+ Standardizza le configurazioni dell'infrastruttura tra i team
+ Riduci la complessità nascondendo i dettagli di implementazione dietro risorse personalizzate

 **Modelli di esempio**:
+ Stack di applicazioni: bucket S3\$1coda SQS\$1configurazione delle notifiche
+ Configurazione del database: istanza RDS \$1 gruppo di parametri \$1 gruppo di sicurezza \$1 segreti
+ Rete: VPC \$1 sottoreti \$1 tabelle di routing \$1 gruppi di sicurezza

kro gestisce l'ordinamento delle dipendenze, la propagazione dello stato e la gestione del ciclo di vita per le risorse composte. Per ulteriori informazioni su kro, consulta. [concetti kro](kro-concepts.md)

## Organizzazione delle risorse
<a name="_organizing_your_resources"></a>

Organizza le risorse ACK utilizzando i namespace e i tag delle AWS risorse Kubernetes per migliorare la gestione, il controllo degli accessi e il monitoraggio dei costi.

### Organizzazione dei namespace
<a name="_namespace_organization"></a>

Usa gli spazi dei nomi Kubernetes per separare logicamente le risorse ACK per ambiente (produzione, gestione temporanea, sviluppo), team (piattaforma, dati, ML) o applicazione.

 **Vantaggi:**
+ RBAC con ambito namespace per il controllo degli accessi
+ Imposta le regioni predefinite per namespace utilizzando le annotazioni
+ Gestione e pulizia delle risorse più semplici
+ Separazione logica in linea con la struttura organizzativa

### Aggiunta di tag alle risorse
<a name="_resource_tagging"></a>

La funzionalità EKS ACK applica automaticamente i tag predefiniti a tutte le AWS risorse che crea. Questi tag differiscono dagli ACK autogestiti e offrono una tracciabilità avanzata.

 **Tag predefiniti applicati dalla funzionalità:**


| Tag Key | Description | 
| --- | --- | 
|   `eks:controller-version`   |  La versione del controller ACK  | 
|   `eks:kubernetes-namespace`   |  Lo spazio dei nomi Kubernetes della risorsa ACK  | 
|   `eks:kubernetes-resource-name`   |  Il nome della risorsa Kubernetes  | 
|   `eks:kubernetes-api-group`   |  Il gruppo di API Kubernetes (ad esempio,) `s3.services.k8s.aws`  | 
|   `eks:eks-capability-arn`   |  L'ARN della funzionalità EKS ACK  | 

**Nota**  
ACK autogestito utilizza diversi tag predefiniti: `services.k8s.aws/controller-version` e. `services.k8s.aws/namespace` I tag della funzionalità utilizzano il `eks:` prefisso per garantire la coerenza con altre funzionalità EKS.

 **Tag aggiuntivi consigliati:**

Aggiungi tag personalizzati per l'allocazione dei costi, il monitoraggio della proprietà e per scopi organizzativi:
+ Ambiente (produzione, allestimento, sviluppo)
+ Proprietà del team o del reparto
+ Centro di costo per l'allocazione della fatturazione
+ Nome dell'applicazione o del servizio

## Migrazione da altri Infrastructure-as-code strumenti
<a name="_migration_from_other_infrastructure_as_code_tools"></a>

Molte organizzazioni stanno trovando valore nella standardizzazione su Kubernetes oltre all'orchestrazione dei carichi di lavoro. La migrazione dell'infrastruttura e della gestione AWS delle risorse verso ACK consente di standardizzare la gestione dell'infrastruttura utilizzando Kubernetes insieme ai carichi di lavoro delle applicazioni. APIs 

 **Vantaggi della standardizzazione su Kubernetes per l'infrastruttura**:
+  **Un'unica fonte di verità**: gestisci sia le applicazioni che l'infrastruttura in Kubernetes, abilitando una pratica end-to-end GitOps 
+  **Strumenti unificati: i** team utilizzano le risorse e gli strumenti Kubernetes anziché apprendere più strumenti e framework
+  **Riconciliazione coerente: ACK riconcilia** continuamente le AWS risorse come fa Kubernetes per i carichi di lavoro, rilevando e correggendo le deviazioni rispetto agli strumenti imperativi
+  **Composizioni native**: con kro e ACK insieme, puoi fare riferimento alle risorse direttamente nelle applicazioni e nei manifesti delle risorse, passando stringhe di connessione e tra AWS le risorse ARNs 
+  **Operazioni semplificate**: un unico piano di controllo per implementazioni, rollback e osservabilità sull'intero sistema

ACK supporta l'adozione AWS delle risorse esistenti senza ricrearle, abilitando la migrazione senza tempi di inattività da Terraform o da CloudFormation risorse esterne al cluster.

 **Adotta una risorsa esistente**:

```
apiVersion: s3.services.k8s.aws/v1alpha1
kind: Bucket
metadata:
  name: existing-bucket
  annotations:
    services.k8s.aws/adoption-policy: "adopt-or-create"
spec:
  name: my-existing-bucket-name
```

Una volta adottata, la risorsa viene gestita da ACK e può essere aggiornata tramite i manifesti di Kubernetes. È possibile migrare in modo incrementale, adottando le risorse necessarie e mantenendo gli strumenti IaC esistenti per altre risorse.

ACK supporta anche risorse di sola lettura. Per le risorse gestite da altri team o strumenti a cui desideri fare riferimento ma non modificare, combina l'adozione con la politica di `retain` eliminazione e concedi solo le autorizzazioni IAM di lettura. Ciò consente alle applicazioni di scoprire l'infrastruttura condivisa (ruoli IAMVPCs, chiavi KMS) tramite APIs Kubernetes senza rischiare modifiche.

Per ulteriori informazioni sull'adozione delle risorse, consulta. [Concetti ACK](ack-concepts.md)

## Politiche di eliminazione
<a name="_deletion_policies"></a>

Le politiche di eliminazione controllano cosa succede alle AWS risorse quando elimini la risorsa Kubernetes corrispondente. Scegli la politica giusta in base al ciclo di vita delle risorse e ai tuoi requisiti operativi.

### Elimina (impostazione predefinita)
<a name="_delete_default"></a>

La AWS risorsa viene eliminata quando elimini la risorsa Kubernetes. Ciò mantiene la coerenza tra il cluster e AWS garantisce che le risorse non si accumulino.

 **Quando usare delete**:
+ Ambienti di sviluppo e test in cui la pulizia è importante
+ Risorse temporanee legate al ciclo di vita delle applicazioni (database di test, bucket temporanei)
+ Risorse che non dovrebbero durare più a lungo dell'applicazione (code SQS, cluster) ElastiCache 
+ Ottimizzazione dei costi: ripulisci automaticamente le risorse inutilizzate
+ Ambienti gestiti GitOps in cui la rimozione delle risorse da Git dovrebbe eliminare l'infrastruttura

La politica di eliminazione predefinita è in linea con il modello dichiarativo di Kubernetes: ciò che è nel cluster corrisponde a ciò che esiste in. AWS

### Mantenimento
<a name="_retain"></a>

La AWS risorsa viene conservata quando elimini la risorsa Kubernetes. Ciò protegge i dati critici e consente alle risorse di sopravvivere più a lungo della loro rappresentazione in Kubernetes.

 **Quando usare Retain**:
+ Database di produzione con dati critici che devono sopravvivere alle modifiche dei cluster
+ Bucket di storage a lungo termine con requisiti di conformità o di controllo
+ Risorse condivise utilizzate da più applicazioni o team
+ Risorse in fase di migrazione verso diversi strumenti di gestione
+ Scenari di disaster recovery in cui si desidera preservare l'infrastruttura
+ Risorse con dipendenze complesse che richiedono uno smantellamento accurato

```
apiVersion: rds.services.k8s.aws/v1alpha1
kind: DBInstance
metadata:
  name: production-db
  annotations:
    services.k8s.aws/deletion-policy: "retain"
spec:
  dbInstanceIdentifier: prod-db
  # ... configuration
```

**Importante**  
Le risorse conservate continuano a comportare AWS costi e devono essere eliminate manualmente quando non sono più necessarie. AWS Utilizza l'etichettatura delle risorse per tenere traccia delle risorse conservate per la pulizia.

Per ulteriori informazioni sulle politiche di eliminazione, vedere. [Concetti ACK](ack-concepts.md)

## Documentazione upstream
<a name="_upstream_documentation"></a>

Per informazioni dettagliate sull'uso di ACK:
+  [Guida all'uso di ACK](https://aws-controllers-k8s.github.io/community/docs/user-docs/usage/) - Creazione e gestione delle risorse
+  [Riferimento all'API ACK](https://aws-controllers-k8s.github.io/community/reference/): documentazione API completa per tutti i servizi
+  [Documentazione ACK - Documentazione](https://aws-controllers-k8s.github.io/community/docs/) completa per l'utente

## Fasi successive
<a name="_next_steps"></a>
+  [Configurare le autorizzazioni ACK](ack-permissions.md)- Configura le autorizzazioni IAM e i modelli multiaccount
+  [Concetti ACK](ack-concepts.md)- Comprendi i concetti di ACK e il ciclo di vita delle risorse
+  [Risolvi i problemi relativi alle funzionalità ACK](ack-troubleshooting.md)- Risolvi i problemi ACK
+  [Lavorare con Argo CD](working-with-argocd.md)- Implementa le risorse ACK con GitOps
+  [concetti kro](kro-concepts.md)- Componi le risorse ACK in astrazioni di livello superiore