Questo documento è destinato a proprietari di applicazioni e amministratori di piattaforme che eseguono cluster Anthos su Bare Metal. Questo documento mostra come creare e utilizzare i tipi di VM oppure specificare manualmente le risorse di CPU e memoria quando crei VM che utilizzano Anthos VM Runtime.
Prima di iniziare
Per completare questo documento, devi accedere alle seguenti risorse:
- Accesso ai cluster Anthos su Bare Metal versione 1.12.0 (
anthosBareMetalVersion: 1.12.0
) o superiore. Puoi utilizzare qualsiasi tipo di cluster in grado di eseguire carichi di lavoro. Se necessario, prova i cluster Anthos su Bare Metal su Compute Engine o consulta la panoramica sulla creazione dei cluster. - Lo strumento client
virtctl
è stato installato come plug-in perkubectl
. Se necessario, installa lo strumento client Virtctl.
Crea una VM
Quando crei una VM, puoi specificare manualmente i requisiti di CPU e memoria. Questa capacità consente di creare VM con le risorse di computing appropriate per soddisfare le esigenze della tua applicazione.
Per creare una VM e specificare manualmente i requisiti di CPU e memoria, segui questi passaggi.
interfaccia a riga di comando
Usa
kubectl
per creare una VM:kubectl virt create vm VM_NAME \ --image ubuntu20.04 \ --cpu CPU_NUMBER \ --memory MEMORY_SIZE
Sostituisci i seguenti valori:
VM_NAME
: il nome della tua VM. Per ulteriori informazioni sui vincoli dei nomi, consulta Nomi e ID degli oggetti.CPU_NUMBER
: il numero di CPU virtuali (vCPU) da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 M a 1 T di memoria a una VM. Per ulteriori informazioni, consulta Unità di risorse di memoria.
Manifest
Crea un manifest
VirtualMachine
, ad esempio my-custom-vm.yaml, nell'editor che preferisci:nano my-custom-vm.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
In questo file YAML, definisci le seguenti impostazioni:
VM_NAME
: il nome della tua VM. Per ulteriori informazioni sui vincoli dei nomi, consulta Nomi e ID degli oggetti.VCPU_NUMBER
: il numero di vCPU da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 M a 1 T di memoria a una VM. Per ulteriori informazioni, consulta Unità di risorse di memoria.
La VM connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per maggiori informazioni, consulta Creare e gestire dischi virtuali.Salva e chiudi il manifest della VM nell'editor.
Crea la VM utilizzando
kubectl
:kubectl apply -f my-custom-vm.yaml
Creare e utilizzare i tipi di VM
Quando abiliti il runtime VM di Anthos, è disponibile una nuova definizione di risorsa personalizzata VirtualMachineType. Questa definizione viene utilizzata per specificare le risorse di CPU e memoria di una VM. Puoi creare tipi di VM per i diversi carichi di lavoro di cui hai bisogno e applicare un insieme coerente di risorse di calcolo alle VM in base a questi tipi.
Se Anthos VM Runtime è abilitato nei cluster Anthos su Bare Metal, vm-controller-manager
installa un tipo di VM predefinito. La seguente definizione mostra il tipo di VM predefinito di example-machinetype
:
apiVersion: vm.cluster.gke.io/v1
kind: VirtualMachineType
metadata:
name: "example-machinetype"
labels:
vm.cluster.gke.io/predefined-machinetype: "true"
spec:
cpu:
vcpus: 2
memory:
capacity: 4G
Non puoi aggiornare questo tipo di VM predefinito. Questo tipo di VM predefinito viene reinstallato se non esiste nel cluster ogni volta che viene avviato o riavviato vm-controller-manager
, ad esempio se hai eliminato il tipo di VM.
Crea un tipo di VM
Puoi creare i tuoi tipi di VM per adattarli alle esigenze di calcolo dei tuoi carichi di lavoro.
Crea un manifest
VirtualMachineType
come my-vm-type.yaml, nell'editor che preferisci:nano my-vm-type.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachineType metadata: name: my-vm-type spec: cpu: vcpus: VCPU_NUMBER memory: capacity: MEMORY_SIZE
In questo tipo di VM devi definire le seguenti impostazioni:
VM_NAME
: il nome della tua VM. Per ulteriori informazioni sui vincoli dei nomi, consulta Nomi e ID degli oggetti.VCPU_NUMBER
: il numero di vCPU da assegnare alla VM.- Puoi assegnare da 1 a 96 vCPU a una VM.
MEMORY_SIZE
: la quantità di memoria da assegnare alla VM.- Puoi assegnare da 1 M a 1 T di memoria a una VM. Per ulteriori informazioni, consulta Unità di risorse di memoria.
Salva e chiudi il manifest del tipo di VM nell'editor.
Crea il tipo di VM utilizzando
kubectl
:kubectl apply -f my-vm-type.yaml
Crea una VM utilizzando un tipo di VM
Specifica un tipo di VM nel manifest VirtualMachine
per applicare impostazioni compute
predefinite alla tua VM.
Crea un manifest
VirtualMachine
, ad esempio my-custom-vm.yaml, nell'editor di tua scelta.nano my-custom-vm.yaml
Copia e incolla il seguente manifest YAML:
apiVersion: vm.cluster.gke.io/v1 kind: VirtualMachine metadata: name: VM_NAME spec: compute: virtualMachineTypeName: my-vm-type interfaces: - name: eth0 networkName: pod-network default: true disks: - virtualMachineDiskName: VM_NAME-boot-dv boot: true
In questo file YAML, specifica il nome del tipo di VM personalizzata che hai creato nella sezione precedente, ad esempio
my-vm-type
, come valore pervirtualMachineTypeName
.La VM connette
eth0
alla retepod-network
predefinita.Il disco di avvio denominato
VM_NAME-boot-dv
deve già esistere. Per maggiori informazioni, consulta Creare e gestire dischi virtuali.Salva e chiudi il manifest della VM nell'editor.
Crea la VM utilizzando
kubectl
:kubectl apply -f my-custom-vm.yaml
Passaggi successivi
- Modifica una VM in Cluster Anthos on bare metal.
- Quando non hai più bisogno di VM, elimina una VM nei cluster Anthos su Bare Metal.