Risorse allocate ai pod con provisioning eseguito dai nodi virtuali
Scopri i limiti e altri fattori da considerare nell'allocazione delle risorse di CPU, memoria e storage ai pod di cui è stato eseguito il provisioning dai nodi virtuali quando si utilizza Kubernetes Engine (OKE).
Quando si utilizzano i nodi virtuali, l'allocazione delle risorse si trova a livello di pod (anziché a livello di nodo di lavoro).
Allocazione delle risorse di CPU e memoria
Per calcolare il numero di CPU (espresse in CPU Oracle o OCPU) e la quantità di memoria da allocare ai pod di cui è stato eseguito il provisioning dai nodi virtuali, Kubernetes Engine considera quanto segue:
- le richieste e i limiti di CPU e memoria per ogni contenitore specificato nella specifica pod, se presente
- il numero di contenitori nel pod
- i requisiti di runtime kube-proxy e container (0.25GB di memoria, CPU trascurabile)
I seguenti requisiti minimi si applicano alle richieste di CPU e memoria pod:
- 0.125 OPU
- 0.5GB di memoria
Per quanto riguarda i limiti di CPU e memoria e le richieste specificate nella specifica pod per i container, Kubernetes Engine applica le regole riportate di seguito durante il calcolo dell'OCPU e dell'allocazione della memoria.
- Se nella specifica pod viene specificato un limite ma non viene effettuata alcuna richiesta, Kubernetes Engine utilizza il valore limite.
- Se viene specificata una richiesta senza limiti, Kubernetes Engine utilizza il valore della richiesta.
- Se vengono specificati sia una richiesta che un limite, Kubernetes Engine utilizza il valore limite.
- Se non vengono specificate né una richiesta né un limite, Kubernetes Engine utilizza 0,125 OCPU e 0.5GB per container.
Poiché i pod forniti dai nodi virtuali hanno sempre una capacità garantita, si consiglia di impostare limiti e richieste allo stesso valore.
Il numero massimo di CPU che possono essere allocate ai pod di cui è stato eseguito il provisioning dai nodi virtuali dipende dalla forma (e dal processore) specificata per il pool di nodi virtuali. Ad esempio, nel caso di Pod.Standard.E3. Flex e Pod.Standard.E4. Forme Flex (AMD), il numero massimo è di 64 memorie centrali (128 vCPUs).
Il numero di OCPU allocate ai pod di cui è stato eseguito il provisioning dai nodi virtuali determina anche la larghezza di banda di rete disponibile per i pod, con 1 Gbps disponibili per OCPU soggetti ai limiti indicati di seguito.
- un limite massimo di larghezza di banda di 40 Gbps
- un limite minimo di larghezza di banda di 1 Gbps
Quando si calcola l'OCPU e l'allocazione della memoria, Kubernetes Engine attualmente:
- arrotonda l'allocazione della CPU al numero intero di OCPU più prossimo
- arrotonda per eccesso l'allocazione di memoria al numero intero di GB più prossimo
Allocazione storage
Ai pod forniti dai nodi virtuali vengono allocati 15 GB di spazio di storage, in cui memorizzare i file system root dei contenitori in esecuzione sul pod. Tenere presente che le immagini dei container consumano parte di tale allocazione di storage da 15 GB. L'allocazione rimanente è disponibile per l'applicazione per l'utilizzo come memorizzazione temporanea.
Fatturazione risorsa
Quando si esegue un job Kubernetes sui nodi virtuali, tenere presente che la fatturazione continua per le risorse utilizzate dal job per tutto il tempo in cui il job esiste, anche quando il job è stato completato o non è riuscito. Pertanto, per evitare di essere fatturati inutilmente per le risorse, eliminare il job una volta terminato. Ad esempio, utilizzando un comando come kubectl delete job <job-name>
o kubectl delete -f <job-spec>.yaml
.