GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Kubernetes Docker Cluster na CentOS 7

Kubernetes je open source platforma pro správu kontejnerových aplikací vyvinutých společností Google. Umožňuje vám spravovat, škálovat a automaticky nasazovat vaše kontejnerizované aplikace v clusterovém prostředí. S Kubernetes můžeme organizovat naše kontejnery na více hostitelích, škálovat kontejnerové aplikace se všemi prostředky za chodu a mít centralizované prostředí pro správu kontejnerů.

V tomto tutoriálu vám krok za krokem ukážu, jak nainstalovat a nakonfigurovat Kubernetes na CentOS 7. Budeme používat 1 server 'k8s-master' jako Kubernetes Host Master a 2 servery jako uzel Kubernetes, 'node01' a 'node02'.

Předpoklady

  • 3 servery CentOS 7
    • 10.0.15.10      k8s-master
    • 10.0.15.21      uzel01
    • 10.0.15.22      uzel02
  • Oprávnění uživatele root

Co uděláme?

  1. Instalace Kubernetes
  2. Inicializace clusteru Kubernetes
  3. Přidání node01 a node02 do Clusteru
  4. Testování – vytvoření prvního modulu

Krok 1 – Instalace Kubernetes

V tomto prvním kroku připravíme tyto 3 servery pro instalaci Kubernetes, takže spusťte všechny příkazy na hlavním a uzlovém serveru.

Všechny servery připravíme na instalaci Kubernetes změnou stávající konfigurace na serverech a také instalací některých balíčků, včetně docker-ce a samotného kubernetes.

- Konfigurace hostitelů

Upravte soubor hostitelů na všech serverech pomocí editoru vim.

vim /etc/hosts

Níže vložte seznam hostitelů.

10.0.15.10      k8s-master
10.0.15.21      node01
10.0.15.22      node02

Uložte a ukončete.

- Zakázat SELinux

V tomto tutoriálu se nebudeme zabývat konfigurací SELinux pro Docker, takže ji deaktivujeme.

Spuštěním příkazu níže deaktivujte SELinux.

setenforce 0
sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

- Povolit modul jádra br_netfilter

Pro instalaci kubernetes je vyžadován modul br_netfilter. Povolte tento modul jádra, aby pakety procházející mostem byly zpracovány pomocí iptables pro filtrování a přesměrování portů a kubernetes pody napříč clusterem spolu mohly komunikovat.

Spuštěním příkazu níže povolte modul jádra br_netfilter.

modprobe br_netfilter
echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables

- Zakázat SWAP

Zakažte instalaci SWAP pro kubernetes spuštěním následujících příkazů.

swapoff -a

A poté upravte soubor '/etc/fstab'.

vim /etc/fstab

Zakomentujte UUID swap line, jak je uvedeno níže.

- Instalace Docker CE

Nainstalujte nejnovější verzi Docker-ce z úložiště dockerů.

Nainstalujte závislosti balíčku pro docker-ce.

yum install -y yum-utils device-mapper-persistent-data lvm2

Přidejte úložiště dockeru do systému a nainstalujte docker-ce pomocí příkazu yum.

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce

Počkejte na instalaci docker-ce.

- Nainstalovat Kubernetes

Přidejte úložiště kubernetes do systému centos 7 spuštěním následujícího příkazu.

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

Nyní nainstalujte balíčky kubernetes kubeadm, kubelet a kubectl pomocí příkazu yum níže.

yum install -y kubelet kubeadm kubectl

Po dokončení instalace restartujte všechny tyto servery.

restart sudo

Znovu se přihlaste k serveru a spusťte služby, docker a kubelet.

systemctl spustit docker &&systemctl povolit docker
systemctl spustit kubelet &&systemctl povolit kubelet

- Změňte ovladač cgroup

Musíme se ujistit, že docker-ce a kubernetes používají stejnou 'cgroup'.

Zkontrolujte docker cgroup pomocí příkazu docker info.

informace o ukotvovači | grep -i cgroup

A vidíte, že docker používá 'cgroupfs ' jako cgroup-driver.

Nyní spusťte příkaz níže a změňte ovladač kuberetes cgroup-driver na 'cgroupfs'.

sed -i 's/cgroup-driver=systemd/cgroup-driver=cgroupfs/g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Znovu načtěte systém systemd a restartujte službu kubelet.

systemctl daemon-reload
systemctl restart kubelet

Nyní jsme připraveni nakonfigurovat Kubernetes Cluster.

Krok 2 – Inicializace clusteru Kubernetes

V tomto kroku inicializujeme konfiguraci hlavního clusteru kubernetes.

Přesuňte shell na hlavní server 'k8s-master' a spusťte příkaz níže pro nastavení hlavního serveru kubernetes.

kubeadm init --apiserver-advertise-address=10.0.15.10 --pod-network-cidr=10.244.0.0/16

Poznámka:

--apiserver-advertise-address =určuje, na jaké IP adrese má Kubernetes inzerovat svůj API server.

--pod-network-cidr =zadejte rozsah IP adres pro síť pod. Používáme virtuální síť 'flanel'. Pokud chcete použít jinou síť podů, jako je weave-net nebo calico, změňte IP adresu rozsahu.

Po dokončení inicializace Kubernetes získáte výsledek, jak je uvedeno níže.

Poznámka:

Zkopírujte 'kubeadm join ... ... ... ' do vašeho textového editoru. Příkaz bude použit k registraci nových uzlů do clusteru kubernetes.

Nyní, abychom mohli používat Kubernetes, musíme spustit některé příkazy jako ve výsledku.

Vytvořte nový konfigurační adresář '.kube' a zkopírujte konfiguraci 'admin.conf'.

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

Dále nasaďte flanelovou síť do clusteru kubernetes pomocí příkazu kubectl.

kubectl použít -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Flanelová síť byla nasazena do clusteru Kubernetes.

Počkejte minutu a poté zkontrolujte uzel a pody kubernetes pomocí příkazů níže.

kubectl získat uzly
kubectl získat pody --all-namespaces

Získáte, že uzel „k8s-master“ běží jako „hlavní“ cluster se stavem „připraven“ a získáte všechny moduly, které jsou pro cluster potřeba, včetně „kube-flannel-ds“ pro síťový modul. konfigurace.

Ujistěte se, že stav všech modulů kube-system je „běžící“.

Inicializace a konfigurace hlavního clusteru Kubernetes byla dokončena.

Krok 3 – Přidání node01 a node02 do clusteru

V tomto kroku přidáme node01 a node02, abychom se připojili ke clusteru 'k8s'.

Připojte se k serveru node01 a spusťte příkaz kubeadm join, jak jsme zkopírovali nahoře.

připojit se ke kubeadm 10.0.15.10:6443 --token vzau5v.vjiqyxq26lzsf28e --discovery-token-ca-cert-hash sha256:e6d046ba34ee03e7d55e1f5ac86d2907>4e7d55e1f5ac86d2907 

Připojte se k serveru node02 a spusťte příkaz kubeadm join, jak jsme zkopírovali nahoře.

připojit se ke kubeadm 10.0.15.10:6443 --token vzau5v.vjiqyxq26lzsf28e --discovery-token-ca-cert-hash sha256:e6d046ba34ee03e7d55e1f5ac86d2907>4e7d55e1f5ac86d2907 

Počkejte několik minut a vraťte se na hlavní clusterový server 'k8s-master' zkontrolujte uzly a pody pomocí následujícího příkazu.

kubectl získat uzly
kubectl získat pody --all-namespaces

Nyní získáte node01 a node02 byl přidán do clusteru se stavem 'připraveno'.

node01 a node02 byly přidány do clusteru kubernetes.

Krok 4 – Testování Vytvoření prvního podu

V tomto kroku provedeme test nasazením Nginx pod do clusteru kubernetes. Pod je skupina jednoho nebo více kontejnerů se sdíleným úložištěm a sítí, které běží pod Kubernetes. Pod obsahuje jeden nebo více kontejnerů, jako je kontejner Docker.

Přihlaste se k serveru 'k8s-master' a vytvořte nové nasazení s názvem 'nginx' pomocí příkazu kubectl.

kubectl vytvořit nasazení nginx --image=nginx

Chcete-li zobrazit podrobnosti o specifikaci nasazení 'nginx', spusťte následující příkaz.

kubectl popisuje nasazení nginx

A získáte specifikaci nasazení nginx pod.

Dále vystavíme pod nginx přístupný přes internet. A k tomu potřebujeme vytvořit novou službu NodePort.

Spusťte níže uvedený příkaz kubectl.

kubectl vytvořit servisní nodeport nginx --tcp=80:80

Ujistěte se, že nedošlo k chybě. Nyní zkontrolujte nodeport a IP služby nginx pomocí příkazu kubectl níže.

kubectl získat pods
kubectl získat svc

Nyní zjistíte, že modul nginx nyní běží pod IP adresou clusteru '10.160.60.38' port 80 a hlavní IP adresou uzlu '10.0.15.x' na portu '30691'.

Ze serveru 'k8s-master' spusťte níže uvedený příkaz curl.

curl node01:30691

curl node02:30691

Nginx Pod byl nyní nasazen pod clusterem Kubernetes a je přístupný přes internet.

Nyní přistupujte z webového prohlížeče.

http://10.0.15.10:30691/

A získáte výchozí stránku Nginx.

Na serveru node02 – http://10.0.15.11:30691/

Instalace a konfigurace clusteru Kubernetes na CentOS 7 byla úspěšně dokončena.


Cent OS
  1. Jak nainstalovat Docker na CentOS 7

  2. Jak nainstalovat Docker na CentOS 7 / RHEL 7

  3. Jak nainstalovat Docker v CentOS

  1. Jak nainstalovat Kubernetes na Ubuntu 18.04

  2. Jak nainstalovat Kubernetes Cluster na CentOS 7

  3. Jak nainstalovat Docker Compose na CentOS 7

  1. Jak nainstalovat Docker na CentOS 8

  2. Jak nainstalovat Rancher na CentOS 7

  3. Jak nainstalovat Docker CE na RHEL 8 / CentOS 8