Cos'è Kubernetes?
Kubernetes è un sistema di gestione dei container gratuito e open source che fornisce una piattaforma per l'automazione della distribuzione, la scalabilità e le operazioni di container di applicazioni su cluster di computer host. Con Kubernetes, puoi utilizzare liberamente l'infrastruttura cloud ibrida, on-premise e pubblica per eseguire le attività di distribuzione della tua organizzazione.
In questo tutorial, spiegheremo come installare Kubernetes su un sistema Ubuntu e distribuire Kubernetes anche su un cluster Ubuntu a due nodi.
I comandi e le procedure menzionati in questo articolo sono stati eseguiti su un sistema Ubuntu 18.04 LTS. Poiché utilizzeremo la riga di comando di Ubuntu, il Terminale, per eseguire tutti i comandi, puoi aprirlo tramite il Dash di sistema o la scorciatoia Ctrl+Alt+T.
Installazione Kubernetes
Il cluster a due nodi che formeremo in questo articolo sarà composto da un nodo Master e un nodo Slave. Entrambi questi nodi devono avere Kubernetes installato su di essi. Pertanto, segui i passaggi descritti di seguito per installare Kubernetes su entrambi i nodi Ubuntu.
Passaggio 1:installa Docker su entrambi i nodi
Installa l'utilità Docker su entrambi i nodi eseguendo il seguente comando come sudo nel Terminale di ogni nodo:
$ sudo apt install docker.io
Ti verrà richiesta un'opzione S/n per procedere con l'installazione. Inserisci Y e poi premi invio per continuare. Docker verrà quindi installato sul tuo sistema. Puoi verificare l'installazione e anche controllare il numero di versione di Docker tramite il seguente comando:
$ docker --versione
Fase 2:abilita Docker su entrambi i nodi
Abilita l'utilità Docker su entrambi i nodi eseguendo il comando seguente su ciascuno:
$ sudo systemctl abilita la finestra mobile
Passaggio 3:aggiungi la chiave di firma Kubernetes su entrambi i nodi
Esegui il comando seguente per ottenere la chiave di firma Kubernetes:
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Se Curl non è installato sul tuo sistema, puoi installarlo tramite il seguente comando come root:
$ sudo apt install curl
Ti verrà richiesta un'opzione S/n per procedere con l'installazione. Inserisci Y e poi premi invio per continuare. L'utilità Curl verrà quindi installata sul tuo sistema.
Fase 4:aggiungi Xenial Kubernetes Repository su entrambi i nodi
Esegui il seguente comando su entrambi i nodi per aggiungere il repository Xenial Kubernetes:
$ sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Passaggio 5:installa Kubeadm
Il passaggio finale del processo di installazione consiste nell'installare Kubeadm su entrambi i nodi tramite il seguente comando:
$ sudo apt install kubeadm
Ti verrà richiesta un'opzione S/n per procedere con l'installazione. Inserisci Y e poi premi invio per continuare. Kubeadm verrà quindi installato sul tuo sistema.
Puoi controllare il numero di versione di Kubeadm e anche verificare l'installazione tramite il seguente comando:
versione $ kubeadm
Distribuzione Kubernetes
Fase 1:disabilita la memoria di scambio (se in esecuzione) su entrambi i nodi
È necessario disabilitare la memoria di scambio su entrambi i nodi poiché Kubernetes non funziona correttamente su un sistema che utilizza la memoria di scambio. Eseguire il comando seguente su entrambi i nodi per disabilitare la memoria di scambio
$ sudo swapoff -a
Fase 2:assegna nomi host univoci a ciascun nodo
Esegui il seguente comando nel nodo master per assegnargli un nome host univoco:
$ sudo hostnamectl set-hostname master-node
Esegui il seguente comando nel nodo slave per assegnargli un nome host univoco:
$ hostnamectl set-hostname nodo-slave
Fase 3:inizializza Kubernetes sul nodo master
Esegui il comando seguente come sudo sul nodo master:
$ sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Il processo potrebbe richiedere un minuto o più a seconda della tua connessione Internet. L'output di questo comando è molto importante:
Annotare le seguenti informazioni dall'output:
Per iniziare a utilizzare il tuo cluster, devi 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 puoi unirti a qualsiasi numero di macchine eseguendo quanto segue su ciascun nodo
come root:
kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c>Ora esegui i comandi suggeriti nell'output per iniziare a utilizzare il cluster:
Puoi controllare lo stato del nodo master eseguendo il comando seguente:
$ kubectl ottieni nodi
Vedrai che lo stato del nodo master è ancora "non pronto". È perché nessun pod è stato ancora distribuito sul nodo master e quindi l'interfaccia di rete del container è vuota.
Fase 4:distribuisci una rete pod tramite il nodo master
Una rete pod è un mezzo di comunicazione tra i nodi di una rete. In questo tutorial, stiamo distribuendo una rete pod Flannel sul nostro cluster tramite il comando seguente:
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Utilizzare il comando seguente per visualizzare lo stato della rete:
$ kubectl get pods --all-namespaces
Ora quando vedrai lo stato dei nodi, vedrai che il nodo master è pronto:
$ sudo kubectl ottieni nodi
Fase 5:aggiungi il nodo slave alla rete per formare un cluster
Sul nodo slave, esegui il seguente comando che hai generato durante l'inizializzazione di Kubernetes sul nodo master:
$ sudo kubeadm unisciti a 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f>2
Ora, quando esegui il seguente comando sul nodo master, confermerà che due nodi, il nodo master e i nodi server sono in esecuzione sul tuo sistema.
$ sudo kubectl ottieni nodiCiò mostra che il cluster a due nodi è ora attivo e funzionante tramite il sistema di gestione dei container Kubernetes.
In questo articolo abbiamo spiegato l'installazione del sistema di gestione dei container Kubernetes su due nodi Ubuntu. Abbiamo quindi formato un semplice cluster a due nodi e distribuito Kubernetes su di esso. Ora puoi distribuire e utilizzare qualsiasi servizio come il server Nginx o il container Apache per utilizzare questa rete in cluster.