Jump to section

Cos'è un operatore Kubernetes?

Copia URL

Un operatore Kubernetes è un metodo che consente di creare il pacchetto di un'applicazione Kubernetes, eseguire il deployment dell'applicazione e gestirla. Un'applicazione Kubernetes viene distribuita su Kubernetes e gestita utilizzando l'interfaccia di programmazione delle applicazioni (API) Kubernetes e lo strumento kubectl.

Un operatore Kubernetes è un controller specifico dell'applicazione, che estende le funzionalità dell'API Kubernetes consentendo di creare, configurare e gestire le istanze di applicazioni complesse per conto di un utente di Kubernetes.

Partendo dai concetti di base delle risorse e dei controller Kubernetes, integra conoscenze specifiche relative all'applicazione o al dominio per automatizzare l'intero ciclo di vita del software che gestisce. 

In Kubernetes, i controller del piano di controllo attuano cicli di controllo che confrontano iterativamente lo stato desiderato del cluster con quello effettivo. Se non c'è corrispondenza tra i due stati, il controller interviene per risolvere il problema. 

Un operatore è un controller Kubernetes specifico, che impiega le risorse personalizzate dell'utente (CR) per gestire le applicazioni e i rispettivi componenti. La risorsa è personalizzata dall'utente con configurazione e impostazioni di livello superiore. L'operatore Kubernetes traduce tali istruzioni in azioni di livello inferiore, in base alle best practice integrate nella logica dell'operatore.

La risorsa personalizzata costituisce il meccanismo di estensione dell'API in Kubernetes. Una definizione di risorsa personalizzata (CRD) definisce la CR ed elenca tutte le configurazioni disponibili a chi utilizza l'operatore. 

Nell'ambito della risorsa, l'operatore Kubernetes osserva un tipo di CR e avvia azioni specifiche per l'applicazione, affinché lo stato effettivo e quello desiderato corrispondano.

Gli operatori Kubernetes possono introdurre nuovi tipi di oggetti tramite le CRD, che possono essere gestite dall'API Kubernetes come oggetti integrati, anche con l'interazione tramite kubectl e l'inclusione nei criteri di controllo degli accessi basato sui ruoli.

Mentre continua a monitorare l'esecuzione dell'applicazione, un operatore Kubernetes può eseguire il backup dei dati, ripristinare eventuali errori e aggiornare l'applicazione, in modo automatico. 

Le attività possibili a un operatore Kubernetes sono innumerevoli: dalla scalabilità di un'applicazione complessa agli aggiornamenti delle versioni dell'applicazione, fino alla gestione dei moduli kernel per i nodi in un cluster di elaborazione con hardware specializzato.

Scopri di più sul funzionamento degli operatori Kubernetes. Partendo da esempi concreti, impara a crearli con l'apposito framework e con gli SDK (Software Development Kit).

Operator Framework è un progetto open source che ti consente di accelerare lo sviluppo di un operatore fornendo strumenti per sviluppatori e runtime Kubernetes.

Operator Framework include:

  • Operator SDK: un kit che permette agli sviluppatori di creare gli operatori senza dover necessariamente conoscere le complessità dell'API Kubernetes.
  • Operator Lifecycle Management: uno strumento per la supervisione dell'installazione, degli aggiornamenti e della gestione del ciclo di vita di tutti gli operatori eseguiti in un cluster Kubernetes.
  • Operator Metering: per creare report di utilizzo degli operatori che erogano servizi specializzati.

Red Hat® OpenShift® è una piattaforma container di livello enterprise basata su Kubernetes, che offre operazioni automatizzate in tutto lo stack per gestire deployment di cloud ibridi e multicloud.

Red Hat OpenShift impiega gli operatori Kubernetes per eseguire in autonomia l'intera piattaforma, esponendo la configurazione in modalità nativa tramite gli oggetti Kubernetes e consentendo un'installazione rapida e aggiornamenti frequenti e sicuri. 

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.

Keep reading

ARTICOLO

Container e VM

I container Linux e le macchine virtuali (VM) sono entrambi pacchetti di ambienti di elaborazione che combinano vari componenti IT e li isolano dal resto del sistema.

ARTICOLO

Cos'è l'orchestrazione dei container?

Definiamo orchestrazione dei container l'automazione dei processi di deployment, gestione, scalabilità e networking dei container.

ARTICOLO

Cos'è un container Linux?

Un container Linux è un insieme di processi, isolati dal resto del sistema, che esegue un'immagine distinta contenente tutti i file necessari per supportare tali processi.

Scopri di più sui container

Prodotti

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

Risorse

Checklist

10 considerazioni sui deployment Kubernetes

Checklist

Sei considerazioni per scegliere la piattaforma Kubernetes giusta

Serie Open Answers: Cos'è Red Hat OpenShift?

Formazione

Corso di formazione gratuito

Running Containers with Red Hat Technical Overview

Corso di formazione gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Corso di formazione gratuito

Developing Cloud-Native Applications with Microservices Architectures