Documentazione
Proxmox VE
Proxmox è l’integrazione hypervisor. Crea macchine virtuali clonando un template, segue l’operazione mentre è in corso e mantiene il pannello allineato con ciò che il cluster riporta davvero.
Che cosa serve
Per l’automazione Proxmox non utilizza una password. Si crea un token API: un identificatore in tre parti più un segreto mostrato una sola volta.
- Host: l’URL di base completo dell’API. Deve essere HTTPS; se viene omessa, la porta 8006 viene inserita automaticamente.
- Identificatore del token: nel formato user@realm!tokenname, esattamente come lo scrive Proxmox.
- Segreto del token: il valore che Proxmox mostra una sola volta alla creazione del token.
- Impronta TLS: il certificato del nodo stesso, non dell’autorità che lo ha emesso.
openssl s_client -connect pve.example.com:8006 </dev/null 2>/dev/null | \
openssl x509 -noout -fingerprint -sha256Impostazioni
Quattro scelte non segrete, nella scheda delle impostazioni. Senza di esse l’integrazione è collegata ma non può creare nulla.
- Nodo: su quale nodo del cluster costruire. Il pannello propone i nodi che il suo agente ha effettivamente visto; se non ne ha ancora visto nessuno, è possibile digitarne uno.
- Storage: dove finiscono i dischi delle nuove macchine.
- Bridge: facoltativo. Viene memorizzato e utilizzato là dove la piattaforma crea una macchina da zero, ma un clone eredita il bridge del template da cui è stato clonato.
- Intervallo di ID macchina: il blocco di ID VM di Proxmox all’interno del quale Provibr può assegnare.
L’intervallo è il confine di sicurezza
È l’impostazione più importante della pagina. Provibr assegna identificatori soltanto all’interno dell’intervallo che gli viene indicato e non tocca mai nulla al di fuori. Tenga le sue macchine di produzione fuori dall’intervallo e resteranno irraggiungibili, qualunque cosa venga cliccata nel pannello.
Come viene creata una macchina
Creare una macchina significa una sola operazione di clonazione, seguita da un piccolo numero di chiamate di configurazione. Il pannello segue quell’operazione e mostra l’avanzamento reale là dove Proxmox lo comunica.
- Clonare il template scelto sul nodo indicato nelle impostazioni.
- Ampliare il disco di avvio fino alla dimensione ordinata. Un disco può soltanto crescere; se il template è già più grande, la macchina mantiene la dimensione del template.
- Applicare core, memoria e le impostazioni di cloud-init (indirizzo, gateway, server DNS, utente, chiavi SSH) in un’unica chiamata di configurazione.
- Attivare il firewall e avviare la macchina.
Contenitori Linux
Un collegamento Proxmox regge macchine virtuali e contenitori. Il piano decide quale dei due produce un ordine, e da lì in poi il genere viaggia con ogni comando anziché essere indovinato. Un contenitore non è una macchina virtuale più piccola: condivide il kernel del suo host, ed è per questo che costa poco ed è per questo che una manciata di cose lì semplicemente non ci sono.
- Il piano dice macchina virtuale, contenitore, oppure l’uno o l’altro. Con l’uno o l’altro la scelta si fa durante l’ordine, e l’elenco delle immagini segue quella scelta anziché riempirne una in silenzio.
- Un contenitore non viene clonato ma spacchettato, da un modello di contenitore presente sul collegamento. È un genere di sorgente diverso dai modelli da cui si clona una macchina virtuale, e un’immagine che ha soltanto un modello di contenitore non compare nell’elenco delle macchine virtuali.
- Unprivileged è l’impostazione predefinita. La radice dentro il contenitore non è la radice sull’host, ed è ciò che si vuole a meno che qualcosa non chieda espressamente il contrario.
- L’archiviazione è un volume di radice più i punti di montaggio. Il pannello li mostra come chiave, sorgente e percorso dentro l’ospite; il percorso dell’host di proposito non compare, perché dice più dell’host che della macchina.
Ogni comando porta il genere con sé, e un comando che non si adatta viene rifiutato prima di diventare un incarico, con il motivo sullo schermo. Due di quei motivi significano cose davvero diverse.
- Mai: avviare dalla rete, una macchina vuota, e il firmware o l’ordine di avvio. Un contenitore non parte da una scheda di rete e non ha firmware a cui chiedere.
- Non ancora: dischi, schede di rete e la schermata dell’hardware. Un contenitore ha eccome archiviazione e rete, in un’altra forma, e riusare per esse i campi di una macchina virtuale darebbe alle stesse parole un secondo significato.
- Disponibile: creare, avviare, fermare, spegnere, stato, eliminare, sospendere, riprendere, reinstallare, il firewall e la sua protezione dagli indirizzi falsificati.
- La console è un caso a parte, ed è un non ancora con una ragione: la console di una macchina virtuale è uno schermo, e un contenitore non ce l’ha. Quello che ha è un terminale, e sono un altro protocollo e un altro client.
Le copie di sicurezza hanno una differenza facile da sbagliare, e funziona esattamente al contrario che su una macchina virtuale. Un punto di montaggio è nella copia solo se è stato spuntato per questo; un disco di macchina virtuale ci sta finché non è stato tolto. Un contenitore con un volume di dati che nessuno ha spuntato ha quindi una copia che sembra completa e contiene solo il volume di radice.
Reinstallare un contenitore è una sostituzione e non un clone sopra. Il pannello mostra prima che cosa succede a ogni punto di montaggio, e solo dopo sostituisce la macchina sotto un unico blocco: il volume di radice viene ricostruito, e ciò che risultava conservato viene rimesso. Ciò che non era in quell’elenco non viene ripristinato.
Cloud-init
Provibr scrive un insieme di chiavi cloud-init fisso e ridotto, e nient’altro: le quattro configurazioni di rete, i server DNS e il dominio di ricerca, l’utente, il tipo di configurazione, le chiavi SSH, la password e se eseguire un aggiornamento dei pacchetti al primo avvio. L’elenco esiste su entrambi i lati, così un campo che per caso si chiama cloud-init non può mai riscrivere un’impostazione arbitraria della macchina.
L’opzione di aggiornamento dei pacchetti al primo avvio richiede Proxmox 8.1 o versioni successive. Su un nodo più vecchio la chiamata viene ripetuta senza quell’opzione, anziché non riuscire.
Che cosa si può fare in seguito
Avviare, arrestare, spegnere, mettere in pausa, riprendere, aggiornare lo stato, reinstallare ed eliminare. Lo spegnimento chiede prima con garbo al sistema guest e, scaduto un timeout, ripiega su un arresto forzato.
Dischi e schede di rete si possono aggiungere, ridimensionare, collegare e scollegare. Un disco può soltanto crescere. Il disco di avvio e il disco cloud-init non si possono scollegare, e nemmeno la prima scheda di rete.
Il firewall ha un elenco di regole modificabile e un log, entrambi letti dal nodo stesso e scritti su di esso.
Da sapere
- Un clone eredita il bridge di rete del proprio template. Il bridge indicato sul piano e sull’integrazione viene memorizzato e utilizzato altrove, ma non viene applicato a un clone.
- L’utilizzo del disco all’interno di una macchina virtuale non è visibile a Proxmox, quindi quel grafico mostra la dimensione assegnata e nessuna linea di utilizzo. Le altre misurazioni sono reali.
- I template sono esclusi dal polling e non incidono mai sulla sua licenza.
- Le macchine che esistono sul suo cluster ma non in Provibr vengono ignorate a ogni polling. Non possono nemmeno essere importate da Proxmox: oggi per gli hypervisor non esiste l’importazione.