GNU/Linux >> Znalost Linux >  >> AlmaLinux

Nainstalujte Kubernetes Cluster pomocí Kubeadm v RHEL, CentOS, AlmaLinux, Rocky Linux

V tomto článku se seznámíme s instalací clusteru Kubernetes pomocí Kubeadm v RHEL 8 a jeho klonech jako AlmaLinux 8, CentOS 8 a Rocky Linux 8.

Než se do toho pustíte, musíte mít základní znalosti o konceptech a architektuře Kubernetes . V tomto článku budeme demonstrovat cluster se dvěma uzly.

Pro pokračování instalace potřebujeme níže uvedené základní požadavky.

  • Minimálně 2 hostitelé.
  • 2 CPU.
  • 2 GB fyzické paměti (RAM).
  • 20 GB místa na disku.
  • Připojení k internetu pro stahování balíčků.

1. Nakonfigurujte název hostitele a adresu IP

Nastavte název hostitele a nakonfigurujte hostitele v Master and Workers. Hostitelé souborů operačního systému se používají k převodu názvů hostitelů nebo doménových jmen na adresy IP.

Zde budeme mít dva hostitele:

  • ostechmistr – mistr
  • ostechworker – dělník

Pomocí níže uvedeného příkazu nastavte název hostitele, po nastavení názvu hostitele je vyžadován restart.

# hostnamectl set-hostname ostechmaster

Upravte /etc/hosts soubor:

# vi /etc/hosts

Přidejte název hostitele a IP adresu serveru i klienta do /etc/hosts soubor:

Proveďte test ping, abyste zajistili připojení:

[[email protected] ~]# ping ostechworkerPING ostechworker (172.31.5.141) 56(84) bajtů dat,64 bajtů od ostechworker (172.31.5.141):icmp_seq=1 ttl=62 ms 4 krát 0,47 (172.31.5.141):icmp_seq=2 ttl=64 čas=0,492 ms64 bajtů od ostechworker (172.31.5.141):icmp_seq=3 ttl=64 čas=1,43 ms64 bajtů od ostechworker =72mptl_seq (1.1) čas=0,425 ms

2. Zakázat SElinux

Zakažte SElinux v Master and Workers, takže všechny kontejnery mohou snadno přistupovat k hostitelskému souborovému systému, pokud je SElinux zakázán.
Nastavte 'SELINUX=disabled ' v konfiguračním souboru /etc/selinux/config pomocí editoru vi. Je vyžadován restart, aby se projevila změna SElinux.

[[email protected] ~]# vi /etc/selinux/config

Zkontrolujte stav SElinux pomocí níže uvedeného příkazu.

[[email chráněný] ~]# stav sestatusSELinux:zakázán

3. Zakázat Swap v Master and Worker

Swap musí být deaktivován na všech hostitelích Kubernetes (Master &Workers). Toto je preferovaný způsob nasazení komunity Kubernetes. Pokud není swap zakázán, služba kubelet se nespustí na masteru a dělnících.

Spuštěním níže uvedeného příkazu zakážete SWAP:

[[email protected] ~]# swapoff -a &&sed -i '/swap/d' /etc/fstab

4. Povolte požadované porty ve firewallu

Aby komponenty Kubernetes mohly vzájemně interagovat, musí být k dispozici určité základní porty. Níže jsou uvedeny porty, které se mají otevřít, aby bylo možné využít připojení mezi komponenty Kubernetes.

Řídicí rovina / Hlavní server:

Protokol Směr Rozsah portů Účel Použito
TCP Příchozí 6443 Server Kubernetes API Vše
TCP Příchozí 2379-2380 etcd server API klienta kube-apiserver, atd.
TCP Příchozí 10250 Kubelet API Sebe, Řídící rovina
TCP Příchozí 10259 kube-plánovač
TCP Příchozí 10257 kube-controller-manager

Pracovní uzly:

Protokol Směr Rozsah portů Účel Použito
TCP Příchozí 10250 Kubelet API Sebe, Řídící rovina
TCP Příchozí 30 000-32767 Služby NodePort Vše

Chcete-li povolit požadované porty přes bránu firewall, spusťte následující příkazy.

Hlavní uzel:

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=6443/tcp
[[email chráněný] ~]# firewall-cmd --permanent --add-port=2379-2380/tcp
[[email chráněný] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email chráněný] ~]# firewall-cmd --permanent --add-port=10251/tcp
[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=10259/tcp
[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=10257/tcp
[[email protected] ~]# firewall-cmd --reload

Pracovní uzel:

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=10250/tcp
[[email chráněný] ~]# firewall-cmd --permanent --add-port=30000-32767/tcp
[[email protected] ~]# firewall-cmd --reload

Firewall deaktivujeme v Master i Worker, protože je to pro demonstrační účely. Nedoporučuje se to však pro produkční praxi v reálném čase.

K zastavení a deaktivaci brány firewall použijte níže uvedené příkazy.

[[email chráněný] ~]# systemctl stop firewalld
[[email protected] ~]# systemctl deaktivovat firewall

5. Nainstalujte Docker

Docker usnadňuje „stavbu“ kontejnerů, zatímco Kubernetes umožňuje „spravovat“ je v reálném čase. K zabalení a odeslání softwaru použijte Docker. Ke spuštění a škálování aplikace použijte Kubernetes.

Přidejte úložiště dockeru na všechny počítače v Clusteru.

Vytvořte soubor s názvem docker.repo pod /etc/yum.repos.d/ adresář:

[[email protected] ~]# vi /etc/yum.repos.d/docker.repo

Přidejte do něj následující řádky:

[docker]baseurl=https://download.docker.com/linux/centos/8/x86_64/stable/gpgcheck=0

Stiskněte klávesu ESC a napište :wq uložte soubor a zavřete jej.

Nainstalujte docker do uzlů Master i Worker:

# yum -y nainstalovat docker-ce

Po instalaci povolte a spusťte Docker na obou uzlech:

# systemctl enable docker
# systemctl start docker

Zkontrolujte a ujistěte se, že Docker běží na obou počítačích.

# systemctl status docker

6. Nainstalujte Kubernetes

Přidejte úložiště Kubernetes do Master and Worker.

Vytvořte soubor kubernetes.repo v Master i Worker pod /etc/yum.repos.d/ adresář:

# vi /etc/yum.repos.d/kubernetes.repo

Přidejte následující řádky:

[kubernetes]name=Kubernetesbaseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://packages.cloud.google.com/ yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

Stiskněte ESC a napište :wq uložte soubor a zavřete jej.

Nainstalujte kubeadm, kubelet, kubectl do uzlů Master a Worker pomocí níže uvedeného příkazu:

# yum install -y kubelet kubeadm kubectl --disableexcludes=Kubernetes

Povolte a spusťte kubelet služba v obou strojích:

# systemctl povolit kubelet
# systemctl start kubelet

Zkontrolujte stav služby Kubelet a ujistěte se, že na obou počítačích funguje správně.

# systemctl status kubelet

7. Inicializujte Kubernetes

Pomocí níže uvedeného příkazu inicializujte Kubernetes na hlavním serveru

[[email protected] ~]# init kubeadm

Získáte níže uvedený výstup, který říká, že řídicí rovina Kubernetes byla úspěšně inicializována. A budou zmíněny určité kroky pro zahájení používání clusteru, postupujte podle nich.

Také zkopírujte a uložte 'kubeadm join' příkaz z výstupu, bude použit pro připojení k pracovnímu uzlu v clusteru.

Ukázkový výstup:

Vaše řídicí rovina Kubernetes byla úspěšně inicializována! Chcete-li začít používat svůj cluster, musíte jako běžný uživatel spustit následující:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id - u):$(id -g) $HOME/.kube/config Alternativně, pokud jste uživatel root, můžete spustit: export KUBECONFIG=/etc/kubernetes/admin.conf Nyní byste měli nasadit síť pod do clusteru. Spusťte „kubectl apply -f [podnetwork].yaml“ s jednou z možností uvedených na:https://kubernetes.io/docs/concepts/cluster-administration/addons/Then Můžete se připojit k libovolnému počtu uzlů pracovníků spuštěním následujícího na každém jako root: kubeadm se připojte 172.31.10.29:6443-token 220tvj.051bkeyj5tg6v55r \--discovery-token-cert-cert-cert-cert-cert-cert-cert-cert-cert-cert-cert-cert-cert-hash sha256:silný> 

Protože pokračujeme s root uživatel, spusťte níže uvedený příkaz na hlavním serveru, jak je uvedeno ve výše uvedeném výstupu.

[[email protected] ~]# export KUBECONFIG=/etc/kubernetes/admin.conf

8. Nakonfigurujte síť POD

Síť Kubernetes Pod je síť propojených komponent v Kubernetes. Tento koncept sítě může být implementován několika různými způsoby. V naší ukázce použijeme 'Weave Net' .

Spusťte níže uvedené příkazy na hlavním serveru pro nastavení sítě POD.

[[email protected] ~]# export kubever=$(verze kubectl | base64 | tr -d '\n')
[[email protected] ~Použít # kubectl -f https://cloud.weave.works/k8s/net?k8s-version=$kubever

Ukázkový výstup:

serviceaccount/weave-net createdclusterrole.rbac.authorization.k8s.io/weave-net createdclusterrolebinding.rbac.authorization.k8s.io/weave-net createdrole.rbac.authorization.k8s.io/weave-net createdrolebinding.rbac .authorization.k8s.io/weave-net createddaemonset.apps/weave-net created[[email protected] ~]#

9. Připojte se k Worker Node

Spusťte 'kubeadm join ' pro připojení pracovního uzlu do clusteru. Toto je příkaz, který jsme zkopírovali z 'kubeadm init ' výstup.

[[email protected] ~]# kubeadm join 172.31.10.29:6443 --token 220tvj.051bkeyj5tg6v55r --discovery-token-ca-cert-hash sha256:434c49c792993846af  

Uzel na hlavním serveru můžete ověřit pomocí níže uvedeného příkazu

# kubectl get nodes

Ukázkový výstup:

JMÉNO STAV ROLE VĚK VERZEostechmaster Připraveno kontrolní letadlo, hlavní 32m v1.23.1ostechworker Připraveno <žádné> 30m v1.23.1

Závěr

V tomto článku jsme viděli podrobné kroky k nastavení a konfiguraci Kubernetes Cluster pomocí Kubeadm. Podívejte se na naši předchozí sérii kubernetes články, abyste měli podrobný přehled o architektuře a konceptech Kubernetes. Operace Kubernetes uvidíme v nadcházejících článcích.

Další informace:

  • Jak vytvářet a spravovat Kubernetes Pody v Linuxu

Zdroj:

  • https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/

AlmaLinux
  1. AlmaLinux vs Rocky Linux

  2. Jak nainstalovat PostgreSQL na CentOS 8 / Rocky Linux 8 / RHEL 8

  3. Jak nainstalovat Erlang na Rocky Linux/Alma Linux/CentOS 8

  1. Jak nainstalovat Kubernetes Cluster na Rocky Linux 8

  2. Jak nainstalovat MediaWiki na RHEL 8/Rocky Linux 8/AlmaLinux OS 8

  3. Jak nainstalovat Javu na Rocky Linux 8 / CentOS 8 / RHEL 8

  1. Jak nainstalovat GUI GNOME na Rocky Linux 8 / CentOS 8 / RHEL 8

  2. Jak nainstalovat VirtualBox na Rocky Linux 8 / CentOS 8 / RHEL 8

  3. Jak nainstalovat Docker na Rocky Linux 8 / CentOS 8 / RHEL 8 / AlmaLinux