Cos'è KubeVirt?

Copia URL

KubeVirt è un progetto open source che permette di eseguire, distribuire e gestire macchine virtuali (VM) avvalendosi di Kubernetes come piattaforma di orchestrazione alla base. Il processo di esecuzione delle macchine virtuali all'interno dei container è definito virtualizzazione container native. KubeVirt consente la virtualizzazione container native raggruppando le macchine virtuali all'interno dei container e gestendo entrambi i carichi di lavoro da un'unica console.

Con KubeVirt, le macchine virtuali si comportano come in un ambiente di virtualizzazione tradizionale, ma possono essere eseguite sulla stessa piattaforma dei microservizi containerizzati e delle applicazioni cloud native. Tutti i carichi di lavoro dell'ambiente, comprese le VM, usufruiscono della stessa infrastruttura, degli stessi strumenti e della stessa gestione Kubernetes.

KubeVirt è sponsorizzato dalla Cloud Native Computing Foundation (CNCF) ed è la base open source per Red Hat® OpenShift® Virtualization, una funzionalità di Red Hat OpenShift che supporta la migrazione e la gestione di macchine virtuali tradizionali su una piattaforma applicativa affidabile di cloud ibrido. 

Scopri la soluzione Red Hat per la virtualizzazione

KubeVirt estende l'interfaccia di programmazione delle applicazioni (API) di Kubernetes in modo che possa interagire con le macchine virtuali allo stesso modo di altre risorse e strumenti Kubernetes. Questo consente ai container e alle macchine virtuali di condividere gli stessi cluster, nodi e reti.

La funzionalità aggiunta di KubeVirt è costituita da 3 componenti principali:

  • Custom Resource Definition (CRD): una risorsa personalizzata è un oggetto che estende l'API Kubernetes o che consente di inserire la propria API in un progetto o in un cluster. Un file CRD, o di definizione delle risorse personalizzate, definisce il tipo di oggetto e permette al server API di gestire l'intero ciclo di vita. KubeVirt porta un CRD all'API Kubernetes che gli consente di gestire le macchine virtuali come se fossero altri oggetti Kubernetes (ad esempio dei pod).
  • Controller: un controller è un insieme di distribuzioni in esecuzione sul cluster che forniscono un endpoint API per la gestione dei nuovi CRD KubeVirt.
  • Agenti: gli agenti vengono eseguiti sui nodi di lavoro di un cluster per gestire le attività dei nodi correlate alla virtualizzazione.

KubeVirt può essere paragonato anche a un pod in esecuzione con una macchina virtuale basata su KVM al suo interno. In Kubernetes, un pod è un gruppo di container che vengono eseguiti simultaneamente e condividono le stesse risorse e KVM (Kernel based Virtual Machine) è una tecnologia open source che estende il kernel Linux® perché funga da hypervisor. Con KubeVirt, le istanze delle macchine virtuali vengono eseguite come pod. Questo consente di gestire gli stati delle VM come "arrestata", "in pausa" e "in esecuzione", nonché di eseguire operazioni come il provisioning, la pianificazione e la migrazione delle macchine virtuali. 

Risorse da Red Hat

Creazione delle macchine virtuali

Dalla riga di comando virtctl con il sottocomando "create vm" si possono creare macchine virtuali all'interno di un ambiente Kubernetes. È inoltre possibile controllare i tipi di istanza e le preferenze per gestire le configurazioni su più macchine virtuali contemporaneamente, tra cui l'impostazione dei profili delle prestazioni e la personalizzazione delle caratteristiche di runtime.

Scopri come creare e rendere scalabili le macchine virtuali con Red Hat OpenShift Virtualization

Gestione delle macchine virtuali

L'interfaccia a riga di comando (CLI) virtctl funziona insieme a kubectl, lo strumento a riga di comando standard di Kubernetes, per fornire azioni specifiche per la virtualizzazione per la gestione di macchine virtuali in un cluster Kubernetes. Con virtctl, l'amministratore di una macchina virtuale può svolgere svariate attività:

  • Arrestare, avviare, riavviare e mettere in pausa le macchine virtuali.
  • Gestire le immagini disco.
  • Accedere alle console seriali, grafiche e ssh della macchina virtuale.
  • Eseguire la migrazione tra i nodi.

L'orchestrazione e la pianificazione di Kubernetes forniscono più livelli di gestione per garantire il funzionamento regolare delle VM. Se si eseguono anche carichi di lavoro dei container, KubeVirt aiuta a gestire e monitorare container e VM da un unico piano di controllo.

Come gestire le macchine virtuali con Red Hat OpenShift Virtualization

Migrazione delle macchine virtuali

KubeVirt supporta più metodi di migrazione delle macchine virtuali, inclusa la migrazione in tempo reale, ovvero il processo che consiste nello spostare una macchina virtuale e creare una nuova mappa del suo storage da un host all'altro senza interrompere l'accesso alla macchina stessa. Questa è la scelta ottimale per le VM che richiedono tempi di attività costanti poiché è possibile evitare interruzioni delle operazioni durante la migrazione tra nodi o piattaforme.

Scopri di più sulla migrazione in tempo reale

Utilizzo di nuove funzionalità e scalabilità

L'esecuzione di macchine virtuali su Kubernetes consente di sfruttare ulteriori funzionalità. Ad esempio, CDI (Containerized Data Importer) è una tecnologia compatibile che permette lo storage su disco per le VM KubeVirt e può gestire le risorse di storage.

Kubernetes offre inoltre adattabilità: considerando l'utilizzo crescente di nuove funzioni, l'aggiunta di nuove utilità ai carichi di lavoro e la modernizzazione progressiva delle applicazioni esistenti, ti permette di ampliare o ridurre tali risorse automaticamente in base all'utilizzo della CPU (Central Processing Unit).  

Scopri i dettagli di KubeVirt.io

Integrazione cloud native

KubeVirt consente di eseguire carichi di lavoro che non sono facilmente containerizzati insieme ad applicazioni e microservizi cloud native. I componenti delle applicazioni virtualizzate diventano parte di una piattaforma di sviluppo unificata in cui gli sviluppatori possono creare, gestire, distribuire e rendere scalabili le applicazioni, indipendentemente dal tipo dei componenti stessi: containerizzati, virtualizzati o una combinazione delle due opzioni.

Con KubeVirt, le macchine virtuali possono anche beneficiare dell'integrazione con varie funzionalità Kubernetes native, come il controllo degli accessi basato sui ruoli (RBAC), il monitoraggio e la registrazione integrati, service mesh e altro ancora. 

Modernizzazione

La virtualizzazione permette di avviare e arrestare rapidamente diversi ambienti di sistema operativo su un unico componente hardware. Questo approccio offre una serie di vantaggi a un ecosistema IT, tra cui flessibilità, velocità e stabilità. Tuttavia, con l'evolversi delle piattaforme di virtualizzazione e il conseguente aumento dei costi, alcune aziende sono alla ricerca di nuove soluzioni. KubeVirt è un'opzione valida perché non solo funge da hypervisor, ma offre anche un percorso e una piattaforma per la modernizzazione.

Con KubeVirt si possono creare ed eseguire container e VM simultaneamente, ma si dispone anche di una piattaforma unificata su cui sviluppare nuove applicazioni e modernizzare i carichi di lavoro esistenti. Mano a mano che il tuo percorso di modernizzazione evolve, potrai sfruttare le risorse e le tecnologie necessarie per beneficiare delle innovazioni nello sviluppo cloud native, nell'intelligenza artificiale e nell'apprendimento automatico.

Funzioni avanzate e parità

Come progetto CNCF di livello Incubating, KubeVirt non solo viene messo a disposizione con le funzionalità avanzate native di Kubernetes, ma è anche costantemente migliorato e ampliato grazie ai contributi della community open source.

KubeVirt offre anche la parità delle funzioni con altre piattaforme di virtualizzazione aziendali, tra cui VMware vSphere e HyperV, in modo da poter eseguire le stesse attività a cui si è abituati in un ambiente di virtualizzazione tradizionale.

Prestazioni

KubeVirt è in grado di gestire i requisiti delle CPU in evoluzione e l'allocazione della memoria, con conseguente riduzione della latenza rispetto alle soluzioni di virtualizzazione tradizionali. Inoltre, semplifica il livello di astrazione tra hardware bare metal e ambienti di runtime per un utilizzo più efficiente delle risorse e prestazioni migliori.

Il gruppo di interesse speciale (SIG-scale) della community KubeVirt ha identificato la necessità di valutare le prestazioni e la scalabilità di questo strumento nelle varie versioni. Pertanto, ha sviluppato tecniche per monitorare la scalabilità di KubeVirt negli ambienti dei datacenter. I dati sulle prestazioni e sulla scalabilità vengono condivisi dopo ogni release.

Scopri come KubeVirt migliora le prestazioni con il benchmarking basato su CI

Sicurezza integrata

KubeVirt usufruisce della sicurezza Kubernetes native, che garantisce l'applicazione coerente dei criteri in tutti gli ambienti, incluse le macchine virtuali. Consente agli utenti di specificare una singola configurazione, ad esempio un criterio di rete, da applicare a tutti i pod di una distribuzione, anziché dover configurare controlli a livello di sistema su ogni host di un cluster. Questa funzionalità semplifica la gestione della sicurezza delle macchine virtuali in modo coerente e scalabile. 

Integrando i criteri nei sistemi CI/CD e nel framework del controller di ammissione Kubernetes, le organizzazioni possono applicare più facilmente i criteri di controllo nelle prime fasi del ciclo di vita dello sviluppo del software, prevenendo le esposizioni in fase di runtime. 

 Red Hat OpenShift Virtualization è una piattaforma applicativa moderna basata su KubeVirt e KVM in grado di eseguire macchine virtuali e container in simultanea. Il toolkit per la migrazione delle macchine virtuali incluso fornisce gli strumenti necessari per eseguire la migrazione da una piattaforma di virtualizzazione tradizionale in pochi semplici passaggi. Red Hat Ansible® Automation Platform ti permette di accelerare ogni fase della distribuzione, dalla scalabilità della migrazione alle attività di manutenzione e correzione. Con Red Hat Advanced Cluster Management for Kubernetes puoi monitorare la sicurezza e le prestazioni delle VM da un'unica console. Con ulteriori opzioni di supporto e integrazioni dei partner per lo storage, il backup e il ripristino di emergenza e le reti, puoi affidarti a Red Hat per ottenere l'ottimale funzionamento della tua infrastruttura virtuale nel cloud ibrido e avviare il tuo percorso di modernizzazione con la giusta preparazione.

Fai pratica con Red Hat OpenShift Virtualization
Hub

Il blog ufficiale di Red Hat

Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Come scegliere una piattaforma di virtualizzazione

Scegli la piattaforma di virtualizzazione più adatta alla gestione delle tue macchine virtuali (VM) seguendo alcuni concetti chiave.

Cos'è la migrazione in tempo reale?

La migrazione in tempo reale trasferisce una macchina virtuale (VM) da un host all'altro senza interrompere l'accesso alla macchina stessa.

Perché scegliere Red Hat per la virtualizzazione?

Red Hat OpenShift Virtualization è una piattaforma moderna pensata per superare gli ostacoli legati alla virtualizzazione, eseguire la migrazione delle macchine virtuali e distribuire i loro carichi di lavoro.

Virtualizzazione: risorse consigliate

Prodotto in evidenza

  • Red Hat OpenShift Virtualization

    Una funzionalità di Red Hat® OpenShift® che integra perfettamente le macchine virtuali in una moderna piattaforma di infrastruttura cloud ibrida.

Articoli correlati