Vai al contenuto principale
BlogContenitori (Kubernetes, Docker)Le principali domande su Kubernetes

Le principali domande su Kubernetes hanno trovato risposta

Top-Kubernetes-Questioni-Risposte

Dopo nove eventi Kubernetes e sette anni di collaborazione con il progetto Kubernetes nell'ambito del nostro sviluppo, abbiamo trascorso una buona quantità di tempo a parlare con la comunità degli sviluppatori. In ogni evento a cui partecipiamo, vediamo una serie di stadi di adozione e riceviamo domande sulla complessità e sulla fattibilità. Ecco alcune delle nostre principali domande e risposte su Kubernetes.


Testare le acque: Dovrei iniziare a usare Kubernetes per la mia applicazione?

Billy Thompson, ingegnere delle soluzioni principali di Linode, ha partecipato all'ultima KubeCon in Europa. Ecco cosa ha sentito dagli sviluppatori che hanno appena iniziato a sperimentare Kubernetes.

"Molte persone stavano ancora esplorando Kubernetes e parlando con altri sviluppatori per saperne di più sulla piattaforma. In molti casi, erano lì per imparare il più possibile e riportare queste informazioni ai loro team. Potremmo definirle missioni di 'accertamento dei fatti' per aiutare a decidere se Kubernetes sarebbe stato fattibile per i loro progetti nel prossimo futuro".

Questo non è stato del tutto sorprendente ed è importante ricordare che K8s è ancora una tecnologia relativamente nuova. Nonostante i vantaggi chiave, come la scalabilità e la portabilità automatiche, le modifiche importanti all'infrastruttura e alle applicazioni sono costose e richiedono tempo. Se la vostra implementazione legacy sta andando bene, l'adozione di una nuova piattaforma è difficile da giustificare. Tuttavia, si dovrebbe sempre pensare a una protezione per il futuro, quando lo scaling dell'ambiente nello stato attuale diventerà inevitabilmente complicato, impraticabile o impossibile.

Progettazione e refactoring: Cosa serve per iniziare a usare Kubernetes?

Se vi state preparando a rifattorizzare un'applicazione esistente o a partire da zero, parliamo di ciò che serve per iniziare. Ho chiesto a Todd Becker, uno dei nostri ingegneri dedicati a Linode Kubernetes Engine (LKE), quale sarebbe il suo consiglio per chi si avvicina per la prima volta ai carichi di lavoro containerizzati. Volevo parlare di quanto possa essere intimidatorio rifattorizzare le applicazioni monolitiche per trarre veramente vantaggio da Kubernetes o da altri strumenti cloud native.

"Per sfruttare appieno la bellezza di Kubernetes, molte applicazioni dovrebbero essere modificate. Tuttavia, la maggior parte delle applicazioni possono essere eseguite su Kubernetes senza grandi interventi di refactoring, ottenendo comunque vantaggi significativi."

Quindi, anche se sarebbe l'ideale, non non è necessario non è necessario disporre di un'architettura a microservizi completa per iniziare a usare Kubernetes e i container. È ancora possibile sfruttare la portabilità, la scalabilità e la coerenza ambientale con un'applicazione monolitica. Tuttavia, queste sono generalizzazioni. Ogni applicazione avrà i suoi requisiti specifici, ma è importante capire che le applicazioni legacy non sono necessariamente escluse dalla containerizzazione.

Pronti per Go: Qual è un buon strumento per aiutarmi a iniziare?

Se siete pronti a iniziare a sviluppare in modo nativo per Kubernetes, strumenti e metodologie possono aiutarvi a semplificare l'esperienza. I processi di Continuous Integration e Continuous Delivery (CI/CD) stanno riducendo i tempi tra sviluppo e produzione.

Todd raccomanda vivamente Skaffold, "il migliore amico degli sviluppatori Kubernetes", sviluppato da Google nel 2019. Ecco cosa dice Todd: 

"Skaffold è un ottimo strumento per sviluppare su Kubernetes. Permette agli sviluppatori di ospitare il loro ambiente di sviluppo in un cluster Kubernetes invece che localmente sulla loro macchina. Oltre a liberare preziose risorse di calcolo su un laptop o una workstation, questo strumento offre una serie di vantaggi lavorativi. Skaffold consente di fare un mirroring degli ambienti di sviluppo e di produzione molto più vicino rispetto alla semplice scrittura di un container, distribuendo l'intero ambiente in un cluster Kubernetes live, e di condividere il proprio spazio di lavoro di sviluppo con altri ingegneri per iniziare a collaborare più rapidamente. Questo può aiutare a colmare il divario tra dev e ops per rendere tutti familiari con Kubernetes".

Il modo in cui Todd descrive Skaffold lo fa sembrare quasi essenziale per lo sviluppo di Kubernetes, ma non ha nemmeno tre anni. I vantaggi di una tecnologia emergente possono portare a una svolta nell'adozione, ma questo è un altro aspetto importante del ciclo. Quando una piattaforma matura, a poco a poco, giorno dopo giorno, più utenti ci danno più persone che lavorano per rendere le cose più facili. Questo può essere un effetto a palla di neve, soprattutto con la tecnologia open source che consente il contributo di una comunità più ampia.

Punti dolenti e fornitori: Come posso migliorare la mia esperienza?

Certamente, non tutti si trovano in una fase iniziale o di test con Kubernetes. Un numero significativo di progetti sta già utilizzando Kubernetes in produzione, quindi sono tornato da Billy Thompson per vedere di cosa parlano questi sviluppatori.

"Velocità. Le persone vogliono avviare i cluster velocemente e molti fornitori non sono in grado di soddisfare queste aspettative. L'avvio anche di un piccolo cluster con storage effimero, in molti casi, può richiedere più di 20 minuti. Questo può essere dolorosamente lungo, soprattutto per gli insegnanti o per chi fa una dimostrazione dal vivo".

E il LKE?

"I vostri cluster sono attivi e funzionanti su LKE con Terraform in 2-3 minuti".

Gli strumenti di gestione e la compatibilità sono un altro grande argomento. Kubernetes può essere molto intimidatorio, ma esistono interfacce utente di terze parti amichevoli e intuitive.

"È una domanda molto comune. Le persone utilizzano strumenti "cloud-agnostic" come Rancher e vogliono avere la possibilità di utilizzare diversi provider. Questi sono compatibili con LKE e possono essere distribuiti tramite Linode API o Terraform".

Si tratta di un'altra fase di maturità per una nuova tecnologia: diventare facile da usare. Kubernetes ha rilasciato la propria Dashboard nell'aprile 2020 per portare le funzionalità di kubectl in un'interfaccia web, ma le soluzioni di terze parti esistono da più tempo. Kontena Lens è diventato GA nel 2019 e Rancher ha raggiunto la versione 1.0 già nel 2016 (circa un anno dopo Kubernetes 1.0). Questi strumenti sono disponibili e sempre più accessibili. LKE installa Kubernetes Dashboard per impostazione predefinita e vi si può accedere tramite il link Kubernetes dashboard presente per ogni cluster in Linode Cloud Manager.

Cosa c'è dopo?

Ci stiamo avvicinando a un punto di svolta. I vantaggi di Kubernetes stanno superando le sfide iniziali dell'adozione di una nuova tecnologia e stiamo entrando in un ciclo autosufficiente: Un maggior numero di sviluppatori che utilizzano K8s aumenta la quantità di progetti K8s, il che aumenta la domanda di sviluppatori K8s man mano che questi progetti crescono. Questo si estende ai fornitori di servizi, che rispondono all'aumento della domanda di supporto a Kubernetes rilasciando e mettendo a punto nuovi strumenti.

Oggi l'esecuzione di Kubernetes in produzione per la vostra applicazione è pratica e accessibile. Non si può più tornare indietro e siamo entusiasti di aiutare altri sviluppatori a iniziare.

Utilizzate Kubernetes e avete in mente qualcosa che vorreste vedere su LKE? Fatecelo sapere.

Commenti (1)

  1. Author Photo

    Kubernetes brings convenience and improves efficiency, but it also increases the cost of use

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *