Risorse disponibili per i carichi di lavoro

Questa pagina mostra come determinare la quantità di CPU e memoria disponibile su un nodo per eseguire i tuoi carichi di lavoro su GKE su VMware.

Risorse riservate

Su ogni nodo cluster, GKE su VMware prenota le seguenti risorse per i componenti del sistema operativo e i componenti principali di Kubernetes:

  • 80 millicore + 1% della capacità della CPU
  • 330 MiB + 5% della capacità di memoria

Ad esempio, supponi che un nodo abbia la capacità predefinita di 4 core CPU e 8 GiB di memoria. Quindi, GKE su VMware prenota:

  • 80 millicore + 1% di 4 core = 120 millicore
  • 330 MiB + 5% di 8 GiB = 730 MiB

Il sistema operativo e i componenti principali di Kubernetes non vengono eseguiti come pod, ma come processi normali. Le risorse rimanenti, oltre a queste risorse riservate, sono disponibili per i pod.

Soglia di rimozione

Per determinare la quantità di memoria disponibile per i pod, devi considerare anche la soglia di rimozione. GKE su VMware imposta una soglia di rimozione di 100 MiB. Ciò significa che se la memoria disponibile su un nodo è inferiore a 100 MiB, kubelet potrebbe eliminare uno o più pod.

Risorse allocabili

Le risorse su un nodo disponibili per i pod sono chiamate risorse allocabili. Calcola le risorse allocabili come segue:

  • Allocatable CPU = CPU Capacity - Reserved CPU
  • Allocatable Memory = Memory Capacity - Reserved Memory - Eviction Threshold

Ad esempio, supponiamo che un nodo abbia 8 GiB di capacità di memoria, 680 MiB di memoria prenotata e una soglia di eliminazione di 100 MiB. Quindi la memoria allocabile è:

8 GiB - 680 MiB - 100 MiB = 7220 MiB

Risorse disponibili per i carichi di lavoro

Le risorse allocabili di un nodo sono le risorse disponibili per i pod. Sono inclusi i pod che eseguono i tuoi carichi di lavoro e i pod che eseguono i componenti aggiuntivi di GKE su VMware. I componenti aggiuntivi includono il controller in entrata, il servizio in entrata, l'agente Connect, i componenti di networking, i componenti di logging e altro ancora.

Su un determinato nodo, per determinare le risorse disponibili per i tuoi carichi di lavoro, inizia con le risorse allocabili e quindi sottrai le risorse utilizzate dai componenti aggiuntivi.

Il problema è che i componenti aggiuntivi non sono distribuiti uniformemente tra i nodi di un cluster GKE su VMware. Un nodo potrebbe avere 3 componenti aggiuntivi e un altro 10. Inoltre, i vari componenti aggiuntivi richiedono quantità di CPU e memoria diverse.

Come regola generale, puoi immaginare che i componenti aggiuntivi in esecuzione su un nodo richiedano:

  • 200 millicore di CPU
  • 100 MiB di memoria

Ora puoi calcolare le risorse disponibili su un nodo per i tuoi carichi di lavoro come segue:

  • Allocatable CPU - 200 millicores
  • Allocatable memory - 100 MiB

Alcuni nodi richiedono più risorse per i componenti aggiuntivi rispetto a quanto indicato nella precedente regola generale. Ad esempio, un nodo potrebbe eseguire un componente aggiuntivo di Prometheus che richiede 2 GiB di memoria. Tuttavia, se il cluster ha più di qualche nodo, è ragionevole presumere che la regola generale si applichi alla maggior parte dei nodi.

Passaggi successivi

Per saperne di più sul concetto di risorse allocabili, consulta Risorse allocabili nella documentazione per GKE su Google Cloud.