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