Vai al contenuto

Compute

I servizi di calcolo (Compute) forniscono macchine virtuali (istanze) che eseguono i Suoi carichi di lavoro su un'infrastruttura fisica condivisa. Ogni VM è definita da un Flavor (vCPU, RAM, disco) e si avvia da un'Image (modello di sistema operativo).

Che cos'è una macchina virtuale?

Una macchina virtuale (VM) è un sistema operativo guest in esecuzione sull'infrastruttura cloud. Viene creata da un'immagine e un flavor all'interno di un progetto. La VM viene eseguita su un host hypervisor fisico ed è isolata dagli altri tenant.

OpenStack offre due modalità di avvio:

  • Avvio effimero: la VM si avvia direttamente dal disco root integrato nel flavor. Il disco esiste solo per la durata dell'istanza e viene eliminato quando l'istanza viene eliminata.
  • Avvio da volume: la VM si avvia da un volume persistente creato da un'immagine. Il volume sopravvive all'eliminazione dell'istanza, può essere ridimensionato e può essere ricollegato a una nuova istanza.

Tip

L'avvio da volume (flavor Zero-Disk) è consigliato per la maggior parte dei carichi di lavoro. Offre flessibilità per il ridimensionamento, gli snapshot e i backup. Vedere Flavors: Standard vs Zero-Disk.

In questa sezione

  • Flavors: schema di denominazione dei flavor, Standard vs Zero-Disk, elenchi completi dei flavor per entrambe le regioni, scelta e ridimensionamento.

  • Images: immagini disponibili, opzioni di origine di avvio, creazione di immagini da snapshot, immagini personalizzate.

  • SSH Key Pairs: creare o importare chiavi SSH per accedere alle VM.
  • Launch Instance: procedura guidata Horizon passo dopo passo per distribuire una VM.
  • Floating IP: assegnare un IP pubblico per rendere una VM raggiungibile da Internet.
  • Server Groups: politiche di affinità e anti-affinità per il posizionamento delle VM.
  • CLI Deployment: distribuire una VM completa (rete + istanza + Floating IP) dalla riga di comando.

  • GPU Instances: flavor GPU (L4, RTX 6000 Pro, H200), immagini GPU, avvio e verifica delle VM GPU.

Esempi rapidi

Una VM può essere distribuita utilizzando l'OpenStack CLI (OSC), Ansible o Terraform. Per una procedura completa, vedere CLI Deployment.

Prerequisiti: lo strumento CLI deve essere installato e configurato (vedere Tools) e sono necessarie le Application Credentials (cloud.yaml).

OpenStack CLI

openstack server create vm-u2404-az2 \
   --image "Ubuntu 24.04" \
   --flavor g1.2c4m \
   --key-name foo-key \
   --network foo-net \
   --security-group default \
   --availability-zone ch-zh1-az2

Ansible

- os_server:
    name: "foo-u2404-az2"
    image: "Ubuntu 24.04"
    key_name: "foo-key"
    flavor: "g1.2c4m"
    network: "foo-net"
    security_groups: "default"
    availability_zone: "ch-zh1-az2"

Terraform

resource "openstack_compute_instance_v2" "instance_1" {
   name = "vm-u2404-az2"
   image_name = "Ubuntu 24.04"
   flavor_name = "g1.2c4m"
   key_pair = "foo-key"
   security_groups = ["default"]
   availability_zone = "ch-zh1-az2"

   network {
      name = "foo-net"
   }
}

Per esempi di distribuzione di volumi, vedere Storage: operazioni sui volumi.