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
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
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
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
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
Integrazione con altre funzionalità EKS
GitOps con Argo CD
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
Composizione delle risorse con kro
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
Organizzazione delle risorse
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
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
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 |
|---|---|
|
|
La versione del controller ACK |
|
|
Lo spazio dei nomi Kubernetes della risorsa ACK |
|
|
Il nome della risorsa Kubernetes |
|
|
Il gruppo di API Kubernetes (ad esempio,) |
|
|
L'ARN della funzionalità EKS ACK |
Nota
Self-managed ACK utilizza diversi tag predefiniti: services.k8s.aws/controller-version eservices.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
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
Politiche di eliminazione
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)
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
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
Documentazione upstream
Per informazioni dettagliate sull'uso di ACK, consulta le seguenti pagine del sito Web ACK:
Fasi successive
-
Configurare le autorizzazioni ACK- Configura le autorizzazioni IAM e i modelli multi-account
-
Concetti ACK- Comprendi i concetti ACK e il ciclo di vita delle risorse
-
Risolvi i problemi relativi alle funzionalità ACK- Risolvere i problemi relativi all'ACK
-
Lavorare con Argo CD- Implementa le risorse ACK con GitOps
-
concetti kro- Componi le risorse ACK in astrazioni di livello superiore