GNU/Linux >> Linux Esercitazione >  >> Rocky Linux

Come installare il cluster Kubernetes su Rocky Linux 8

Ciao tecnici, come sappiamo Kubernetes (k8s) è un sistema di orchestrazione di container gratuito e open source. Viene utilizzato per automatizzare la distribuzione e la gestione di applicazioni containerizzate. In questa guida, illustreremo passo dopo passo come installare il cluster kubernetes su Rocky Linux 8 con kubeadm.

Requisito minimo di sistema per Kubernetes

  • 2 vCPU o più
  • 2 GB di RAM o più
  • Scambio disabilitato
  • Almeno scheda NIC
  • Connessione Internet stabile
  • Un utente normale con privilegi sudo.

Per la dimostrazione, sto usando i seguenti sistemi

  • Una volta nodo master/piano di controllo (2 GB di RAM, 2vCPU, 1 scheda NIC, minimo Rocky Linux 8 OS)
  • Due nodi di lavoro (2 GB di RAM, 2vCPU, 1 scheda NIC, minimo Rocky Linux 8 OS)
  • Nome host del nodo principale – nodo di controllo (192.168.1.240)
  • Nome host dei nodi di lavoro – nodo-lavoratore1(192.168.1.241), nodo-lavoratore2(192.168.1.242)

Senza ulteriori indugi, approfondiamo la procedura di installazione di Kubernetes.

Nota:questi passaggi sono applicabili anche per RHEL 8 e AlmaLinux OS.

Passaggio 1) Imposta il nome host e aggiorna il file host

Utilizzare il comando hostnamectl per impostare il nome host sul nodo di controllo e sul nodo di lavoro.

Esegui sotto comando sul nodo di controllo

$ sudo hostnamectl set-hostname "control-node"$ exec bash

Esegui il comando seguente sul nodo di lavoro1

$ sudo hostnamectl set-hostname "worker-node1"$ exec bash

Nodo di lavoro 2

$ sudo hostnamectl set-hostname "worker-node2"$ exec bash

Aggiungi le seguenti voci nel file /etc/hosts rispettivamente sui nodi di controllo e di lavoro.

192.168.1.240   control-node192.168.1.241   worker-node1192.168.1.242   worker-node2

Passaggio 2) Disabilita Swap e imposta SELinux in modalità permissiva

Disabilita lo scambio, in modo che kubelet possa funzionare correttamente. Esegui i comandi seguenti su tutti i nodi per disabilitarlo,

$ sudo swapoff -a$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Esegui sotto il comando sed su tutti i nodi per impostare SELinux in modalità permissiva

$ sudo setenforce 0$ sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissivo/' /etc/selinux/config

Passaggio 3) Configura le regole del firewall sui nodi Master e Worker

Sul piano di controllo, le seguenti porte devono essere consentite nel firewall.

Per consentire le porte sopra nel piano di controllo, esegui

$ sudo firewall-cmd --permanent --add-port=6443/tcp$ sudo firewall-cmd --permanent --add-port=2379-2380/tcp$ sudo firewall-cmd --permanent --add -port=10250/tcp$ sudo firewall-cmd --permanent --add-port=10251/tcp$ sudo firewall-cmd --permanent --add-port=10252/tcp$ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ ip_forward"

Sui nodi di lavoro, le seguenti porte devono essere consentite nel firewall

$ sudo firewall-cmd --permanent --add-port=10250/tcp$ sudo firewall-cmd --permanent --add-port=30000-32767/tcp                                               $ sudo firewall-cmd --reload$ sudo modprobe br_netfilter$ sudo sh -c "echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables"$ sudo sh -c "echo '1'> /proc/sys/net/ipv4/ip_forward "

Passaggio 4) Installa Docker sui nodi Master e Worker

Installa Docker sui nodi master e di lavoro. Qui la finestra mobile fornirà il tempo di esecuzione del contenitore (CRI). Per installare l'ultima finestra mobile, dobbiamo prima abilitare il suo repository eseguendo i seguenti comandi.

$ sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

Ora, esegui sotto il comando dnf su tutti i nodi per installare docker-ce (docker community edition)

$ sudo dnf install docker-ce -y

Uscita

Una volta che la finestra mobile e le sue dipendenze sono state installate, avvia e abilita il suo servizio eseguendo i seguenti comandi

$ sudo systemctl avvia docker$ sudo systemctl abilita docker

Passaggio 5) Installa kubelet, Kubeadm e kubectl

Kubeadm è l'utilità attraverso la quale installeremo il cluster Kubernetes. Kubectl è l'utilità della riga di comando utilizzata per interagire con il cluster Kubernetes. Kubelet è il componente che eseguirà tutti i nodi ed eseguirà attività come l'avvio e l'arresto di pod o contenitori.

Per installare kubelet, Kubeadm e kubectl su tutti i nodi, dobbiamo prima abilitare il repository Kubernetes.

Esegui sotto i comandi sui nodi master e di lavoro.

$ cat < 

Dopo aver installato i pacchetti sopra, abilita il servizio kubelet su tutti i nodi (controllo e nodi di lavoro), esegui

$ sudo systemctl enable --now kubelet

Passaggio 6) Installa Kubernetes Cluster con Kubeadm

Durante l'installazione del cluster Kubernetes, dovremmo assicurarci che cgroup of container runtime (CRI) corrisponda a cgroup of kubelet. Tipicamente, in Docker, cgroup è cgroupfs, quindi dobbiamo indicare a Kubeadm di usare cgroupfs come cgoup di kubelet. Questo può essere fatto passando un yaml nel comando Kubeadm,

Crea il file kubeadm-config.yaml sul piano di controllo con il seguente contenuto

$ vi kubeadm-config.yaml# kubeadm-config.yamlkind:ClusterConfigurationapiVersion:kubeadm.k8s.io/v1beta3kubernetesVersion:v1.23.4--kind:KubeletConfigurationapiVersion:kubelet.config.k8s.io/v1beta1cgroupDriver:cgroupfs

Nota:sostituisci la versione Kubernetes secondo la tua configurazione.

Ora siamo pronti per installare (o inizializzare il cluster), eseguire sotto il comando Kubeadm dal nodo di controllo,

$ sudo kubeadm init --config kubeadm-config.yaml

L'output del comando sopra apparirà come sotto,

L'output sopra conferma che il cluster è stato inizializzato correttamente.

Esegui i seguenti comandi per consentire all'utente normale di interagire con il cluster, questi comandi sono già presenti nell'output.

$ mkdir -p $HOME/.kube$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config$ sudo chown $(id -u):$(id -g) $HOME /.kube/config$ kubectl ottiene i nodi

Per rendere i nodi in stato pronto e abilitare il servizio DNS del cluster (coredns), installare il componente aggiuntivo di rete pod (CNI – Container Network Interface). I pod inizieranno a comunicare tra loro una volta installato il componente aggiuntivo di rete pod. In questa guida, installo calico come componente aggiuntivo di rete. Esegui sotto il comando kubectl dal piano di controllo.

$ kubectl apply -f https://docs.projectcalico.org/v3.22/manifests/calico.yaml

Uscita

Dopo la corretta installazione dell'ad-on di rete calico, il nodo di controllo e i pod nello spazio dei nomi del sistema kube saranno rispettivamente pronti e disponibili.

Ora, il passaggio successivo consiste nell'unire i nodi di lavoro al cluster.

Passaggio 7) Unisci i nodi di lavoro al cluster

Dopo l'inizializzazione riuscita del cluster Kubernetes, nell'output viene mostrato il comando per unire qualsiasi nodo di lavoro al cluster. Quindi, copia quel comando e incollalo sui nodi di lavoro. Quindi, nel mio caso il comando è,

$ sudo kubeadm unisciti a 192.168.1.240:6443 --token jecxxg.ac3d3rpd4a7xbxx4 --discovery-token-ca-cert-hash sha256:1e4fbed060aafc564df75bc776c18f6787ab91685859e74d4349cf5a5d>
 Esegui i comandi sopra su entrambi i nodi di lavoro.

Verifica lo stato di entrambi i nodi di lavoro dal piano di controllo, esegui

 [[e-mail protetta] ~] $ kubectl get nodesname status ruoli età VersionControl-nodo pronto-controllo-piano-aereo, master 49m v1.23.4worker-nodo1 pronto  5m18s v1.23.4worker-node2 pronto  3m57s v1 .23.4[[email protetta] ~]$

Ottimo, l'output sopra conferma che i nodi di lavoro si sono uniti al cluster. Questo è tutto da questa guida, spero che tu abbia trovato questa guida informativa. Si prega di condividere le vostre domande e feedback nella sezione commenti qui sotto.


No
Rocky Linux
  1. Come installare MariaDB 10.6 su Rocky Linux 8

  2. Come installare Docker su Rocky Linux 8

  3. Come installare Cockpit su Rocky Linux 8

  4. Come installare GitLab su Rocky Linux 8

  5. Come installare MariaDB su Rocky Linux 8

Come installare Joomla su Rocky Linux 8

Come installare Fail2ban su Rocky Linux 8

Come installare ImageMagick su Rocky Linux 8

Come installare Spotify su Rocky Linux 8

Come installare Grafana su Rocky Linux 8

Come installare Netdata su Rocky Linux 8