Kubernetes lo è un sistema di gestione dei contenitori gratuito e open source che fornisce una piattaforma per automatizzare la distribuzione, la scalabilità e le operazioni dei contenitori di applicazioni tra gruppi di computer host.
Con Kubernetes, possono sfruttare liberamente l'infrastruttura cloud on-premise, pubblica e ibrida per eseguire le attività di distribuzione della propria organizzazione.
Installazione di Kubernetes su Ubuntu e derivati
Per una pratica installazione, useremo un cluster a due nodi che formeremo in questo articolo sarà composto da un nodo master e un nodo slave.
Entrambi i nodi devono avere installato Kubernetes su di essi. La prima cosa che faremo è installare docker su entrambi, per questo dobbiamo solo eseguire il seguente comando su di essi:
sudo apt install docker.io
Per verificare che Docker sia installato, puoi eseguire il seguente comando su entrambi i nodi:
docker --version
Ora procediamo per abilitare docker su entrambi i nodi:
sudo systemctl enable docker
Ora il passaggio successivo è aggiungere la chiave Kubernetes a entrambi i nodi, lo facciamo con il seguente comando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Il passaggio successivo consiste nell'aggiungere il seguente repository a entrambi i sistemi:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
L'ultimo passaggio nel processo di installazione è installare Kubeadm su entrambi i nodi tramite il seguente comando:
sudo apt install kubeadm
Possono controllare il numero di versione di Kubeadm e anche verificare l'installazione tramite il seguente comando:
kubeadm version
Distribuzione di Kubernetes
Ora per implementare la distribuzione di Kubernetes nel sistema dobbiamo disabilitare la memoria di swap (se è in esecuzione) in entrambi i nodi
Dovrebbero disabilitare la memoria di scambio su entrambi i nodipoiché Kubernetes non funziona correttamente su un sistema che utilizza la memoria di scambio.
Per fare ciò, esegui:
sudo swapoff -a
Ora il passo successivo è eseguire il seguente comando sul nodo master per assegnargli un nome host univoco:
sudo hostnamectl set-hostname master-node
Mentre per il nodo slave dobbiamo digitare:
sudo hostnamectl set-hostname slave-node
Fatto questo ora vProcediamo ad inizializzare il nodo master con il seguente comando:
sudo kubeadm init --pod-network-cidr = 10.244.0.0/16
Il processo potrebbe richiedere un minuto o più a seconda della connessione Internet. L'output di questo comando è molto importante, quindi dovresti annotare le informazioni nell'output, poiché contiene l'ip, il token e altri.
Per iniziare a utilizzare il tuo cluster, devono eseguire quanto segue come utente normale:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Ora possono unirsi a un numero qualsiasi di macchine eseguendo quanto segue su ciascun nodo come utenti root:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Dove sostituiranno le informazioni di tutoken, tuip e il tuo hash con le informazioni che è stato detto pochi istanti fa che scriveranno.
Ottenere l'elenco dei nodi
Vedrai che lo stato del nodo master non è ancora pronto. Questo perché nessun pod è stato ancora distribuito sul nodo master e quindi l'interfaccia di rete del contenitore è vuota.
Per vedere l'elenco dobbiamo solo eseguire:
kubectl get nodes
Distribuzione di una rete pod tramite il nodo master
Una rete pod è un mezzo di comunicazione tra i nodi di una rete. In questo tutorial, stiamo implementando una rete di pod Flannel nel nostro cluster tramite il seguente comando:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Per conoscere lo stato della rete, è sufficiente digitare:
kubectl get pods --all-namespaces sudo kubectl get nodes
Fatto ciò, ora è il momento di aggiungere il nodo slave alla rete per formare un cluster, allo stesso modo devono integrare le informazioni come nel nodo master.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Ora, quando esegui il seguente comando sul nodo master, confermerà che due nodi, il nodo master e i nodi del server sono in esecuzione sul tuo sistema.
sudo kubectl get nodes
Ciò mostra che il cluster a due nodi è ora attivo e in esecuzione tramite il sistema di gestione dei contenitori Kubernetes.