

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

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

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

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

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

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

 **Quando usare**:
+ Guida introduttiva a ACK
+ Single-account implementazioni
+ Tutte le risorse gestite da un 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"],
          "aws:ResourceTag/ManagedBy": "ACK"
        }
      }
    }
  ]
}
```

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 i selettori di ruolo IAM per implementare l'accesso con privilegi minimi e l'isolamento a livello di namespace.

 **Quando usare: **
+ Ambienti di produzione
+ Multi-team cluster
+ Multi-account gestione delle risorse
+ Least-privilege requisiti di sicurezza
+ 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 più 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 i flussi di GitOps lavoro per la gestione dell'infrastruttura.

 **Considerazioni:**
+ Archivia le risorse ACK insieme ai manifesti delle applicazioni per un uso completo 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 l'eliminazione per rimuovere automaticamente le risorse eliminate
+ Prendi in considerazione i modelli hub-and-spoke per la gestione dell'infrastruttura multi-cluster

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 API personalizzate.

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

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

kro gestisce l'ordinamento delle dipendenze, la propagazione dello stato e la gestione del ciclo di vita delle risorse composte. Per saperne di più su kro, vedi. [concetti kro](kro-concepts.md)

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

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

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

Usa i namespace Kubernetes per separare logicamente le risorse ACK per ambiente (produzione, staging, sviluppo), team (piattaforma, dati, ml) o applicazione.

 **Vantaggi: **
+ Namespace-scoped RBAC per il controllo degli accessi
+ Imposta le regioni predefinite per namespace utilizzando le annotazioni
+ Gestione e pulizia delle risorse più semplici
+ Separazione logica allineata alla 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 sono diversi dagli ACK autogestiti e forniscono una migliore tracciabilità.

 **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**  
Self-managed ACK 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 le altre funzionalità EKS.

 **Tag aggiuntivi consigliati: **

Aggiungi tag personalizzati per l'allocazione dei costi, il monitoraggio della proprietà e per scopi organizzativi:
+ Ambiente (produzione, messa in scena, 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 al di là dell'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 le API Kubernetes insieme ai carichi di lavoro delle applicazioni.

 **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 di 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 la deriva rispetto agli strumenti imperativi
+  **Composizioni native**: unendo kro e ACK, è possibile fare riferimento alle risorse direttamente nei manifesti delle applicazioni e delle risorse, passando stringhe di connessione e ARN tra AWS le risorse
+  **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, consentendo una 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 è gestita da ACK e può essere aggiornata tramite i manifesti di Kubernetes. È possibile eseguire la migrazione 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 vuoi 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 (VPC, ruoli IAM, chiavi KMS) tramite le API 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 si elimina la risorsa Kubernetes corrispondente. Scegli la policy 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 si elimina la risorsa Kubernetes. Ciò mantiene la coerenza tra il cluster e AWS, assicurando 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: ripulisce 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 si elimina la risorsa Kubernetes. Ciò protegge i dati critici e consente alle risorse di sopravvivere alla loro rappresentazione Kubernetes.

 **Quando usare keep: **
+ Database di produzione con dati critici che devono sopravvivere alle modifiche del cluster
+ Long-term bucket di archiviazione con requisiti di conformità o di audit
+ 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 un'attenta disattivazione

```
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 Usa 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, consulta le seguenti pagine del sito Web ACK:
+ Per creare e gestire le risorse, consulta la guida all'uso di [ ACK](https://aws-controllers-k8s.github.io/docs/guides/create-resource).
+ Per una documentazione completa sulle API per tutti i servizi, consulta il riferimento all'API [ ACK](https://aws-controllers-k8s.github.io/docs/api-reference).
+ Per una documentazione utente completa, consulta la documentazione [ ACK](https://aws-controllers-k8s.github.io/docs/).

## Fasi successive
<a name="_next_steps"></a>
+  [Configurare le autorizzazioni ACK](ack-permissions.md)- Configura le autorizzazioni IAM e i modelli multi-account
+  [Concetti ACK](ack-concepts.md)- Comprendi i concetti ACK e il ciclo di vita delle risorse
+  [Risolvi i problemi relativi alle funzionalità ACK](ack-troubleshooting.md)- Risolvere i problemi relativi all'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