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à.
Comprendere i dettagli di configurazione dei pod di Fargate
Questa sezione descrive alcuni dei dettagli di configurazione dei pod unici per l’esecuzione dei pod Kubernetes su AWS Fargate.
Memoria e CPU del pod
Kubernetes ti consente di definire le richieste, una quantità minima di risorse vCPU e di memoria allocate a ciascun container in un pod. I pod sono programmati da Kubernetes per garantire che almeno le risorse richieste per ciascun pod siano disponibili nella risorsa di calcolo. Per ulteriori informazioni, consulta Gestione risorse di calcolo per container
Nota
Poiché Amazon EKS Fargate esegue solo un pod per nodo, lo scenario di espulsione dei pod in caso di meno risorse non si verifica. Tutti i pod Amazon EKS Fargate funzionano con priorità garantita, quindi la CPU e la memoria richieste devono essere uguali al limite per tutti i container. Per ulteriori informazioni, consulta Gestire la qualità di servizio per i pod
Quando i pod sono programmati su Fargate, le prenotazioni di vCPU e memoria all’interno della specifica del pod determinano la quantità di CPU e memoria per effettuare il provisioning per il pod.
-
La richiesta massima di qualsiasi container Init viene utilizzata per determinare i requisiti di memoria e vCPU della richiesta Init.
-
Le richieste per tutti i container con esecuzione prolungata vengono aggiunte per determinare i requisiti di memoria e vCPU della richiesta con esecuzione prolungata.
-
Il valore maggiore tra i due valori sopra indicati viene scelto per la richiesta di vCPU e memoria da utilizzare per il pod.
-
Fargate aggiunge 256 MB alla prenotazione di memoria di ogni pod per i componenti Kubernetes richiesti (
kubelet,kube-proxyecontainerd).
Fargate arrotonda alla configurazione di calcolo mostrata di seguito che corrisponde più strettamente alla somma delle richieste di vCPU e di memoria, al fine di garantire che i pod abbiano sempre le risorse necessarie per la loro esecuzione.
Se non specifichi una combinazione di vCPU e memoria, viene utilizzata la combinazione più piccola disponibile (.25 vCPU e 0,5 GB di memoria).
La tabella seguente mostra le combinazioni di vCPU e memoria disponibili per i pod in esecuzione su Fargate.
| Valore vCPU | Valore memoria |
|---|---|
|
.25 vCPU |
0,5 GB, 1 GB, 2 GB |
|
.5 vCPU |
1 GB, 2 GB, 3 GB, 4 GB |
|
1 vCPU |
2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB |
|
2 vCPU |
Tra 4 GB e 16 GB in incrementi di 1 GB |
|
4 vCPU |
Tra 8 GB e 30 GB in incrementi di 1 GB |
|
8 vCPU |
Tra 16 GB e 60 GB in incrementi di 4 GB |
|
16 vCPU |
Tra 32 GB e 120 GB in incrementi di 8 GB |
La memoria aggiuntiva riservata ai componenti Kubernetes può causare un’attività Fargate con più vCPUs di quelle richieste per il provisioning. Ad esempio, una richiesta per 1 vCPU e 8 GB di memoria avrà 256 MB aggiunti alla richiesta di memoria e fornirà un’attività Fargate di 2 vCPU e 9 GB di memoria, poiché non è disponibile alcuna attività con 1 vCPU e 9 GB di memoria.
Non vi è alcuna correlazione tra la dimensione del pod in esecuzione su Fargate e quella del nodo riportata da Kubernetes con kubectl get nodes. La dimensione del nodo riportata è spesso maggiore della capacità del pod. Puoi verificare la capacità del pod utilizzando il comando seguente. Sostituisci default con il namespace del pod e pod-name con il nome dello stesso.
kubectl describe pod --namespace default pod-name
Di seguito viene riportato un output di esempio:
[...] annotations: CapacityProvisioned: 0.25vCPU 0.5GB [...]
L’annotazione CapacityProvisioned rappresenta la capacità del pod applicata e determina il costo del pod in esecuzione su Fargate. Per informazioni sui prezzi di queste configurazioni di calcolo, vedi Prezzi Fargate AWS
Archiviazione in Fargate
Un pod in esecuzione su Fargate monta automaticamente un file system Amazon EFS senza bisogno della procedura di installazione manuale del driver. Non puoi utilizzare il provisioning dinamico dei volumi persistenti con nodi Fargate, ma puoi usare quello statico. Per ulteriori informazioni, consulta Driver CSI per Amazon EFS
Una volta fornito, ciascun pod in esecuzione su Fargate riceve uno storage temporaneo predefinito di 20 GiB. Questo tipo di archiviazione viene eliminato dopo che un pod si ferma. Per i nuovi pod avviati su Fargate, la crittografia del volume di archiviazione temporanea è abilitata per impostazione predefinita. L’archiviazione del pod effimero viene crittografata con un algoritmo di crittografia AES-256 utilizzando chiavi gestite da Fargate AWS.
Nota
Lo storage utilizzabile predefinito per i pod Amazon EKS che funzionano su Fargate sono inferiori a 20 GiB. Questo perché parte dello spazio viene utilizzato da kubelet e altri moduli Kubernetes che vengono caricati all’interno del pod.
Puoi aumentare la quantità totale di storage temporaneo fino a un massimo di 175 GiB. Per configurare la dimensione con Kubernetes, specifica le richieste della risorsa ephemeral-storage per ogni container in un pod. Quando Kubernetes pianifica i pod, garantisce che la somma delle richieste di risorse per ciascun pod sia inferiore alla capacità dell’attività Fargate. Per ulteriori informazioni, consulta Gestione delle risorse per pod e container
Amazon EKS Fargate fornisce un maggiore spazio di archiviazione temporaneo di quello richiesto ai fini dell’utilizzo del sistema. Ad esempio, una richiesta di 100 GiB fornirà un’attività Fargate con 115 GiB di storage temporaneo.