Technical

Che cos'è un Operatore Kubernetes?

martedì 24 marzo 2020 - Entando

Prende il nome dalla parola greca che si traduce come timoniere, Kubernetes è un sistema di orchestrazione di container open source che consente di automatizzare la distribuzione, il ridimensionamento e la gestione delle applicazioni.

Mentre i deployment containerizzati hanno consentito alle aziende di ridurre le spese generali gestendo in modo più efficace le risorse dell'infrastruttura IT, aumentando al contempo portabilità, efficienza e funzionamento, gestendo un gran numero di container su larga scala. È qui che Kubernetes ha un valore aggiunto per le organizzazioni, automatizzando questa gestione per mantenere le app in esecuzione in modo efficiente ed efficace.

Ma cos'è un Operatore Kubernetes? E perché le aziende hanno bisogno di operatori, quando Kubernetes intende consentire loro di automatizzare immediatamente il deployment, il ridimensionamento e la gestione out-of-the-box del lifecycle?

La definizione più comune per un Operatore Kubernetes che troverai è che si tratta di "un metodo di packaging, deploying e gestione di un'applicazione Kubernetes".

Tuttavia, tale definizione non sembra molto utile fino a quando non definiamo le sfide specifiche che gli Operatori possono aiutare a superare per le aziende che gestiscono applicazioni containerizzate su Kubernetes.

Solve Il problema che gli Operatori Kubernetes risolvono

Kubernetes ha sempre mantenuto la promessa di automazione nei casi in cui un'organizzazione implementa e scala un'applicazione senza stato, che non salva i dati dei client da una sessione all'altra. Tuttavia, quando si ha a che fare con un'applicazione con stato che dipende da informazioni preziose da una sessione all'altra, la situazione diventa un pò più complicata.

Continua dicendo: "Storicamente, questo spesso richiedeva un intervento manuale, aumentando il carico DevOps e aumentando la probabilità di errore. Questo soprattutto ovvia ad uno dei principali punti di forza di Kubernetes: l'automazione."

Quindi, al centro di ciò, gli Operatori Kubernetes hanno lo scopo di consentire all'utente di sperimentare i vantaggi dell'automazione in una più ampia serie di situazioni di deployment containerizzato.

Perchè usare un Operatore?

Gli Operatori Kubernetes estendono le funzionalità di Kubernetes per automatizzare i deployment in base alle esigenze specifiche dell'organizzazione. In sostanza, aumentano la capacità di automatizzare funzioni più complesse.

Dasha Gurova lo riassume in questo modo: "un Operatore è essenzialmente una conoscenza codificata su come eseguire l'applicazione Kubernetes." Gli Operatori Kubernetes rendono operative e automatizzano le competenze specifiche del dominio necessarie per gestire e scalare le applicazioni containerizzate specifiche delle aziende. Sono particolarmente utili quando è necessario aumentare l'efficienza delle azioni che vanno oltre un semplice riavvio di un container in caso di errore di un'istanza.

Ad esempio, supponiamo che tu sia un system admin e, in qualità di operatore umano, sai che ci sono modi specifici per far funzionare l'applicazione che va oltre il semplice riavvio del container. O forse hai una procedura specifica per ripristinare il tuo sistema quando si verifica un'eccezione. In casi come questi, è possibile personalizzare un Operatore per eseguire automaticamente queste attività, il che consente di risparmiare tempo e ridurre la probabilità di errore umano nel processo.

Gli Operatori Kubernetes ti consentono di sperimentare meno complessità quando gestisci le tue applicazioni incorporando l'esperienza umana del tuo team nel codice stesso. Inoltre, gli Operatori sono in grado di funzionare su qualsiasi infrastruttura su cui stai attualmente eseguendo Kubernetes, sia che si tratti di una pubblica, privata, ibrida o multi-cloud.

Quando usare un Operatore?

Your teams should consider creating a Kubernetes Operator where the investment of time and resources is greater than the value of the time currently being spent to complete those tasks manually.

I tuoi team dovrebbero prendere in considerazione la creazione di un Operatore Kubernetes dove l'investimento di tempo e risorse è superiore al valore del tempo attualmente impiegato per completare tali attività manualmente.

Oltre alla costruzione iniziale degli Operatori, dovrai continuare a mantenerli. Ben Bromhead, CTO di Instaclustr, afferma: “I team di sviluppatori che tentano di gestire internamente Operatori Kubernetes devono davvero tenere traccia delle modifiche degli Operatori e pianificare in modo proattivo gli aggiornamenti. Dovranno assolutamente intervenire manualmente quando le cose andranno male dato che gli Operatori Kubernetes possono e entreranno in strani stati che richiedono attenzione pratica. "

Ciò significa che non tutte le situazioni richiedono un Operatore Kubernetes. Quindi capire il tuo contesto è la chiave per decidere se pensi che la tua organizzazione trarrà beneficio dal possederne uno per una particolare applicazione.

Alcuni contesti chiave in cui è possibile considerare un Operatore sono database, per sicurezza, networking e CI / CD. Se stai cercando di creare un Operatore Kubernetes personalizzato per la tua applicazione, Google Cloud offre le migliori pratiche per la creazione di Operatori che puoi trovare qui.

Crea applicazioni Kubernetes-native usando i micro frontend su Entando.

Quando i cicli di rilascio richiedono mesi anziché settimane, la tua azienda non è in grado di rispondere alle esigenze dei tuoi clienti con le moderne esperienze online che desiderano. Ecco perché abbiamo creato una piattaforma per aiutarti a portare le tue idee sul mercato più velocemente.

Entando è la principale micro frontend platform, open source, per la creazione di applicazioni enterprise su Kubernetes.

Aiutiamo le aziende ad innovare più rapidamente con blueprint personalizzabili che consentono di generare rapidamente micro frontend e assemblarli in un'unica pagina. Riutilizza i componenti in più progetti tramite il nostro marketplace interno, risparmiando denaro e aumentando la velocità di sviluppo. E scala rapidamente ed efficacemente con l'Operatore Kubernetes personalizzato di Entando, che ti consente di automatizzare la distribuzione di applicazioni scalabili e self-healing.

Entando è completamente open source con supporto enterprise. Inizia subito a sviluppare con la piattaforma e pianifica una chat con noi per vedere come possiamo aiutare il tuo team a sviluppare user experience innovative più rapidamente.

Vuoi modernizzare le tue App?

 

Scopri come una Application Composition Platform può aiutarti.

Veloce, personalizzabile, facilmente scalabile: sono queste le tre caratteristiche principali che la tua applicazione web deve avere se vuoi che rappresenti un vero vantaggio competitivo per la tua azienda.

SCARICA IL WHITEPAPER
Entando_WhitePaper.png