Vai al paragrafo
Tariffe

Cosa sono gli operatori Red Hat OpenShift?

Copia URL

Gli operatori Red Hat® OpenShift® consentono di automatizzare la creazione, la configurazione e la gestione delle istanze delle applicazioni Kubernetes native. Forniscono automazione a tutti i livelli dello stack: dalla gestione dei singoli componenti della piattaforma fino alle applicazioni, che vengono erogate come servizi gestiti.

Sfruttando l'automazione offerta dagli operatori Kubernetes per la gestione della piattaforma, Red Hat OpenShift è in grado di esporre la configurazione in modo nativo tramite gli oggetti Kubernetes, velocizzare l'installazione e garantire aggiornamenti frequenti e affidabili. Oltre quindi a eseguire l'intera piattaforma in autonomia, Red Hat OpenShift semplifica la ricerca, l'installazione e la gestione degli operatori in esecuzione nei cluster.

Red Hat OpenShift integra OperatorHub, un registro di operatori certificati creati da fornitori di software e progetti open source. OperatorHub rende disponibile una raccolta di operatori, compatibili con Red Hat OpenShift, che sono stati raggruppati per un'ottimale gestione del loro ciclo di vita.

Un operatore Kubernetes è un metodo che consente di creare il pacchetto di un'applicazione Kubernetes native, eseguirne il deployment e gestirla. Un'applicazione Kubernetes native è un'applicazione che viene distribuita in Kubernetes e gestita tramite le API Kubernetes e gli strumenti kubectl.

Un operatore è di fatto un controller personalizzato.

I controller, che svolgono un ruolo chiave in Kubernetes, vengono implementati come un ciclo software costantemente in esecuzione sui nodi master Kubernetes, con lo scopo di confrontare e riconciliare lo stato attuale di un oggetto con la condizione target richiesta. Gli oggetti sono risorse di uso comune, come pod, servizi, ConfigMap e PersistentVolume. Gli operatori applicano questo modello a livello dell'intera applicazione fungendo da controller specifici dell'applicazione.

Il software dell'operatore viene eseguito in un pod sul cluster e interagisce con il server API Kubernetes. Gli operatori Kubernetes possono introdurre nuovi tipi di oggetti tramite le Custom Resource Definition (CRD), un meccanismo di estensione fornito da Kubernetes. Questi oggetti personalizzati sono soprattutto interfacce utente, coerenti con il modello di interazione basato su risorse del cluster Kubernetes.

Un operatore monitora questi tipi di risorse personalizzati e riceve una notifica se sono presenti o hanno subito una modifica. Alla ricezione di tale notifica, l'operatore inizia a eseguire un ciclo con lo scopo di garantire la disponibilità delle connessioni richieste per il servizio applicativo rappresentato da questi oggetti, verificando che siano configurate nel modo indicato dall'utente nella specifica dell'oggetto.

Ebook

O'Reilly: Kubernetes Operators: Automating the Container Orchestration Platform

Scarica questo ebook per capire il funzionamento degli operatori e imparare a crearli utilizzando Operator Framework e l'SDK.

Operator Framework è un progetto open source che offre agli sviluppatori e agli amministratori dei cluster gli strumenti necessari per accelerare lo sviluppo e il deployment di un operatore.

Il progetto include Operator Software Development Kit (SDK), per la creazione delle applicazioni Kubernetes, un framework di gestione per l'estensione di Kubernetes con gli operatori, e un catalogo di operatori esistenti, realizzati dalla community Kubernetes.

Operatori creati dalla community

Accedendo agli operatori della community, gli sviluppatori e gli amministratori dei cluster possono sperimentare operatori con vari livelli di maturità utilizzabili in qualunque ambiente Kubernetes. Scopri gli operatori della community su OperatorHub.io.

Operatori certificati

Gli operatori Red Hat OpenShift certificati disponibili in Embedded OperatorHub permettono agli sviluppatori e agli amministratori dei cluster di accedere a una libreria di carichi di lavoro "as-a-service", collaudati su Red Hat OpenShift e supportati da Red Hat e dai suoi partner.

L'Operator Software Development Kit (SDK) mette a disposizione tutti gli strumenti necessari per creare e testare gli operatori, per poi fornirli sotto forma di pacchetto. Utilizzando l'SDK si evita di inserire gran parte del codice standard normalmente necessario per l'integrazione con l'API Kubernetes. L'SDK fornisce anche una struttura pronta all'uso, che permette agli sviluppatori di concentrarsi completamente sull'aggiunta della logica di business, ad esempio per espandere, aggiornare o eseguire il backup dell'applicazione gestita. Nell'SDK sono inclusi anche i modelli di codice e le pratiche principali, condivisi da diversi operatori, per evitare di ricreare più volte gli stessi componenti. L'SDK permette inoltre di realizzare brevi cicli di sviluppo e test iterativi, grazie agli strumenti per la convalida di base dell'operatore, e di creare automaticamente i pacchetti per il deployment tramite Operator Lifecycle Manager.

Operator SDK: Build, test, iterate

Operator Lifecycle Manager (OLM) è il backplane che semplifica la gestione degli operatori in un cluster Kubernetes. Gli operatori che forniscono le applicazioni di uso comune sotto forma di servizi sono in genere costituiti da carichi di lavoro di lunga durata, probabilmente dotati di varie autorizzazioni all'interno del cluster.

OLM permette agli amministratori di specificare gli operatori disponibili in ogni singolo spazio dei nomi e gli utenti autorizzati a interagire con gli operatori in esecuzione. Le autorizzazioni di ciascun operatore vengono automaticamente configurate con precisione, in base al principio del privilegio minimo. OLM gestisce completamente il ciclo di vita degli operatori e delle relative risorse, ad esempio risolvendo le dipendenze dagli altri operatori, attivando gli aggiornamenti degli operatori e delle applicazioni che gestiscono o concedendo a un team i diritti di accesso a un operatore per la relativa sezione del cluster.

Le funzionalità di Operator Framework per la gestione del ciclo di vita possono essere utilizzate da semplici applicazioni stateless, senza scrivere alcun codice, tramite un operatore generico come ad esempio Helm Operator. Ma la vera utilità degli operatori emerge con le applicazioni stateful complesse, perché le funzionalità di gestione dei servizi incorporate nel codice dell'operatore possono garantire un'esperienza utente avanzata, automatizzando ad esempio gli aggiornamenti, i backup e la scalabilità.

 

Operator Lifecycle Manager: Install and update across clusters

Le estensioni di misurazione consentono al personale IT di controllare più efficacemente il budget e ai fornitori di software di monitorare più facilmente l'utilizzo dei loro prodotti commerciali. Operator Metering è uno strumento progettato per integrarsi con la funzione di generazione dei report relativi alla CPU e alla memoria del cluster, oltre che per calcolare i costi IaaS e le metriche personalizzate, ad esempio per la gestione delle licenze.

Approfondisci

Articolo

Cosa sono gli operatori Red Hat OpenShift?

Gli operatori Red Hat OpenShift automatizzano la creazione, la configurazione e la gestione delle istanze di applicazioni Kubernetes-native.

Articolo

AI/ML su Red Hat OpenShift

OpenShift offre funzionalità fondamentali per l'accelerazione dei flussi di lavoro AI/ML e per la distribuzione di applicazioni basate sull'intelligenza artificiale.

Articolo

L'edge computing con Red Hat OpenShift

Estendi i servizi applicativi alle sedi remote e analizza gli input in tempo reale con le funzionalità edge computing di OpenShift.

Scopri di più su OpenShift

Prodotti

Una piattaforma applicativa aziendale che offre servizi verificati per consentire la distribuzione delle app sulle infrastrutture preferite.

Una soluzione di storage software defined che fornisce uno spazio di archiviazione dati permanente durante l'avvio e l'arresto dei container tra gli ambienti.

Una sandbox completamente supportata per lo sviluppare, addestrare e testare i modelli di machine learning (ML) in modo rapido nel cloud pubblico prima di distribuirli in produzione.

Una soluzione che permette di controllare cluster e applicazioni Kubernetes da una singola console dotata di criteri di sicurezza integrati.

Risorse

Serie Open Answers: Cos'è Red Hat OpenShift?

Sviluppo cloud native con Red Hat e Amazon Web Services

Formazione

Corso di formazione gratuito

Running Containers with Red Hat Technical Overview

Corso di formazione gratuito

Developing Cloud-Native Applications with Microservices Architectures

Corso di formazione gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview