GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare un cluster Kubernetes su CentOS 7

Introduzione

Piccoli ambienti virtuali, chiamati contenitori , sono diventati indispensabili per lo sviluppo e la gestione delle applicazioni.

L'utilizzo di applicazioni all'interno di un contenitore isolato non influisce sul sistema operativo host. I container sono più efficienti delle macchine virtuali in quanto non necessitano del loro sistema operativo.

Kubernetes è una piattaforma open source che ti aiuta a distribuire, ridimensionare e gestire le risorse su più container.

Segui questo tutorial e scopri come installare Kubernetes su un sistema CentOS 7.

Prerequisiti

  • Più server Linux che eseguono CentOS 7 (1 nodo principale, più nodi di lavoro)
  • Un account utente su ogni sistema con sudo o privilegi di root
  • Il gnam gestore di pacchetti, incluso per impostazione predefinita
  • Riga di comando/finestra del terminale

Passaggi per l'installazione di Kubernetes su CentOS 7

Per utilizzare Kubernetes, devi installare un motore di containerizzazione . Attualmente, la soluzione container più popolare è Docker . Docker deve essere installato su CentOS, entrambi sul Master Node e sui nodi Worker.

Passaggio 1:configura il repository Kubernetes

I pacchetti Kubernetes non sono disponibili dai repository CentOS 7 ufficiali. Questo passaggio deve essere eseguito sul nodo principale e su ogni nodo di lavoro che prevedi di utilizzare per la configurazione del tuo container. Immettere il comando seguente per recuperare i repository Kubernetes.

cat <<EOF > /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
EOF

Fase 2:installa kubelet , kubeadm e kubectl

Questi 3 pacchetti di base sono necessari per poter utilizzare Kubernetes. Installa i seguenti pacchetti su ciascun nodo:

sudo yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet

Ora hai installato correttamente Kubernetes, inclusi i suoi strumenti e pacchetti di base.

Prima di distribuire un cluster, assicurati di impostare i nomi host, configurare il firewall e le impostazioni del kernel.

Fase 3:imposta il nome host sui nodi

Per assegnare un nome host univoco a ciascuno dei tuoi nodi, usa questo comando:

sudo hostnamectl set-hostname master-node

o

sudo hostnamectl set-hostname worker-node1

In questo esempio, il nodo master è ora denominato nodo-master, mentre un nodo di lavoro è denominato nodo-lavoratore1.

Crea una voce host o un record DNS per risolvere il nome host per tutti i nodi:

sudo vi /etc/hosts

Con la voce:

192.168.1.10 master.phoenixnap.com master-node
192.168.1.20 node1. phoenixnap.com node1 worker-node

Fase 4:Configura Firewall

I nodi, i contenitori e i pod devono essere in grado di comunicare nel cluster per svolgere le proprie funzioni. Firewalld è abilitato in CentOS per impostazione predefinita sul front-end. Aggiungi le seguenti porte inserendo i comandi elencati.

Sul Nodo Master inserisci:

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 --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Ogni volta che viene aggiunta una porta il sistema conferma con un messaggio di "successo".

Immettere i seguenti comandi su ciascun nodo di lavoro:

sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload

Passaggio 5:aggiorna le impostazioni di Iptables

Imposta il net.bridge.bridge-nf-call-iptables a '1' nel tuo file di configurazione sysctl. Ciò garantisce che i pacchetti vengano elaborati correttamente dalle tabelle IP durante il filtraggio e il port forwarding.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Fase 6:Disattiva SELinux

I contenitori devono accedere al filesystem host. SELinux deve essere impostato in modalità permissiva, che disabilita efficacemente le sue funzioni di sicurezza.

Utilizzare i seguenti comandi per disabilitare SELinux:

sudo setenforce 0
sudo sed -i ‘s/^SELINUX=enforcing$/SELINUX=permissive/’ /etc/selinux/config

Passaggio 7:Disattiva SWAP

Infine, dobbiamo disabilitare SWAP per consentire al kubelet di funzionare correttamente:

sudo sed -i '/swap/d' /etc/fstab
sudo swapoff -a

Come distribuire un cluster Kubernetes

Passaggio 1:crea un cluster con kubeadm

Inizializza un cluster eseguendo il comando seguente:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Il completamento del processo potrebbe richiedere diversi minuti in base alla velocità della rete. Al termine di questo comando, viene visualizzato un messaggio di unione kubeadm. Prendere nota della voce e utilizzarla per unire i nodi di lavoro al cluster in una fase successiva.

Fase 2:gestisci il cluster come utente normale

Per iniziare a utilizzare il cluster devi eseguirlo come utente normale digitando:

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

Fase 3:imposta la rete pod

Una rete Pod consente ai nodi all'interno del cluster di comunicare. Sono disponibili diverse opzioni di rete Kubernetes. Utilizza il comando seguente per installare la flanella componente aggiuntivo di rete pod:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Se decidi di utilizzare flannel, modifica le regole del firewall per consentire il traffico per la porta predefinita flannel 8285 .

Fase 4:verifica lo stato del cluster

Verificare lo stato dei nodi immettendo il seguente comando sul server master:

sudo kubectl get nodes

Una volta che una rete pod è stata installata, puoi confermare che funziona controllando che il pod CoreDNS sia in esecuzione digitando:

sudo kubectl get pods --all-namespaces

Passaggio 5:unisci il nodo di lavoro al cluster

Come indicato nel Passaggio 1 , puoi utilizzare il kubeadm join comando su ciascun nodo di lavoro per connetterlo al cluster.

kubeadm join --discovery-token cfgrty.1234567890jyrfgd --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443

Sostituisci i codici con quelli del tuo server principale. Ripeti questa azione per ogni nodo di lavoro nel tuo cluster.


Cent OS
  1. Come installare Vagrant su CentOS 7

  2. Come installare Gitea su CentOS 8

  3. Come installare Memcached su CentOS 8

  4. Come installare Nginx su CentOS 7

  5. Come installare ownCloud su CentOS 8

Come installare un cluster Docker Kubernetes su CentOS 7

Come installare Zoom su CentOS 8

Come installare Nethogs su CentOS

Come installare Yourls in CentOS 8

Come installare Kubernetes su CentOS 8

Come installare il cluster Kubernetes su CentOS 8