Questa pagina mostra come specificare una piattaforma CPU minima per i nodi nei cluster Google Kubernetes Engine (GKE).
Perché scegliere una piattaforma CPU minima?
Specificare una piattaforma CPU minima è utile se richiedi funzionalità e specifiche della CPU specifiche, ad esempio un'alta frequenza di base o una funzionalità di gestione dell'alimentazione ottimizzata.
Alcuni workload avanzati a elevato utilizzo di risorse di calcolo nei settori della grafica, dei giochi e dell'analisi possono utilizzare le funzionalità specifiche disponibili tramite diversi set di funzionalità della piattaforma CPU, come AVX-2 e AVX-512. La scelta di una piattaforma CPU specifica può migliorare notevolmente i tempi di esecuzione e le prestazioni. Se specifichi una piattaforma CPU minima, i tuoi carichi di lavoro possono ottenere questi vantaggi in modo più prevedibile e puoi assicurarti che i tuoi nodi non utilizzino una piattaforma CPU inappropriata per i loro carichi di lavoro.
Come scegliere una piattaforma
La seguente tabella mostra come scegliere una piattaforma CPU minima in base a come utilizzi GKE:
Ambito | Descrizione | Configurazione del cluster supportata |
---|---|---|
A livello di workload (opzione consigliata) | Scegli una piattaforma minima nella specifica del pod. GKE pianifica questi pod nel seguente modo:
|
|
Livello di nodo e cluster | Scegli una piattaforma CPU minima quando crei un nuovo cluster o pool di nodi in modalità Standard. Questa impostazione non supporta il provisioning automatico dei nodi. Per istruzioni, vai a Scegliere una piattaforma CPU minima a livello di pool di nodi. | Nuovo cluster standard o pool di nodi |
Prezzi
Puoi scegliere una piattaforma CPU minima senza costi aggiuntivi.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti operazioni:
- Attiva l'API Google Kubernetes Engine. Attiva l'API Google Kubernetes Engine
- Se vuoi utilizzare Google Cloud CLI per questa attività,
installala e poi
inizializzala. Se hai già installato gcloud CLI, scarica l'ultima versione eseguendo
gcloud components update
.
Controllare la disponibilità della piattaforma CPU
Le piattaforme CPU disponibili variano in base alla zona di calcolo in cui vengono eseguiti i nodi. Devi controllare quali piattaforme CPU sono disponibili in una zona anche se utilizzi cluster Autopilot o cluster Standard regionali.
Per controllare le piattaforme disponibili in una zona specifica, esegui questo comando:
gcloud compute zones describe COMPUTE_ZONE
Sostituisci COMPUTE_ZONE
con il nome di una zona, ad esempio
us-central1-a
. Se utilizzi un tipo di cluster regionale, specifica il nome di una zona
in quella regione.
L'output è simile al seguente:
availableCpuPlatforms:
- Intel Ice Lake
- Intel Cascade Lake
- Intel Skylake
- Intel Broadwell
- Intel Haswell
- Intel Ivy Bridge
- Intel Sandy Bridge
- AMD Milan
- AMD Rome
- Ampere Altra
- Intel Sapphire Rapids
Quando utilizzi questi valori per richiedere una piattaforma CPU minima, sostituisci gli spazi con
i trattini bassi nel nome della piattaforma. Ad esempio, AMD_Milan
.
Scegliere una piattaforma CPU minima a livello di workload
Se utilizzi cluster GKE Autopilot o GKE Standard con il provisioning automatico dei nodi, puoi scegliere una piattaforma CPU minima nella specifica del pod. Quando esegui il deployment del workload, GKE pianifica questi pod solo sui nodi che hanno la piattaforma specificata o una versione più recente. Ti consigliamo questo metodo.
Autopilot
In Autopilot, richiedi una piattaforma CPU minima e una
classe di computing. La classe di calcolo deve supportare la piattaforma CPU. Autopilot
supporta la selezione di una piattaforma CPU minima per la
classe di computing Balanced
. Per un elenco delle piattaforme CPU disponibili in ogni classe di calcolo, consulta Quando utilizzare classi di calcolo specifiche.
Salva il seguente manifest come min-cpu.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/compute-class: "COMPUTE_CLASS"
supported-cpu-platform.cloud.google.com/PLATFORM: "true"
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Sostituisci quanto segue:
PLATFORM
: il nome della piattaforma CPU, ad esempioAMD_Milan
. Il nome della piattaforma è sensibile alle maiuscole e deve essere delimitato da trattini bassi.COMPUTE_CLASS
: il nome della classe di computing, che deve essereBalanced
.
Standard
Nei cluster Standard con il provisioning automatico dei nodi abilitato, richiedi una piattaforma CPU insieme a una famiglia di macchine Compute Engine. La famiglia di macchine deve supportare la piattaforma CPU. Per un elenco delle piattaforme supportate per ogni famiglia di macchine, consulta Piattaforme CPU di Compute Engine.
Salva il seguente manifest come min-cpu.yaml
:
apiVersion: apps/v1
kind: Deployment
metadata:
name: min-cpu-platform
labels:
app: min-cpu
spec:
replicas: 3
selector:
matchLabels:
app: min-cpu
template:
metadata:
labels:
app: min-cpu
spec:
nodeSelector:
cloud.google.com/machine-family: MACHINE_FAMILY
cloud.google.com/requested-min-cpu-platform: PLATFORM
containers:
- name: hello-app
image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 250m
Sostituisci quanto segue:
PLATFORM
: il nome della piattaforma CPU, ad esempioAMD_Milan
. Il nome della piattaforma è sensibile alle maiuscole e deve essere delimitato da trattini bassi.MACHINE_FAMILY
: il nome della famiglia di macchine, ad esempion2d
.
Esegui il deployment del carico di lavoro:
kubectl apply -f min-cpu.yaml
I nodi mantengono la stessa piattaforma per tutto il loro ciclo di vita, a meno che la piattaforma CPU specificata non venga ritirata, nel qual caso i nodi vengono eseguiti su una piattaforma più recente.
Scegliere una piattaforma CPU minima a livello di pool di nodi
Per i cluster GKE Standard senza il provisioning automatico dei nodi, puoi specificare una piattaforma CPU minima quando crei un nuovo cluster o un nuovo pool di nodi. Devi utilizzare questo approccio solo se non puoi utilizzare l'impostazione a livello di workload. Questa impostazione non influisce sul provisioning automatico dei nodi.
gcloud
Per creare un nuovo pool di nodi con una piattaforma CPU minima utilizzando gcloud CLI,
imposta il flag --min-cpu-platform
e specifica il nome della piattaforma CPU:
gcloud container node-pools create POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--min-cpu-platform PLATFORM
Sostituisci quanto segue:
POOL_NAME
: il nome del nuovo pool di nodi.CLUSTER_NAME
: il nome del tuo cluster.CONTROL_PLANE_LOCATION
: la posizione di Compute Engine del control plane del tuo cluster. Fornisci una regione per i cluster regionali o una zona per i cluster zonali.PLATFORM
: la piattaforma CPU che vuoi eseguire nel pool di nodi, ad esempio"Intel Broadwell"
.
Console
Vai alla pagina Google Kubernetes Engine nella console Trusted Cloud .
Nell'elenco dei cluster, fai clic sul nome del cluster da modificare.
Fai clic su add_box Aggiungi pool di nodi.
Configura il pool di nodi in base alle esigenze.
Nel riquadro di navigazione, fai clic su Nodi.
In Configurazione macchina:
Nell'elenco a discesa Serie, seleziona un tipo di macchina.
Nell'elenco a discesa Tipo di macchina, seleziona Personalizzato.
Seleziona Core e Memoria in base alle esigenze.
Fai clic su expand_more Piattaforma CPU e GPU.
Nell'elenco a discesa Piattaforma CPU, seleziona la piattaforma minima.
Fai clic su Crea.
API
Includi la proprietà minCpuPlatform
come parte del campo nodeConfig
nel corpo della richiesta. Il valore di minCpuPlatform
deve essere il nome
della piattaforma, ad esempio Intel Haswell
, Intel Broadwell
e
Intel Sandy Bridge
.
Ad esempio, la seguente richiesta crea un nuovo pool di nodi che esegue la piattaforma Intel Broadwell:
POST https://container.googleapis.com/v1/projects/PROJECT_ID/regions/COMPUTE_REGION/clusters/CLUSTER_NAME/nodePools
{
'nodePool': {
'name': 'POOL_NAME',
'nodeConfig': {
'minCpuPlatform': 'Intel Broadwell'
...
}
...
}
}
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.COMPUTE_REGION
: la regione del cluster.CLUSTER_NAME
: il nome del tuo cluster.POOL_NAME
: il nome del nuovo pool di nodi.
Se specifichi la piattaforma quando crei un cluster, l'impostazione della piattaforma CPU minima si applica al pool di nodi predefinito nel nuovo cluster.
Alternative
GKE ti consente anche di selezionare piattaforme CPU minime utilizzando i seguenti metodi:
Alternative | |
---|---|
Flag a livello di cluster
|
Limitazioni
Le seguenti limitazioni si applicano a tutti i metodi di selezione di una piattaforma CPU minima:
- Si applicano tutte le limitazioni delle piattaforme CPU minime di Compute Engine.
- La disponibilità di piattaforme CPU specifiche varia in base alla zona.
- Il tipo di macchina E2 non supporta le piattaforme CPU minime. Devi selezionare un tipo di macchina diverso.
- I cluster Autopilot supportano la selezione della piattaforma solo per la classe di computing
Balanced
, non per le classi di computing predefinite oScale-Out
. - Se il tuo workload Autopilot richiede più di 80 vCPU, la piattaforma CPU minima deve essere Intel Ice Lake o versioni successive. Se specifichi una piattaforma meno avanzata, il pod potrebbe rimanere nello stato
Pending
a tempo indeterminato.
Si applica la seguente limitazione all'impostazione della piattaforma CPU minima del cluster o del node pool:
Se selezioni una piattaforma CPU minima meno avanzata della piattaforma CPU predefinita nella zona o se la piattaforma selezionata non è più disponibile, GKE verifica se esiste una piattaforma più recente allo stesso costo. Se esiste una piattaforma più recente allo stesso costo, GKE crea i nodi utilizzando la piattaforma più recente. Se non esiste una piattaforma più recente allo stesso costo, la creazione del cluster o pool di nodi non riesce.
Passaggi successivi
- Visualizza un elenco delle piattaforme CPU disponibili.
- Scopri di più su regioni e zone.
- Scopri di più sui nodi.