In questo articolo, avremo spiegato i passaggi necessari per installare e configurare Kubernetes Cluster su CentOS 8. Prima di continuare con questo tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo. Tutti i comandi in questo tutorial devono essere eseguiti come utente non root.
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.
Installa Kubernetes Cluster su CentOS 8
Passaggio 1. Il primo comando aggiornerà gli elenchi dei pacchetti per assicurarti di ottenere l'ultima versione e le dipendenze.
sudo dnf update
Passaggio 2. Configura Hostname, Firewall e SELinux.
Ora imposta il nome host del sistema e aggiorna il DNS nel tuo /etc/hosts
file:
$ hostnamectl set-hostname master-node # cat <> /etc/hosts 192.168.0.46 master-node 192.168.0.47 node-1 worker-node-1 192.168.0.48 node-2 worker-node-2 EOF
Successivamente, disabilita l'applicazione di SELinux:
setenforce 0 sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Successivamente, devi aprire le porte del firewall appropriate con i seguenti comandi:
firewall-cmd --permanent --add-port=6443/tcp firewall-cmd --permanent --add-port=2379-2380/tcp firewall-cmd --permanent --add-port=10250/tcp firewall-cmd --permanent --add-port=10251/tcp firewall-cmd --permanent --add-port=10252/tcp firewall-cmd --permanent --add-port=10255/tcp firewall-cmd –reload modprobe br_netfilter echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
Passaggio 3. Installa Docker-CE.
La prima cosa da fare è installare una versione precedente di docker-ce con il comando:
sudo dnf install docker-ce-3:18.09.1-3.el7
Avvia e abilita il demone Docker con il comando:
sudo systemctl enable --now docker
Passaggio 4. Installa Kubernetes su CentOS 8.
Ora possiamo installare Kubernetes su CentOS. Innanzitutto, dobbiamo creare un nuovo file di repository con il comando:
sudo nano /etc/yum.repos.d/kubernetes.repo
[kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
Quindi, installa i pacchetti Kubernetes necessari con il comando:
sudo dnf install kubelet kubeadm kubectl --disableexcludes=kubernetes
Avvia e abilita il servizio con il comando:
sudo systemctl enable --now kubelet
Ora dovremo rivolgerci all'utente root e quindi creare un nuovo file (per aiutare a configurare iptables) con il comando:
nano /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
Salva e chiudi il file. Carica la nuova configurazione con il comando:
sysctl --system
Passaggio successivo, dobbiamo disabilitare lo scambio. Fallo con il comando:
sudo swapoff -a
Passaggio 5. Crea un file demone.
Infine, dobbiamo creare un file demone. Fallo emettendo prima il comando su e quindi creando il nuovo file demone con il comando:
nano /etc/docker/daemon.json
{ "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ] }
Quindi, crea una nuova directory systemd con il comando:
mkdir -p /etc/systemd/system/docker.service.d
Successivamente, ricarica e riavvia il demone Docker con i comandi:
systemctl daemon-reload systemctl restart docker
Passaggio 6. Inizializza il cluster.
Questo viene fatto solo sul master Kubernetes. Per inizializzare il cluster, immetti il comando:
sudo kubeadm init
Quanto sopra inizializzerà il cluster e ti riporterà il comando necessario utilizzato per unire i nodi al tuo master.
Congratulazioni, hai imparato come installare e configurare Kubernetes su CentOS 8. Se hai qualche domanda, lascia un commento qui sotto.