GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Kubernetes a Docker na Ubuntu 18.04 LTS

Kubernetes je open source platforma pro správu kontejnerových aplikací. Umožňuje vám spravovat, škálovat a automaticky nasazovat vaše kontejnerizované aplikace v clusterovém prostředí. Kubernetes je vyvinut společností Google.

S Kubernetes můžete organizovat kontejnery mezi více hostiteli, škálovat kontejnerizované 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 Ubuntu 18.04. Budeme používat 1 server 'k8s-master' jako Kubernetes Host Master a 2 servery jako Kubernetes pracovníky, 'worker01' a 'worker02'.

Předpoklady

  • 3 servery Ubuntu
    • 10.0.15.10  k8s-master
    • 10.0.15.21  pracovník01
    • 10.0.15.22  pracovník02
  • Oprávnění uživatele root

Co uděláme

  1. Instalace Kubeadm
    1. Nastavení hostitelů
    2. Nainstalujte Docker
    3. Zakázat SWAP
    4. Nainstalujte balíčky Kubeadm
  2. Inicializace clusteru Kubernetes
  3. Přidání pracovních uzlů do clusteru Kubernetes
  4. Testování

Krok 1 – Instalace Kubeadm

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 pracovním uzlu.

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ě dockeru a samotného kubernetes.

Nastavení hostitelů

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

sudo vim /etc/hosts

Níže vložte konfiguraci hostitelů.

10.0.15.10 k8s-master10.0.15.21 worker0110.0.15.22 worker02

Uložte a ukončete.

Nyní otestujte ping na všechny servery hostname.

ping -c 3 k8s-master
ping -c 3 worker01
ping -c 3 worker02

Ujistěte se, že všechny IP adresy jsou přeloženy jako název hostitele.

Instalovat Docker

V tomto tutoriálu nainstalujeme Docker z úložiště Ubuntu.

Nainstalujte Docker pomocí příkazu apt níže.

sudo apt install docker.io -y

Po dokončení instalace spusťte službu docker a povolte její spuštění při každém spuštění systému.

sudo systemctl spustit docker
sudo systemctl povolit docker

Instalace dockeru byla dokončena.

Zakázat SWAP

Abychom mohli nastavit servery Kubernetes Linux, musíme zakázat SWAP.

Zkontrolujte odkládací seznam a deaktivujte jej.

sudo swapon -s
sudo swapoff -a

Chcete-li trvale zakázat SWAP, musíme upravit soubor '/etc/fstab'.

sudo vim /etc/fstab

Napište komentář k typu oddílu SWAP.

#/dev/mapper/hakase--labs--vg-swap_1 none swap sw 0 0

Uložte a ukončete, poté restartujte systém.

restart sudo

Instalovat balíčky Kubeadm

V tomto tutoriálu použijeme balíčky Kubeadm k nastavení clusteru Kubernetes. Nainstalujeme balíčky Kubeadm z oficiálního úložiště Kubernetes.

Nainstalujte apt-transport-https.

sudo apt install -y apt-transport-https

Přidejte klíč Kubernetes.

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

A přidejte úložiště Kubernetes vytvořením nového souboru repo.list v adresáři '/etc/apt/sources.list.d'.

cd /etc/apt/
sudo vim sources.list.d/kubernetes.list

vložte úložiště kubernetes níže.

deb http://apt.kubernetes.io/ kubernetes-xenial main

Poznámka:

Pro naši instalaci Kubeadm stále používáme úložiště Xenial Ubuntu 16.04.

Nyní aktualizujte úložiště a nainstalujte balíčky kubeadm pomocí příkazů apt níže.

aktualizace sudo apt
instalace sudo apt -y kubeadm kubelet kubectl

Počkejte na instalace balíčků kubeadm.

Krok 2 – Inicializace clusteru Kubernetes

V tomto kroku inicializujeme Kubernetes na uzlu 'k8s-master'. Všechny příkazy v této fázi spouštějte pouze na serveru 'k8s-master'.

Inicializujte cluster Kubernetes pomocí příkazu kubeadm níže.

sudo kubeadm init --pod-network-cidr=10.244.10.0/16 --apiserver-advertise-address=10.0.15.10 --kubernetes-version "1.11.0"

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 znázorněno níže.

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

Nyní, abychom mohli používat Kubernetes, musíme spustit některé příkazy, jak je znázorněno ve výsledku.

Vytvořte nový konfigurační adresář '.kube' a zkopírujte konfigurační 'admin.conf' z adresáře '/etc/kubernetes'.

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

A získáte, že uzel 'k8s-master' běží jako 'master' cluster se stavem 'ready' a všechny moduly 'kube-system', které jsou pro cluster potřeba, jsou v provozu.

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

Krok 3 – Přidání pracovních uzlů do clusteru Kubernetes

V tomto kroku přidáme dva node worker 'worker01' a 'worker02' do Kubernetes Cluster.

Připojte se k serveru 'worker01' a spusťte příkaz kubeadm join, který získáte z inicializace clusteru.

kubeadm join 10.0.15.10:6443 --token daync8.5dcgj6c6xc7l8hay --discovery-token-ca-cert-hash sha256:65a3e69531d323c335613dea1e256b4b2f7de46b4b2f7dc4652 

Připojte se k serveru 'worker02' a spusťte příkaz kubeadm join, který získáte z inicializace clusteru..

kubeadm join 10.0.15.10:6443 --token daync8.5dcgj6c6xc7l8hay --discovery-token-ca-cert-hash sha256:65a3e69531d323c335613dea1e256b4b2f7de46b4b2f7dc4652 

Počkejte několik minut a vraťte se do hlavního uzlu 'k8s-master' a zkontrolujte stav uzlu.

kubectl získat uzly

Uvidíte, že pracovní uzly 'worker01' a 'worker02' jsou součástí Kubernetes Cluster.

Krok 4 – Testování

V tomto kroku nasadíme webový server Nginx uvnitř clusteru. Webový server Nginx nasadíme pomocí šablony YAML.

Vytvořte nový adresář s názvem 'nginx' a přejděte do tohoto adresáře.

mkdir -p nginx/
cd nginx/

Nyní vytvořte soubor Nginx Deployment YAML 'nginx-deployment.yaml' pomocí editoru vim.

sudo vim nginx-deployment.yaml

Vložte konfigurace níže.

apiVersion:apps/v1kind:Deploymentmetadata:name:nginx-deployment labels:app:nginxspec:replicas:3 selector:matchLabels:app:nginx template:metadata:labels:app:nginx spec:kontejnery:- name:nginx image :nginx:1.14.0 porty:- containerPort:80

Uložte a ukončete.

Poznámka:

  • Vytváříme nové 'Deployment' s názvem 'nginx-deployment'.
  • Nastavte štítek aplikace jako „nginx“ s replikami „3“.
  • 'nginx-deployment' bude mít kontejnery s názvem 'nginx' na základě obrazu dockeru 'nginx:1.14.0' a zpřístupní výchozí port HTTP 80.

Nyní vytvořte rozmístění spuštěním příkazu kubectl níže.

kubectl create -f nginx-deployment.yaml

Po vytvoření nového „nginx-deployment“ zkontrolujte seznam nasazení uvnitř clusteru.

kubectl získat nasazení
kubectl popisuje nasazení nginx-deployment

Nyní zkontrolujte Kubernetes Pods a uvidíte pod 'nginx-deployment-xxx', zkontrolujte podrobnosti pod.

kubectl získat pody
kubectl popsat pody nginx-deployment-6cb5f7bf4f-t5xfh

Získáte moduly pro nasazení nginx se 3 replikami na pracovních uzlech.

Dále musíme vytvořit novou službu pro naše 'nginx-deployment'.

Vytvořte nový soubor YAML s názvem 'nginx-service.yaml'.

vim nginx-service.yaml

Vložte konfiguraci níže.

apiVersion:v1kind:Servicemetadata:name:nginx-service labels:run:nginx-servicespec:type:NodePort ports:- port:80 protocol:TCP selector:app:nginx

Uložte a ukončete.

Poznámka:

  • Vytváříme novou službu kubernetes s názvem 'nginx-service'.
  • Typ služby je 'NodePort' s výchozím portem TargetPort HTTP 80.
  • Služba patří k aplikaci s názvem „nginx“ na základě našeho nasazení „nginx-deployment“.

Vytvořte službu kubernetes pomocí příkazu kubectl níže.

kubectl create -f nginx-service.yaml

Nyní zkontrolujte všechny dostupné služby v clusteru a v seznamu se zobrazí „služba nginx“, poté zkontrolujte podrobnosti o službě.

kubectl získat službu
kubectl popisuje službu nginx-service

A uvidíte, že 'nginx-service' NodePort běží na portu '32649'.

Zkontrolujte pomocí příkazu curl do všech pracovních uzlů.

Na pracovníka01.

curl worker01:32649

Zobrazí se výchozí stránka Nginx.

Na pracovníka02.

curl worker02:32649

Instalace a konfigurace Kubernetes Cluster na Ubuntu 18.04 byla úspěšně dokončena.


Ubuntu
  1. Jak nainstalovat Kubernetes na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Ansible na Ubuntu 18.04 LTS

  3. Jak nainstalovat a nakonfigurovat Fail2ban na Ubuntu 20.04 LTS

  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat Docker na Ubuntu 22.04 / 20.04 LTS

  3. Jak nainstalovat a nakonfigurovat Kubernetes (k8s) na Ubuntu 18.04 LTS

  1. Jak nainstalovat a nakonfigurovat GitLab na Ubuntu 18.04 LTS

  2. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 16.04 LTS

  3. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 18.04 LTS