Comandi Minikube e Add-ons

Requisiti di Minikube

Hardware

  • CPU con almeno 2 cores
  • almeno 2 GB di RAM libera
  • almeno 20 GB di spazio disco

Minikube Drivers

Minikube ha bisogno di un driver runtime. I driver sono riconosciuti di default e sono selezionati con preferenza che varia col sistema operativo sottostante:

  • Linux
    • Docker
    • KVM2
    • VirtualBox
  • Windows
    • Hyper-V
    • Docker
    • VirtuaBox

Gestione del Cluster Minikube

Il default di Minikube è di gestire un cluster chiamato minikube con un nodo, sia con la funzionalità di control-plane che di worker.

  • minikube start - fa partire il cluster
  • minikube stop - ferma il cluster, ma non toglie il contenitore docker che lo implementa
  • minikube pause - mette in pausa, non ha impatto sugli applicativi già deployed, ma non accetta comandi
  • minikube unpause - toglie dalla pausa
  • minikube delete - ferma il cluster e rimuove il contenitore docker che lo implementa

Cluster Multinodo

E' possibile generare un cluster multinodo, p.es. con tre nodi, con il comando:

minikube start -n 3

Il primo nodo, minikube, sarà il control-plane. Gli altri due nodi, minikube-m02 e minikube-m03, saranno workers.

Si può aggiungere un nodo al cluster esistente col comando:

minikube add node

Sarà un worker. Non è possibile al momento aggiungere un control-plane.

Ogni nuovo nodo aggiunto corriaponde a un contenitore Docker sulla macchina host, se Docker è il driver di Minikube (default).

Aggiungere nodi appesantisce la richiesta di risorse dalla macchina ospite: memoria e carico di sistema. Si può andare presto in modalità swapping con disastrosa riduzione delle prestazioni.

Si può fermare un nodo col comando, per esempio:

minikube node stop minikube-m02

Eventuali pod attivi su tale nodo sono terminati e ricreati su un altro nodo. Gli utenti che sono collegati a tali pod possono avere un'interruzione se il servizio è stateful, ma alla prossima richiesta di accesso al servizio verranno serviti dal nuovo pod sull'altro nodo.

Per far ripartire un nodo fermo, per esempio:

minikube node start minikube-m02

Per rimuovere un nodo, per esempio:

minikube node delete minikube-m02

Per listare i nodi e i loro indirizzi IP dare il comando:

minikube node list

La lista dei nodi disponibili si trova anche con:

kubectl get nodes

Lo stato del cluster, con i dettagli per ciascun nodo, si ottiene con:

minikube status