Kubernetes veniva anche chiamato k8 , è uno strumento gratuito e opensource utilizzato per la gestione dei contenitori Docker. È una piattaforma di orchestrazione di container personalizzata per automatizzare la distribuzione, la scalabilità e la gestione delle applicazioni containerizzate. In questa guida imparerai come installare e configurare Kubernetes su Ubuntu 18.04 LTS.
Prerequisiti
Prima di iniziare, avremo un laboratorio di prova comprendente 3 nodi Ubuntu 18.04 come mostrato di seguito
- Indirizzo IP del nodo principale Kubernetes:172.31.4.36 Nome host:k8-master
- Indirizzo IP del nodo slave 1 di Kubernetes:172.31.4.170 Nome host:k8-slave
- Indirizzo IP Kubernetes Slave Node 2:172.31.10.30 Nome host:k8-slave2
Inoltre, assicurati che il tuo sistema abbia i seguenti requisiti minimi.
- 2 CPU
- 4 GB di RAM
- 8 GB di spazio libero su disco rigido
Ora tuffiamoci e iniziamo.
Passaggio 1. Configurazione del nome host e aggiornamento del file host
Per iniziare, accederai al Master Node tramite SSH e imposterai il nome host come mostrato
$ sudo hostnamectl set-hostname "k8-master"
Sui nodi slave eseguire i seguenti comandi
$ sudo hostnamectl set-hostname k8-slave
$ sudo hostnamectl set-hostname k8-slave2
Utilizzando il tuo editor di testo preferito, apporta le seguenti modifiche nel /etc/hosts
file per ciascuno dei 3 nodi, ovvero k8-master, k8-slave e k9-slave2 rispettivamente.
172.31.4.36 k8s-master
172.31.4.170 k8-slave
172.31.10.30 k8-slave2
Passaggio 2. Installazione di Docker sui nodi Master e Slave
Per installare la finestra mobile sul nodo Master, prima aggiorna e aggiorna il sistema usando il comando seguente
$ sudo apt-get update && sudo apt-get upgrade
Quindi, installa Docker sia sui nodi Master che Slave usando il seguente comando
$ sudo apt-get install docker.io -y
Risultato
Una volta che Docker è stato installato correttamente, avvia e abilita il servizio Docker sia sul nodo master che su quello slave utilizzando i comandi seguenti.
$ sudo systemctl start docker
$ sudo systemctl enable docker
Risultato
Per verificare che la finestra mobile sia in esecuzione, immetti il comando sui nodi master e slave
$ sudo systemctl status docker
Risultato
Per visualizzare la versione Docker che hai appena installato, esegui
$ docker --version
Risultato
Fase 3. Configurazione del repository Kubernetes sui nodi Master e Slave
Prima di passare al passaggio successivo, è necessario installare alcuni pacchetti utili. esegui i seguenti comandi su tutti i nodi
$ sudo apt-get install apt-transport-https curl -y
Risultato
Quindi, aggiungi la chiave del repository del pacchetto Kubernetes eseguendo il comando seguente
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Risultato
Successivamente, aggiungi il repository Kubernetes utilizzando il comando seguente.
$ sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
Risultato
NOTA:
Il repository di pacchetti Kubernetes per Ubuntu 18.04 LTS non è disponibile. Tuttavia, abbiamo utilizzato il repository di pacchetti Xenial Kubernetes.
Passaggio 4. Disabilitazione di swap e installazione di kubeadm
Stiamo per installare kubeadm pacchetto per consentirci di distribuire più nodi sul nostro cluster.
Ma prima di farlo, il sito ufficiale di Kubernetes consiglia di disabilitare la funzione di scambio del sistema operativo. Per fare ciò, esegui il seguente comando.
$ sudo swapoff -a
ora puoi installare kubeadm pacchetto come segue.
$ sudo apt-get install kubeadm -y
Risultato
Dopo aver installato con successo kubeadm pacchetto, verificane la versione utilizzando il comando seguente
$ kubeadm version
Risultato
Passaggio 5. Avvio del cluster Kubernetes utilizzando Kubeadm
Sul nodo Master, accedi e inizializza kubernetes usando kubeadm come mostrato.
$ sudo kubeadm init --pod-network-cidr=172.31.4.0/20
Risultato di esempio
L'output sopra è una conferma che abbiamo avviato correttamente il nodo Kubernetes Master Per avviare il cluster, esegui i comandi racchiusi all'interno dell'evidenziazione verde, uno dopo l'altro
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Ora verificheremo lo stato del nodo Master eseguendo il comando seguente.
$ kubectl get nodes
A questo punto, ti verrà chiesto che il Master Node non è pronto perché non abbiamo ancora distribuito alcun pod. Nel passaggio successivo, implementeremo una rete pod che è la rete con cui i nostri nodi del cluster saranno in grado di comunicare tra loro. A tal fine, implementeremo Flannel come nostra rete di pod. Flannel fornirà una rete overlay tra i nodi del cluster
Passaggio 6. Distribuzione di Flannel come rete pod
Per distribuire la rete pod, esegui il comando seguente nel nodo Master
$ sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Risultato di esempio
A questo punto, possiamo ora verificare lo stato del Master Node usando il kubectl
comando
$ sudo kubectl get nodes
Risultato
Come visto sopra, lo stato del nodo Master è cambiato in "Pronto". Inoltre, verifica gli spazi dei nomi del pod come mostrato.
$ sudo kubectl get pods --all-namespaces
Risultato
L'output sopra mostra che tutti gli spazi dei nomi del pod sono in uno stato di esecuzione. il passaggio finale sarà l'unione dei nodi slave al cluster.
Passaggio 7. Aggiunta del nodo Slave al cluster
In questo passaggio, accediamo a entrambi i nodi slave (k8-slave e k8-slave2) ed eseguiremo il seguente comando che appare evidenziato in rosso nel Passaggio 5
$ kubeadm join 172.31.4.36:6443 --token w8kbni.wiyevyov0yxwwtdj --discovery-token-ca-cert-hash sha256:29adc042c538f59f0c7339ebad2126d5836de06ffe0ae22c54ce0aef2eb4cb76
Risultato di esempio
Ora vai allo slave Master e controlla lo stato dei nodi master e slave usando il kubectl
comando
$ kubectl get nodes
Risultato
L'output sopra conferma che abbiamo aggiunto con successo i nostri due nodi slave al cluster e il loro stato, così come il nodo Master, è pronto!
Meraviglioso! Abbiamo concluso il nostro tutorial su come installare e configurare Kubernetes su Ubuntu 18.04 LTS. Il tuo feedback è molto gradito.