Nato nella mente degli ingegneri di Google, Kubernetes è oggi una tra le più popolari piattaforme open source per l’automazione delle operazioni dei container Linux.

Nel 2015 questa tecnologia è stata donata dall’azienda di Mountain View (la quale continua a usarla per la gestione dei propri servizi) alla Cloud Native Computing Foundation e negli anni si è sviluppata grazie al contributo di società come Red Hat, che dopo Google è il secondo contributore del progetto upstream di Kubernetes.

Perché è utile? Quando le applicazioni vanno in produzione, si espandono su più container, i quali devono essere distribuiti su più server host. Con Kubernetes i container possono essere raggruppati in cluster e orchestrati su diversi host, ma diventa anche possibile automatizzare i deployment e gli aggiornamenti delle applicazioni, aggiungere storage (elemento necessario per le applicazioni stateful), scalare le app containerizzate e le relative risorse, e altro ancora. Una tra le caratteristiche vincenti di Kubernetes è la trasversalità: la piattaforma supporta le implementazioni on-premise, il cloud pubblico e le infrastrutture ibride, consentendo di spostare i carichi di lavoro dall’una all’altra risorsa a seconda delle esigenze.

Ma perché è possibile considerare Kubernetes come uno dei migliori tool di DevOps? Esso permette di creare più facilmente dei sistemi distribuiti basati su container, agevolando il deploy dei container, lo scaling, il networking, il monitoring e la gestione delle immagini. Alcuni di questi aspetti sono controllati dai Dev, altri ricadono in ambito Ops. Necessariamente Kubernetes fa da piattaforma di supporto entro la quale i due mondi vanno a congiungersi.

Scopri di più nel corso di DevOps Foundation: https://www.hrv-swiss.consulting/it/01-devops-fnd/