Spanish English French German Italian Portuguese
Social marketing
CasaTecnologiainfrastrutturaPrincipi per la gestione dei dati in Kubernetes

Principi per la gestione dei dati in Kubernetes

Kubernetes è diventato uno standard del settore, con fino a 94% delle organizzazioni che distribuiscono i propri servizi e applicazioni sulla piattaforma di orchestrazione dei container, secondo i sondaggi. Uno dei motivi principali per cui le aziende implementano Kubernetes è la standardizzazione, che consente agli utenti esperti di vedere doppi vantaggi in termini di produttività.

La standardizzazione su Kubernetes offre alle organizzazioni la possibilità di distribuire qualsiasi container, ovunque. Ma c'era un pezzo mancante: la tecnologia presupponeva che i container fossero temporanei, il che significa che solo quelli senza stato potevano essere distribuiti in modo sicuro su Kubernetes. Tuttavia, la comunità ha recentemente cambiato il paradigma e introdotto funzionalità come StatefulSet e classi di archiviazione, che rendono possibile l'utilizzo dei dati in Kubernetes.

Anche se è possibile eseguire container stateful su Kubernetes, è ancora una sfida.

farlo progressivamente

Kubernetes sta per diventare popolare quanto Linux e il modo de facto per eseguire qualsiasi applicazione, ovunque, in modo distribuito. L'uso di Kubernetes implica l'apprendimento di molti concetti tecnici e vocabolario. Ad esempio, i nuovi arrivati ​​potrebbero avere problemi con le numerose unità logiche di Kubernetes, come container, pod, nodi e cluster.

Se non stai già eseguendo Kubernetes in produzione, non è una buona idea passare direttamente ai contenitori di dati. È meglio iniziare spostando le app senza stato per evitare la perdita di dati quando le cose vanno male.

Se non riesci a trovare un operatore adatto alle tue esigenze, non preoccuparti, perché la maggior parte di essi è open source.

Comprendere i limiti e le specifiche

Una volta acquisita familiarità con i concetti generali di Kubernetes, puoi approfondire i dettagli dei concetti stateful. Ad esempio, poiché le applicazioni possono avere esigenze di archiviazione diverse, come requisiti di prestazioni o capacità, è necessario fornire il sistema di archiviazione sottostante corretto.

Ciò che il settore generalmente chiama "profili" di archiviazione sono chiamati classi di archiviazione in Kubernetes. Forniscono un modo per descrivere i diversi tipi di classi a cui può accedere un cluster Kubernetes. Le classi di archiviazione possono avere diversi livelli di QoS, ad esempio operazioni di I/O al secondo per GiB, policy di backup o policy arbitrarie, come modalità di collegamento e topologie consentite.

Un altro componente fondamentale da comprendere è StatefulSet. È l'oggetto API Kubernetes utilizzato per gestire le applicazioni stateful e offre funzionalità chiave come:

  • Identificatori di rete univoci e stabili che ti consentono di tenere traccia del volume e di disconnetterti e riconnetterti quando vuoi
  • Archiviazione stabile e persistente per proteggere i tuoi dati
  • Distribuzione e ridimensionamento ordinati e ordinati, necessari per molte operazioni del secondo giorno.

Sebbene StatefulSet sia stato un sostituto di successo del famigerato (ora deprecato) PetSet, è ancora imperfetto e presenta dei limiti. Ad esempio, arriva il controller StatefulSet nessun supporto integrato per il ridimensionamento del volume (PVC) — che è una grande sfida se la dimensione del set di dati della tua applicazione sta per crescere oltre la tua attuale capacità di storage allocata. esistere soluzioni alternative ma tali limitazioni devono essere comprese con largo anticipo in modo che il team di ingegneri sappia come gestirle.

Prepara un piano

Una volta acquisita familiarità con i concetti di stato di Kubernetes, puoi migrare progressivamente le attività relative ai dati in un ordine specifico. Ciò ti consente di imparare dagli errori ed evitare di essere sopraffatto, perché non tutte le tecnologie di dati sono ugualmente facili da eseguire su Kubernetes.

Le tecnologie consolidate come i database e lo storage dovrebbero essere migrate per prime e le tecnologie emergenti come AI e ML dovrebbero essere migrate per ultime. Ciò si riflette in un recente rapporto, che ha rilevato che il database e l'archiviazione persistente sono i due carichi di lavoro di dati più eseguiti su Kubernetes. Il motivo principale è la mancanza di strumenti per le operazioni del Day 2.

Disponibilità degli operatori

Spostare i container stateful su Kubernetes è solo metà del lavoro, ovvero il Day 1. Ora è il momento di gestire le operazioni del Day 2 (uno degli argomenti più discussi all'ultima KubeCon). È qui che le cose si complicano. Ci sono tantissime operazioni del secondo giorno che Kubernetes non è in grado di gestire in modo nativo, come l'applicazione di patch e l'aggiornamento, il backup e il ripristino, l'elaborazione dei log, il monitoraggio, il ridimensionamento e l'ottimizzazione.

Tutte queste operazioni sono specifiche dell'applicazione. Ad esempio, un cluster PostgreSQL e MySQL richiederà due approcci completamente diversi quando si sceglie un nuovo server principale in una configurazione del cluster HA. Kubernetes non può conoscere tutte le operazioni specifiche del Giorno 2 dell'applicazione. È qui che entrano in gioco gli operatori.

Gli operatori sono estensioni gestibili tramite script che eseguono operazioni che Kubernetes non è in grado di gestire in modo nativo. Gli operatori forniscono funzionalità di gestione dinamica e intelligente estendendo la funzionalità dell'API Kubernetes. Uno degli usi più comuni è eseguire queste operazioni del giorno 2. Questi operatori non sono sviluppati dai manutentori di Kubernetes ma da sviluppatori e organizzazioni di terze parti.

Prima di spostare un lavoro di dati su Kubernetes, assicurati che ci sia un operatore per esso. OperatorHub fa un ottimo lavoro nell'indicizzarli. Con 282 operatori disponibili sul sito, la distribuzione fa eco a quanto sopra: alcuni lavori hanno strumenti di supporto e altri no. Ad esempio, la categoria database ha 38 operatori (ce ne sono otto solo per PostgreSQL), mentre l'intera categoria ML/IA ne ha solo sette.

Il giusto livello di abilità dell'operatore

Avere un operatore per la tua tecnologia non è sufficiente, in quanto possono avere capacità diverse e spesso esistono a vari livelli di maturità. OperatorFramework suggerisce un modello di capacità che classifica gli operatori in base alle loro caratteristiche:

  • Livello 1: funziona per l'installazione di base, come il provisioning automatizzato delle applicazioni e la gestione della configurazione.
  • Livello 2: supporta aggiornamenti, patch e aggiornamenti di versioni secondarie senza problemi.
  • Livello 3: gestisce l'intero ciclo di vita dell'applicazione e dello storage (backup, failover, ecc.).
  • Livello 4: fornisce approfondimenti, metriche, avvisi, elaborazione dei registri e analisi del carico di lavoro.
  • Livello 5: fornisce il ridimensionamento orizzontale/verticale automatico, l'ottimizzazione automatica della configurazione, il rilevamento delle anomalie e l'ottimizzazione della pianificazione.

Quando scegli un operatore, devi assicurarti che le sue capacità corrispondano alle tue esigenze. Se non sei sicuro di quale sia il livello giusto, il rapporto Data on Kubernetes 2022 ha rilevato che la maggior parte delle organizzazioni è alla ricerca di operatori che siano almeno al livello 3. Avere un backup per i tuoi container è una buona pratica.

Se non riesci a trovare un operatore adatto alle tue esigenze, non è un problema perché la maggior parte di essi è open source. Puoi estendere le capacità degli operatori esistenti con lo sviluppo interno o, meglio ancora, contribuire al progetto open source.

capire l'operatore

L'estensibilità degli operatori è la sua forza, ma anche la sua debolezza. La mancanza di standard significa che sono programmati in modi diversi, quindi devi guardare i tuoi file di configurazione per scegliere il formato che funziona meglio per te.

Inoltre, gli operatori possono utilizzare diversi percorsi tecnici per raggiungere lo stesso obiettivo. Ad esempio, uno degli otto operatori PostgreSQL, CloudNativePG, non utilizza StatefulSet e utilizza invece il proprio gestore personalizzato. È piuttosto inaspettato considerando che StatefulSets è la base per i contenitori stateful in Kubernetes.

I suoi sviluppatori hanno deciso di adottare questo design a causa dell'incapacità di StatefulSet di ridimensionare i PVC (come discusso in precedenza). Come spiega la documentazione dell'operatore, la scelta di "diverse opzioni di layout conduce a diversi percorsi". Pertanto, quando scegli un operatore, assicurati di comprenderne l'implementazione e i suoi vantaggi e svantaggi e scegli quello più comodo per te.
vale la pena

L'esecuzione dei dati su Kubernetes non è sempre facile, ma la buona notizia è che ne vale la pena: il 54% delle organizzazioni intervistate ha attribuito oltre il 10% delle proprie entrate all'esecuzione dei dati su Kubernetes. Inoltre, il 33% ha affermato che ha un impatto trasformativo sulla produttività e un altro 51% ha visto un impatto positivo significativo.

Man mano che le organizzazioni adottano sempre più infrastrutture multicloud per ottimizzare i costi e le prestazioni dell'infrastruttura, Kubernetes è diventato lo strumento preferito. Con circa il 66% dei paesi che dispone di una qualche forma di legislazione sulla privacy dei dati e sui diritti dei consumatori, che spesso richiede l'applicazione della governance dei dati, le aziende devono sempre più ospitare i dati degli utenti nei paesi in cui operano.

IMPARENTATO

Lascia un commento

Inserisci il tuo commento!
Per favore inserisci il tuo nome qui

La moderazione dei commenti è abilitata. Il tuo commento potrebbe richiedere del tempo per apparire.

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati dei tuoi commenti.

ISCRIVITI A TRPLANE.COM

Pubblica su TRPlane.com

Se hai una storia interessante su trasformazione, IT, digitale, ecc. che puoi trovare su TRPlane.com, inviacela e la condivideremo con l'intera Community.

ALTRE PUBBLICAZIONI

Attivare le notifiche OK No grazie