Kubernetes - Node

Un nodo è una macchina funzionante nel cluster Kubernetes, noto anche come minion. Sono unità di lavoro che possono essere fisiche, VM o un'istanza cloud.

Ogni nodo ha tutta la configurazione richiesta necessaria per eseguire un pod su di esso come il servizio proxy e il servizio kubelet insieme al Docker, che viene utilizzato per eseguire i contenitori Docker sul pod creato sul nodo.

Non vengono creati da Kubernetes ma vengono creati esternamente dal provider di servizi cloud o dal gestore cluster Kubernetes su macchine fisiche o VM.

Il componente chiave di Kubernetes per gestire più nodi è il controller manager, che esegue più tipi di controller per gestire i nodi. Per gestire i nodi, Kubernetes crea un oggetto di tipo nodo che convaliderà che l'oggetto creato è un nodo valido.

Servizio con selettore

apiVersion: v1
kind: node
metadata:
   name: < ip address of the node>
   labels:
      name: <lable name>

Nel formato JSON viene creato l'oggetto effettivo che ha il seguente aspetto:

{
   Kind: node
   apiVersion: v1
   "metadata": 
   {
      "name": "10.01.1.10",
      "labels"
      {
         "name": "cluster 1 node"
      }
   }
}

Controller nodo

Sono la raccolta di servizi che vengono eseguiti nel master Kubernetes e monitorano continuamente il nodo nel cluster sulla base di metadata.name. Se tutti i servizi richiesti sono in esecuzione, il nodo viene convalidato e un pod appena creato verrà assegnato a quel nodo dal controller. Se non è valido, il master non gli assegnerà alcun pod e aspetterà finché non sarà valido.

Il master Kubernetes registra automaticamente il nodo, se –register-node flag è vero.

–register-node = true

Tuttavia, se l'amministratore del cluster desidera gestirlo manualmente, potrebbe essere fatto ruotando l'appartamento di -

–register-node = false