Le versioni autogestite di OpenShift (Red Hat OpenShift Platform Plus, Red Hat OpenShift Container Platform, Red Hat OpenShift Kubernetes Engine e Red Hat OpenShift Virtualization Engine) possono essere utilizzate in qualunque ambiente supportato e certificato per la versione a 64 bit di Red Hat Enterprise Linux. Consulta la documentazione per saperne di più su metodi di deployment e tipi di infrastrutture supportate per OpenShift.
Edizioni software OpenShift autogestite:
- Red Hat OpenShift Kubernetes Engine: è un motore di runtime Kubernetes di livello enterprise per il cloud ibrido, che fornisce le principali funzionalità di OpenShift per il deployment e l'esecuzione delle applicazioni. Può essere installato e gestito in un datacenter, negli ambienti di cloud pubblico o all'edge.
- Red Hat OpenShift Container Platform: è una piattaforma applicativa Kubernetes di livello enterprise per il cloud ibrido, ricca di funzionalità per la creazione, il deployment e l'esecuzione delle applicazioni. Può essere installata e gestita in un datacenter, negli ambienti di cloud pubblico e all'edge.
- Red Hat OpenShift Platform Plus: è una piattaforma di cloud ibrido utilizzabile per la creazione, il deployment, l'esecuzione e la gestione di applicazioni intelligenti su vasta scala, su più cluster e in vari ambienti cloud. Offre diversi livelli di sicurezza, gestibilità e automazione che garantiscono la coerenza lungo l'intera catena di distribuzione del software. Le sottoscrizioni OpenShift Platform Plus sono disponibili solo per cluster x86.
- Red Hat OpenShift Virtualization Engine: è un'infrastruttura di virtualizzazione esclusivamente bare metal basata su Red Hat OpenShift e sull'hypervisor open source Kernel-based Virtual Machine (KVM), appositamente progettata per fornire una soluzione di livello enterprises affidabile per il deployment, la gestione e la scalabilità delle VM. Composta da una selezione di funzionalità di OpenShift, questa edizione è destinata esclusivamente ai carichi di lavoro delle macchine virtuali, con servizi per l'infrastruttura supportati solo in container; non prevede alcun supporto per i container delle applicazioni degli utenti finali.
Tipi di sottoscrizione
Per la versione autogestita di OpenShift esistono due tipi di sottoscrizione (basata su coppia di core e basata su coppia di socket bare metal), ognuna con due livelli di supporto disponibili.
Per i nodi di calcolo presenti nell'ambiente sono necessarie le relative sottoscrizioni, i cui diritti possono essere assegnati per coppie di core o per coppie di socket bare metal.
- Coppia di core (2 core o 4 vCPU)
- Questa opzione di sottoscrizione è disponibile per OpenShift Kubernetes Engine, OpenShift Container Platform e OpenShift Platform Plus. Le sottoscrizioni basate su coppia di core non sono applicabili a OpenShift Virtualization Engine.
- Quando si quantificano i diritti per i core delle CPU, occorre considerare il numero aggregato di core fisici o vCPU presenti su tutti i nodi di calcolo OpenShift eseguiti in tutti i cluster OpenShift a cui si intende assegnare i diritti tramite sottoscrizioni basate su coppia di core.
- È disponibile con il supporto Standard (8/5) o Premium (24/7).
- Coppia di socket bare metal (1-2 socket con un massimo di 128 core)
- Questa opzione di sottoscrizione è disponibile per tutte le edizioni autogestite di OpenShift ed è l'unica opzione per OpenShift Virtualization Engine.
- È disponibile solo per nodi x86 e nodi fisici bare metal ARM nei quali OpenShift è installato direttamente nell'hardware. Non consente l'utilizzo di hypervisor di terze parti.
- Non si tratta di una sottoscrizione "Virtual Datacenter" come Red Hat Enterprise Linux for Virtual Datacenters, in cui una singola sottoscrizione consente installazioni illimitate del sistema operativo guest della VM su qualsiasi host hypervisor.
- È disponibile con il supporto Standard (8/5) o Premium (24/7).
- Questo tipo di sottoscrizione è cumulabile per i server bare metal con più di 2 socket o con più di 128 core, ma una singola sottoscrizione non può coprire più server bare metal.
In aggiunta, per gli acceleratori presenti nell'ambiente sono necessarie le sottoscrizioni Red Hat AI Accelerator:
- AI Accelerator (1 acceleratore)
- Questa sottoscrizione è necessaria per le schede degli acceleratori (GPU, TPU, NPU, FPGA, DPU, ecc.) che forniscono l'accelerazione di calcolo per i carichi di lavoro di IA che sono componenti aggiuntivi distinti e non fanno parte del pacchetto della CPU.
- Si utilizza la stessa sottoscrizione per ogni AI Accelerator fisico, indipendentemente dalla versione di Red Hat OpenShift.
- Se Red Hat OpenShift e OpenShift AI sono entrambi installati sul cluster, è sufficiente un'unica sottoscrizione AI Accelerator.
- La sottoscrizione non è necessaria se la capacità dell'acceleratore non è utilizzata per accelerare il calcolo, come nel caso delle DPU utilizzate come SmartNIC per l'accelerazione della rete (solo se dispongono di core ARM indirizzabili), o delle GPU utilizzate per accelerare il rendering delle immagini e non per l'accelerazione di IA.
- È disponibile con il supporto Standard (8/5) o Premium (24/7). Lo SLA deve corrispondere a quello della sottoscrizione basata su coppia di core o su coppia di socket bare metal supportata.
Quando scegliere le sottoscrizioni basate su coppia di core
In genere, le sottoscrizioni basate su coppia di core sono da preferire quando si distribuisce la versione autogestita di OpenShift su hyperscaler nel cloud pubblico, in un'infrastruttura IaaS di cloud privato, o su hypervisor come VMware vSphere, Red Hat OpenStack® Platform o Nutanix.
Tali sottoscrizioni consentono di evitare di associare le sottoscrizioni ai server fisici e permettono di distribuire liberamente i pod nel cloud ibrido.
Le sottoscrizioni basate su coppia di core possono essere utilizzante anche su dispositivi e server bare metal, senza hypervisor. Esiste in genere una determinata densità del pod di calcolo per la quale le sottoscrizioni basate su coppia di socket bare metal possono essere più convenienti in termini economici.
Quando la piattaforma di virtualizzazione dedicata è OpenShift Virtualization Engine, è possibile associare i container OpenShift delle VM utilizzando le sottoscrizioni basate su coppia di core, in aggiunta a quelle basate su coppia di socket bare metal dell'hypervisor. Occorre acquistare le sottoscrizioni basate su coppia di core della versione autogestita di OpenShift e assegnarle alle VM dell'ambiente, proprio come per qualsiasi altra applicazione acquistata ed eseguita come VM. In questo caso, esiste una densità di core per cui potrebbe essere più conveniente il passaggio alla sottoscrizione basata su coppia di socket bare metal per la versione autogestita di OpenShift, poiché questa include container OpenShift illimitati sul server bare metal e il supporto per la loro esecuzione su VM OpenShift.
Le sottoscrizioni basate su coppia di core possono essere distribuite in modo da coprire tutti i nodi di calcolo OpenShift in esecuzione su tutti i cluster OpenShift. Ad esempio, 100 sottoscrizioni di Red Hat OpenShift Platform Plus basate su coppia di core corrispondono a 200 core (400 vCPU) che possono essere utilizzati sui nodi di calcolo OpenShift di tutti i cluster OpenShift in esecuzione negli ambienti di cloud ibrido.
Quando scegliere le sottoscrizioni basate su coppia di socket bare metal
Le sottoscrizioni basate su coppia di socket bare metal sono un'opzione esclusiva per i nodi di calcolo di OpenShift distribuiti su server fisici dedicati, che si trovino nel datacenter, in un cloud privato in hosting in un'offerta bare metal supportata o con un hyperscaler nell'ambito di un'offerta bare metal supportata. Sono l'unica opzione disponibile per OpenShift Virtualization Engine, e sono necessarie per supportare la funzionalità OpenShift Virtualization nelle altre edizioni di OpenShift autogestite.
Ogni sottoscrizione basata coppia di socket bare metal autorizza un massimo di 128 core fisici nella coppia di socket. Queste sottoscrizioni sono cumulabili sia per coprire le coppie di socket con oltre 128 core totali, sia i server fisici con più di una coppia di socket.
Per autorizzare un server fisico, si deve acquistare un numero di sottoscrizioni sufficiente a coprire il numero totale di socket o di core fisici di cui è dotato il server (il numero più alto fra i due). Si prenda come esempio un server con 2 socket con 48 core in ogni CPU, per un totale di 96 core. Una sottoscrizione è necessaria perché il server è dotato di 1 o 2 socket e di meno di 128 core. Per un secondo server con 2 socket e 192 core totali, sarebbero necessarie 2 sottoscrizioni. Per coprire 192 core occorrono due sottoscrizioni, perché una singola sottoscrizione copre al massimo 128 core. Non è possibile suddividere su più host fisici una singola sottoscrizione basata su coppia di socket bare metal, ad esempio per coprire 2 server ognuno con un solo socket o più core su server distinti.
Considerata la peculiare architettura di Kubernetes, ogni server bare metal fisico che utilizza diritti basati su socket può essere impiegato esclusivamente come singolo nodo OpenShift. Poiché in Kubernetes ogni nodo può appartenere solo a un singolo cluster, tutti i container di un server bare metal si troveranno sullo stesso cluster. La sottoscrizione risulta quindi adatta ai carichi di lavoro a elevato consumo di risorse come OpenShift Virtualization (in cui ogni carico di lavoro esegua una VM completa), ma non ad altri. Mentre OpenShift supporta fino a 2.500 container su un singolo nodo, ci sono situazioni in cui, per motivi prestazionali o architetturali, è preferibile suddividere i container tra diversi nodi o diversi cluster. Per farlo, è necessario avvalersi della virtualizzazione per creare nodi di calcolo distinti sul server bare metal.
Un modello di deployment per container molto diffuso prevede la creazione di numerosi cluster contenenti ognuno piccole quantità di container. Questo approccio è comune negli ambienti hyperscaler; nel datacenter è possibile utilizzare un hypervisor per creare le VM che diventeranno i nodi di calcolo sui quali verranno distribuiti i container. Per hypervisor quali VMware vSphere, Red Hat OpenStack Platform e Nutanix, è necessario utilizzare le sottoscrizioni basate su coppia di core se OpenShift è distribuito sulle VM.
I cluster OpenShift Kubernetes Engine, OpenShift Container Platform e OpenShift Platform Plus distribuiti su bare metal e associati a sottoscrizioni a coppia di socket includono OpenShift Virtualization e le sottoscrizioni per qualsiasi cluster OpenShift virtuale dello stesso tipo di prodotto in essi distribuito. Ad esempio, i cluster OpenShift virtuali distribuiti su un cluster OpenShift Container Platform bare metal ereditano le sottoscrizioni OpenShift Container Platform dal cluster bare metal che li ospita.
È importante notare che la sottoscrizione OpenShift Virtualization Engine non include il supporto per le istanze applicative containerizzate, ad eccezione dei carichi di lavoro dell'infrastruttura definiti più avanti, nella sezione relativa a OpenShift Virtualization Engine. Se intendi eseguire i carichi di lavoro della tua applicazione containerizzata con OpenShift Virtualization Engine, devi associare le VM utilizzando le sottoscrizioni basate su coppia di core per la versione autogestita di OpenShift. Con maggiori densità, puoi invece scegliere di acquistare una sottoscrizione per coppia di socket bare metal per le versioni autogestite di OpenShift Kubernetes Engine, OpenShift Container Platform o OpenShift Platform Plus. In questo modo puoi eseguire in modo nativo le applicazioni containerizzate sul cluster bare metal o sulle sottoscrizioni ereditate dai cluster virtuali, come descritto nel paragrafo precedente.
Non è possibile combinare tipi di prodotti OpenShift nello stesso cluster e tutti i nodi devono avere sottoscrizioni per lo stesso tipo di prodotto OpenShift Virtualization Engine, OpenShift Kubernetes Engine, OpenShift Container Platform o OpenShift Platform Plus. In un singolo cluster è tuttavia possibile utilizzare sottoscrizioni basate su coppia di core e su coppia di socket. Ad esempio, non puoi disporre di un singolo cluster bare metal con alcuni nodi di OpenShift Virtualization Engine per l'hosting delle VM e altri nodi sottoscritti tramite OpenShift Platform Plus per l'hosting di applicazioni containerizzate e istanze di OpenShift virtuali.
Come conteggiare le sottoscrizioni AI Accelerator
Negli ultimi anni, sono emerse sul mercato tecnologie hardware specifiche che consentono l'esecuzione più veloce di alcuni carichi di lavoro di calcolo. Queste tipologie di dispositivi hardware vengono collettivamente indicate come acceleratori o acceleratori di IA in alcuni documenti di Red Hat. Numerosi tipi di dispositivi hardware utilizzabili con i moderni server possono essere classificati come acceleratori, tra cui GPU, TPU, ASIC, NPU e FPGA.
Può trattarsi di schede o altri dispositivi fisici che possono occupare gli slot PCI di un server, di solito nella quantità unitaria che l'utente acquista dal fornitore del dispositivo di accelerazione. Ciò significa che in un server definito dal fornitore come "dotato di 8 GPU", si trovano verosimilmente 8 acceleratori fisici.
Ogni sottoscrizione AI Accelerator copre un dispositivo di accelerazione fisico. Ad esempio, concentriamoci solo sulle sottoscrizioni AI Accelerator:
- Un nodo di calcolo fisico con 4 dispositivi GPU fisici richiederebbe 4 sottoscrizioni AI Accelerator in aggiunta alle sottoscrizioni basate su coppia di core o coppia di socket della CPU che coprono il nodo di calcolo.
- Un singolo nodo di calcolo virtuale con 1 dispositivo GPU fisico presentato alle VM come più vGPU richiederebbe una sottoscrizione AI Accelerator, perché il conteggio si basa sugli acceleratori fisici e non su quelli virtuali.
Gli acceleratori vengono conteggiati solo se utilizzati per eseguire un carico di lavoro di calcolo. Un carico di lavoro viene considerato di calcolo quando il suo scopo principale non è quello di rappresentare in modo attivo e in tempo reale i pixel sullo schermo di un utente o di spostare i dati in una rete.
È importante fare questa distinzione perché le applicazioni per gli effetti speciali e per lo streaming possono utilizzare le GPU e altri acceleratori hardware, ma in questi casi la finalità è inerente ai pixel sullo schermo. Un carico di lavoro non è considerato di calcolo anche nelle situazioni in cui la sua funzione principale è lo spostamento di dati in una rete, come nel caso delle unità di elaborazione dati dedicate alle funzioni di rete.
Sono esempi di carichi di lavoro di calcolo:
- Applicazioni software tradizionali, come Java, Python e Perl.
- LLM o altri software a utilizzo intensivo di risorse di calcolo.
- Addestramento e ottimizzazione di modelli di data science.
- Modellazioni e simulazioni in ambito scientifico o fisico, utilizzate ad esempio per elaborare il ripiegamento proteico o la dinamica dei fluidi.