Questa pagina spiega come creare un cluster GKE Standard o un pool di nodi con nodi Arm in modo da poter eseguire i workload Arm su Google Kubernetes Engine (GKE). Per scoprire come eseguire il deployment di workload Arm sui cluster Autopilot, consulta Eseguire il deployment di workload Autopilot sull'architettura Arm.
Puoi creare cluster con nodi Arm utilizzando la serie di macchine C4A o la serie di macchine Tau T2A. Per scoprire di più sui vantaggi di Arm e scegliere la serie di macchine migliore per i tuoi carichi di lavoro, consulta VM Arm su Compute.
Con GKE, puoi creare un cluster con pool di nodi con un tipo di architettura (ad esempio Arm) o più tipi di architettura (ad esempio Arm e x86). Quando esegui nodi con più tipi di architettura, puoi eseguire il deployment dei carichi di lavoro su più architetture nello stesso cluster.
Questa pagina è rivolta a operatori e sviluppatori che eseguono il provisioning e la configurazione delle risorse cloud che eseguono il deployment dei carichi di lavoro. Per scoprire di più sui ruoli comuni, consulta Ruoli utente e attività comuni di GKE Enterprise.
Prima di leggere questa pagina, acquisisci familiarità con i workload Arm su GKE.
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
.
- Esamina i requisiti e le limitazioni per i nodi C4A e T2A.
- Assicurati di disporre delle autorizzazioni corrette per creare cluster. Come minimo, devi disporre del ruolo Amministratore cluster Kubernetes Engine.
Configura i service account IAM per GKE
GKE utilizza i service account IAM collegati ai nodi per
eseguire attività di sistema come il logging e il monitoraggio. Come minimo, questi service account nodo
devono avere il ruolo
Kubernetes Engine Default Node Service Account
(roles/container.defaultNodeServiceAccount
) sul tuo progetto. Per impostazione predefinita,
GKE utilizza l'account di servizio predefinito di Compute Engine,
che viene creato automaticamente nel tuo progetto, come service account del nodo.
Per concedere il ruolo roles/container.defaultNodeServiceAccount
al account di servizio predefinito di Compute Engine, completa i seguenti passaggi:
console
- Vai alla pagina Benvenuto:
- Nel campo Numero progetto, fai clic su Copia negli appunti.
- Vai alla pagina IAM:
- Fai clic su Concedi l'accesso.
- Nel campo Nuove entità, specifica il seguente valore:
SostituisciPROJECT_NUMBER-compute@developer.gserviceaccount.com
PROJECT_NUMBER
con il numero di progetto che hai copiato. - Nel menu Seleziona un ruolo, seleziona il ruolo Kubernetes Engine Default Node Service Account.
- Fai clic su Salva.
gcloud
- Trova il numero del tuo progetto Google Cloud :
gcloud projects describe PROJECT_ID \ --format="value(projectNumber)"
Sostituisci
PROJECT_ID
con l'ID progetto.L'output è simile al seguente:
12345678901
- Concedi il ruolo
roles/container.defaultNodeServiceAccount
all'account di servizio predefinito di Compute Engine:gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" \ --role="roles/container.defaultNodeServiceAccount"
Sostituisci
PROJECT_NUMBER
con il numero di progetto del passaggio precedente.
Crea un cluster con un pool di nodi Arm
Le seguenti istruzioni spiegano come creare un nuovo cluster con un pool di nodi che esegue nodi Arm della serie di macchine C4A o della serie di macchine Tau T2A.
Puoi utilizzare gcloud CLI, la console Google Cloud o Terraform per creare il cluster.
gcloud
Crea un nuovo cluster di zona con il pool di nodi predefinito utilizzando i nodi Arm:
gcloud container clusters create CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES
Sostituisci quanto segue:
CLUSTER_NAME
: il nome del nuovo cluster con un pool di nodi Arm.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. La regione o la zona selezionata deve essere una delle località disponibili per la serie di macchine Arm che scegli.NODE_LOCATIONS
: la zona o le zone del pool di nodi, ad esempious-central1-a
. Devi scegliere tra le zone disponibili per la serie di macchine Arm o la creazione del pool di nodi potrebbe non riuscire.ARM_MACHINE_TYPE
: una delle forme di macchine C4A o forme di macchine T2A disponibili, ad esempioc4a-standard-8
ot2a-standard-16
.NUM_NODES
: il numero di nodi per il pool di nodi Arm.
Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, vedi Utilizzare un service account con privilegio minimo minimi.
Per specificare un account di servizio personalizzato in gcloud CLI, aggiungi il seguente flag al comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Sostituisci SERVICE_ACCOUNT_NAME con il nome del service account con privilegi minimi.
Se vuoi impostare altre impostazioni per il cluster, consulta il riferimento gcloud container clusters create
per un elenco completo delle impostazioni disponibili durante la creazione del cluster.
Console
Nella console Google Cloud , vai alla pagina Crea un cluster Kubernetes.
Configura il cluster. Per ulteriori informazioni, consulta le istruzioni per creare un cluster zonale o creare un cluster regionale.
Scegli una località in cui sono disponibili i nodi Arm.
- Nella sezione Impostazioni di base del cluster, in Tipo di località, scegli A livello di zona o Regione:
- Nel menu a discesa, scegli una zona o una regione in cui sono disponibili i nodi Arm.
- Seleziona la casella Specifica località dei nodi predefinite. Seleziona le zone in cui sono disponibili i nodi Arm.
Per selezionare un tipo di macchina Arm, nella sottosezione Nodi, in Configura impostazioni nodo > Configurazione macchina > Famiglia di macchine, seleziona PER USO GENERALE. Nel menu a discesa Serie, seleziona C4A o T2A. Nel menu a discesa Tipo di macchina, scegli tra le opzioni disponibili.
- (Facoltativo) Specifica un account di servizio IAM personalizzato per i tuoi nodi:
- Nella pagina Impostazioni avanzate, espandi la sezione Sicurezza.
- Nel menu Service account, seleziona il account di servizio che preferisci.
Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, vedi Utilizzare un service account con privilegio minimo minimi.
Fai clic su Crea.
Terraform
Per creare un cluster di zona con il pool di nodi predefinito utilizzando i nodi Arm utilizzando Terraform, consulta il seguente esempio:
Per scoprire di più sull'utilizzo di Terraform, consulta Supporto di Terraform per GKE.
Aggiungere un pool di nodi Arm a un cluster GKE
Puoi aggiungere un nuovo pool di nodi a un cluster GKE Standard utilizzando gcloud CLI, la console Google Cloud o Terraform.
Come best practice per la creazione di un cluster GKE utilizzando qualsiasi tipo di nodi, ti consigliamo di creare e utilizzare un account di servizio Identity and Access Management (IAM) con privilegi minimi per i tuoi pool di nodi da utilizzare al posto del account di servizio predefinito di Compute Engine.
Per istruzioni sulla creazione di un account di servizio con privilegi minimi, consulta Rafforzare la sicurezza del cluster.
gcloud
Aggiungi un pool di nodi Arm a un cluster esistente:
gcloud container node-pools create NODE_POOL_NAME \
--cluster CLUSTER_NAME \
--location CONTROL_PLANE_LOCATION \
--node-locations NODE_LOCATIONS \
--machine-type ARM_MACHINE_TYPE \
--num-nodes NUM_NODES \
--service-account SERVICE_ACCOUNT
Sostituisci quanto segue:
NODE_POOL_NAME
: il nome del nuovo pool di nodi Arm per il cluster esistente.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.CLUSTER_NAME
: il nome del cluster a cui vuoi aggiungere un pool di nodi Arm.NODE_LOCATIONS
: la zona o le zone del pool di nodi, ad esempious-central1-a
. Devi scegliere tra le zone disponibili per la serie di macchine Arm o la creazione del pool di nodi potrebbe non riuscire.ARM_MACHINE_TYPE
: una delle forme di macchine C4A o forme di macchine T2A disponibili, ad esempioc4a-standard-8
ot2a-standard-16
.NUM_NODES
: il numero di nodi per il pool di nodi Arm.
Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, vedi Utilizzare un service account con privilegio minimo minimi.
Per specificare un account di servizio personalizzato in gcloud CLI, aggiungi il seguente flag al comando:
--service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Sostituisci SERVICE_ACCOUNT_NAME con il nome del service account con privilegi minimi.
Se vuoi impostare impostazioni aggiuntive per il tuo pool di nodi, consulta il riferimento
gcloud container node-pools create
per un elenco completo delle impostazioni disponibili durante la creazione del pool di nodi.
Console
Per aggiungere un pool di nodi Arm a un cluster esistente:
Vai alla pagina Google Kubernetes Engine nella console Google 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.
Scegli le località dei nodi in cui sono disponibili i nodi Arm.
- Nella sezione Dettagli del pool di nodi, seleziona la casella Specifica le località dei nodi.
- Seleziona le zone in cui sono disponibili i nodi Arm.
Per selezionare un tipo di macchina Arm, nella sottosezione Nodi, in Configura impostazioni nodo > Configurazione macchina > Famiglia di macchine, seleziona PER USO GENERALE. Nel menu a discesa Serie, seleziona C4A o T2A. Nel menu a discesa Tipo di macchina, scegli tra le opzioni disponibili.
Nel menu di navigazione, fai clic su Sicurezza.
- (Facoltativo) Specifica un account di servizio IAM personalizzato per i tuoi nodi:
- Nella pagina Impostazioni avanzate, espandi la sezione Sicurezza.
- Nel menu Service account, seleziona il account di servizio che preferisci.
Ti consigliamo vivamente di specificare un account di servizio IAM con privilegi minimi che i nodi possono utilizzare al posto del account di servizio predefinito di Compute Engine. Per scoprire come creare un account di servizio con privilegi minimi, vedi Utilizzare un service account con privilegio minimo minimi.
Fai clic su Crea per aggiungere il pool di nodi.
Terraform
Per aggiungere un pool di nodi che utilizza nodi Arm a un cluster esistente utilizzando Terraform, consulta il seguente esempio:
Sostituisci google_container_cluster.default.id
con il nome del cluster.
Per scoprire di più sull'utilizzo di Terraform, consulta Supporto di Terraform per GKE.
Passaggi successivi
- Crea immagini multi-architettura per i workload Arm
- Prepara un workload Arm per il deployment
- Esegui la migrazione dell'applicazione x86 su GKE all'architettura multi-arch con Arm