Creare un cluster del servizio Azure Kubernetes

Completato

L'azienda prevede di distribuire il servizio di rendering video basato sul cloud usando servizio Azure Kubernetes (AKS) come piattaforma di sviluppo nativa del cloud. Prima di poter distribuire qualsiasi applicazione, è necessario creare il cluster del servizio Azure Kubernetes.

Verranno esaminati alcuni concetti utili per distribuire correttamente un nuovo cluster del servizio Azure Kubernetes.

Cluster Kubernetes

Kubernetes si basa sui cluster. Invece di avere una singola macchina virtuale (VM), usa svariate macchine che operano come una sola. Queste macchine virtuali sono dette nodi. Kubernetes è un agente di orchestrazione basato su cluster. Offre diversi vantaggi per l'applicazione, tra i quali disponibilità, monitoraggio, ridimensionamento e aggiornamenti in sequenza.

Nodi del cluster

Un cluster è basato su nodi. Esistono due tipi di nodi in un cluster Kubernetes che forniscono funzionalità specifiche.

  • Nodi del piano di controllo: questi nodi ospitano gli aspetti del piano di controllo del cluster e sono riservati ai servizi che controllano il cluster. Sono responsabili di fornire l'API usata dall'utente e da tutti gli altri nodi per le comunicazioni. Nessun carico di lavoro viene distribuito o pianificato in questi nodi.

  • Nodi: questi nodi sono responsabili dell'esecuzione di carichi di lavoro e applicazioni personalizzati, ad esempio i componenti del servizio di rendering video basato sul cloud.

Architetture di cluster

È possibile usare un'architettura del cluster per concettualizzare il numero di piani di controllo e di nodi che verranno distribuiti nel cluster Kubernetes.

Il numero di nodi in un cluster, ad esempio, deve essere sempre maggiore di due. Quando un nodo non è più disponibile, l'utilità di pianificazione Kubernetes tenta di ripianificare tutti i carichi di lavoro in esecuzione in questo nodo nei nodi rimanenti del cluster.

Sono disponibili due architetture di cluster comuni per le distribuzioni basate su Kubernetes.

Singolo piano di controllo e più nodi

A diagram that shows a single control plane and multiple nodes in a cluster configuration.

Il singolo piano di controllo su più nodi per ogni architettura del cluster è il modello di architettura più comune ed è il più semplice da distribuire, ma non offre disponibilità elevata ai servizi di gestione principali del cluster.

Se il nodo del piano di controllo diventa non disponibile per qualsiasi motivo, non è possibile alcuna interazione con il cluster, Questo problema si verifica anche agli operatori o a qualsiasi carico di lavoro che usa le API di Kubernetes per comunicare, almeno fino a quando il server API torna online.

Sebbene offra minore disponibilità rispetto ad altre, questa architettura dovrebbe essere sufficiente per la maggior parte delle situazioni. È meno probabile che i servizi di gestione principali diventino non disponibili rispetto al passaggio offline di un nodo. I nodi del piano di controllo sono soggetti a meno modifiche rispetto ai nodi e sono più resilienti.

Nel caso di uno scenario di produzione, questa architettura potrebbe non essere la soluzione migliore.

Singolo piano di controllo e singolo nodo

A diagram that depicts a single control plane and single node in a cluster configuration.

Il singolo piano di controllo per l'architettura a nodo singolo è una variante dell'architettura precedente e viene usata negli ambienti di sviluppo. Questa architettura prevede un solo nodo, che ospita sia il piano di controllo che un nodo di lavoro. È utile per testare o sperimentare concetti di Kubernetes diversi. L'architettura con singolo piano di controllo e singolo nodo limita il ridimensionamento del cluster e non è adatta per l'uso in produzione e per attività di staging.

Configurare un cluster del servizio Azure Kubernetes

Quando si crea un nuovo cluster del servizio Azure Kubernetes, sono disponibili diversi elementi da configurare. Ogni elemento influisce sulla configurazione finale del cluster per l'allocazione delle risorse di calcolo.

Questi elementi includono:

  • Pool di nodi
  • Numero di nodi
  • Dimensioni della macchina virtuale del nodo

Pool di nodi

È possibile creare pool di nodi per raggruppare i nodi nel cluster del servizio Azure Kubernetes. Quando si crea un pool di nodi, si specificano le dimensioni della macchina virtuale e il tipo di sistema operativo (Linux o Windows) per ogni nodo del pool in base ai requisiti dell'applicazione. Per ospitare i pod dell'applicazione utente, l'opzione Modalità del pool di nodi deve essere Utente, altrimenti Sistema.

Per impostazione predefinita, un cluster del servizio Azure Kubernetes ha un pool di nodi Linux (modalità di sistema) indipendentemente dal fatto che venga creato tramite portale di Azure o l'interfaccia della riga di comando. Tuttavia, è possibile configurarlo per aggiungere pool di nodi Windows insieme ai pool di nodi Linux predefiniti durante la creazione guidata nel portale, i parametri nell'interfaccia della riga di comando o con i modelli di Resource Manager.

I pool di nodi usano i set di scalabilità di macchine virtuali come infrastruttura sottostante per consentire al cluster di ridimensionare il numero di nodi in un pool di nodi. I nuovi nodi creati nel pool di nodi sono sempre delle stesse dimensioni specificate durante la creazione del pool di nodi.

A diagram that depicts a Kubernetes cluster with two node pools. The first node pool uses NC24s_v2 VMs, and the second node pool uses B2s standard VMs.

Numero di nodi

Questa voce corrisponde al numero di nodi che viene inclusi in un pool di nodi del cluster. I nodi sono macchine virtuali di Azure. È possibile modificarne le dimensioni e il numero in base al modello di utilizzo.

È possibile modificare il numero di nodi in un secondo momento nel pannello di configurazione del cluster. È anche una procedura consigliata mantenere questo numero il più basso possibile, per evitare costi non necessari e potenza di calcolo inutilizzata.

Dimensioni della macchina virtuale del nodo

Selezionare una vasta gamma di specifiche di macchina virtuale. Ai fini dello sviluppo, è possibile scegliere la serie B per risparmiare sui costi. Negli esercizi si usa la serie B2, la dimensione standard. Per altre indicazioni su come selezionare una macchina virtuale in base alle esigenze, vedere lo strumento selettore di macchine virtuali di Azure

Verificare le conoscenze

1.

Quale delle seguenti affermazioni descrive un'architettura del cluster Kubernetes?

2.

Che cosa sono i pool di nodi?

3.

Qual è lo scopo del componente aggiuntivo di routing dell'applicazione HTTP?