Configurazione dei pod Fargate - Amazon EKS

Configurazione dei pod 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 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, consultare Gestione risorse di calcolo per container nella documentazione su Kubernetes.

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, consultare Gestire la qualità di servizio per i pod nella documentazione di Kubernetes.

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-proxy, e containerd).

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 ai pod sempre le risorse necessarie per la loro esecuzione.

Se non si specifica 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

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 la dimensione del nodo riportata da Kubernetes con kubectl get nodes. La dimensione del nodo riportata è spesso maggiore della capacità del pod. È possibile verificare la capacità del pod utilizzando il comando seguente. Sostituisci pod-name con il nome del pod.

kubectl describe pod pod-name

L'output è il seguente.

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

Quando viene eseguito il provisioning, ogni pod in esecuzione su Fargate riceve 20 GB di spazio di archiviazione per gli strati di immagini container. L'archiviazione del pod è temporanea. Quando un pod si arresta, l'archiviazione viene eliminata. Per i nuovi pod avviati su Fargate in data 28 maggio 2020 o successiva, 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 spazio di archiviazione utilizzabile per i pod Amazon EKS in esecuzione su Fargate è inferiore a 20 GB perché una parte dello spazio viene utilizzata dai kubelet e da altri moduli Kubernetes caricati all'interno del pod.