Jump to section

API Kubernetes: cos'è e come funziona

Copia URL

L'API Kubernetes costituisce il front end del piano di controllo di Kubernetes e rappresenta la modalità di interazione degli utenti con i cluster Kubernetes. Il server API (interfaccia di programmazione delle applicazioni) stabilisce se una richiesta è valida e quindi procede alla sua elaborazione.

In sostanza, l'API è l'interfaccia utilizzata per gestire, creare e configurare i cluster Kubernetes, ovvero il modo con cui utenti, componenti esterni e parti del cluster comunicano tra loro.

Al centro del piano di controllo di Kubernetes si trovano il server API e l'API HTTP, che consentono di eseguire le query e di manipolare lo stato degli oggetti Kubernetes. 

"Kubernetes and the quest for a control plane", il quarto episodio della serie "Technically speaking" svela i segreti di Kubernetes Operator Pattern.

Per comprendere appieno il contesto in cui si colloca l'API Kubernetes, occorre prima avere chiaro cos'è Kubernetes e a cosa serve. 

Kubernetes è una piattaforma open source per l'orchestrazione dei container. I container sono una tecnologia che consente di raggruppare e isolare le applicazioni nel loro ambiente di runtime in modo che sia facile spostare l'applicazione containerizzata tra fasi (sviluppo, produzione e così via) e ambienti (on premise, cloud pubblico, cloud privato, cloud ibrido o multicloud), preservandone tutte le funzionalità. 

In quanto piattaforma di orchestrazione dei container, Kubernetes ti consente di automatizzare molti dei processi manuali previsti dalla gestione, dal deployment e dalla scalabilità delle applicazioni containerizzate.

Raggruppando i sistemi (server fisici o virtuali noti come "nodi") che eseguono le app containerizzate, crei il cluster che potrai gestire e orchestrare con Kubernetes.

Un gruppo di container eseguito su un unico sistema o nodo e che condivide le risorse viene chiamato "pod". Il pod può anche contenere un solo container e in questo caso non si parla di "pod" ma appunto di "container"; il concetto è comunque equivalente.

Un cluster Kubernetes è composto di due parti: il piano di controllo e il piano dell'applicazione. Nel primo troviamo l'API, ovvero il modo in cui interagiscono utente e cluster; l'utente invia le istruzioni usando kubectl, lo strumento di configurazione della riga di comando. Gli utenti finali, il cluster e i componenti esterni possono comunicare tra loro tramite l'API. 

Ogni cluster ha uno stato desiderato, ovvero uno stato che definisce le app o i carichi di lavoro che dovrebbero essere in esecuzione e altri elementi della configurazione, ad esempio le immagini utilizzate e le risorse necessarie. Lo stato desiderato di un cluster viene impostato dalla riga di comando dello strumento kubectl o usando l'API per interagire con il cluster e definire o modificare le impostazioni.

Kubernetes gestisce il cluster automaticamente, in modo da ottenere lo stato desiderato. In questo senso, Kubernetes è dichiarativo, in quanto dotato di funzioni di gestione e riparazione automatiche che si attivano per corrispondere ai parametri dei carichi di lavoro.

Un operatore Kubernetes è un metodo per la creazione di pacchetti, il deployment e la gestione di un'applicazione Kubernetes usando 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. Integrando informazioni specifiche sull'applicazione o sul dominio, un operatore consente a Kubernetes di automatizzare l'intero ciclo di vita del software che gestisce.

Leader nella fornitura di soluzioni per container open source e nella realizzazione di numerosi strumenti e prodotti di gestione per l'infrastruttura containerizzata, Red Hat porta Kubernetes e i container nelle aziende.

Red Hat® OpenShift® è una piattaforma open source per container di livello enterprise che rende disponibile tutto il necessario per gestire i deployment di cloud ibrido e multicloud. Supportiamo la transizione della tua azienda al cloud, ottimizzando le potenzialità dell'infrastruttura esistente. 

Grazie a una singola piattaforma integrata, gli sviluppatori possono scegliere il linguaggio, il middleware, i framework e i database che preferiscono, ottenendo più efficienza e produttività grazie all'automazione. 

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