GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavení clusteru Kubernetes na instanci AWS EC2 s Ubuntu pomocí kubeadm

V tomto článku uvidíme, jak nastavit cluster Kubernetes se 2 pracovními uzly a 1 hlavním uzlem na serverech Ubuntu 18.04 LTS. Použijeme "kubeadm " nástroj pro nastavení klastru. Kubeadm je nástroj vytvořený tak, aby poskytoval "kubeadm init “ a „připojit se ke kubeadm " pro vytváření clusterů Kubernetes. Než přistoupíme k vytváření clusteru, pojďme si ve stručnosti porozumět několika termínům.

    1. Docker:
      Docker je otevřená platforma pro vývoj, odesílání a spouštění aplikací. Docker vám umožňuje oddělit vaše aplikace od vaší infrastruktury, abyste mohli rychle dodávat software. S Dockerem můžete spravovat infrastrukturu stejným způsobem, jakým spravujete své aplikace.
    2. Obrázek:
      Obrázek je šablona pouze pro čtení s pokyny pro vytvoření kontejneru Docker. Obrázek je často založen na jiném obrázku s dalšími úpravami
    3. Kontejner:
      Kontejner je spustitelná instance obrázku. Pomocí rozhraní Docker API nebo CLI můžete vytvořit, spustit, zastavit, přesunout nebo odstranit kontejner. Kontejner můžete připojit k jedné nebo více sítím, připojit k němu úložiště nebo dokonce vytvořit nový obrázek na základě jeho aktuálního stavu.
    4. Kubernetes:
      Kubernetes je open-source systém kontejnerové orchestrace pro automatizaci nasazení, škálování a správy aplikací.
    5. Uzly:
       Uzel představuje jeden počítač v klastru.
    6. Pods:
      A je skupina kontejnerů, které jsou nasazeny společně na stejném hostiteli. Je to základní prováděcí jednotka Kubernetes aplikace.
    7. Nasazení:
      Nasazení spouští více replik vaší aplikace a automaticky nahradí všechny instance, které selžou nebo přestanou reagovat. Poskytuje deklarativní aktualizace pro Pody a ReplicaSets.
    8. Sada replik:
      Zajišťuje, kolik replik podu by mělo být spuštěno. Lze jej považovat za náhradu řadiče replikace.
  • Řadič replikace:
    Je to supervizor pro dlouhotrvající lusky. Spustí zadaný počet modulů nazývaných repliky a zajistí, že budou neustále běžet.
  1. Služba:
    Jedná se o abstrakci, která definuje logickou sadu modulů a zásady, podle kterých k nim lze přistupovat.

API Server, etcd,  Controller Manager &Scheduler jsou komponenty Master a  Docker,  Kubelet Service a Kubernetes Proxy Service jsou komponenty Worker Node. Tyto komponenty v tomto dokumentu nebudeme rozebírat. Pokud se chcete o těchto komponentách dozvědět, můžete navštívit oficiální stránku Kubernetes zde.

Předpoklady

  1. 3 servery Ubuntu 18.04 s minimálně 2 GB RAM a 2 procesory.
  2. Systémový uživatel s přístupem „sudo“ na každém serveru.

Co uděláme

  1. Nastavte cluster Kubernetes pomocí kubeadm

Nastavení klastru Kubernetes pomocí kubeadm

Tady,

Máme 3 servery Ubuntu 18.04 LTS.

Server 1=uzel1
Server 2=uzel2
Server 3=hlavní

Než přistoupíme k samotné instalaci, změňme název hostitele serverů.

K nastavení názvu hostitele na každém serveru můžete použít následující příkazy. Po provedení následujících příkazů na každém serveru se znovu přihlaste k serverům, aby servery získaly nový název hostitele.

sudo hostnamectl set-hostname "master"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"

Chcete-li vyvolat funkční cluster Kubernets, postupujte podle kroků uvedených níže.

Získejte klíč gpg Docker (Na všech uzlech spusťte následující příkaz) :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Přidejte úložiště Docker(Spusťte následující příkaz na všech uzlech ) :

sudo add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
  stabilní“

Získejte klíč Kubernetes gpg(Spusťte následující příkaz na všech uzlech ) :

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

Přidejte úložiště Kubernetes(Spusťte následující příkaz na všech uzlech ) :

kočka <deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF

Aktualizujte své balíčky(Spusťte následující příkaz na všech uzlech )

aktualizace sudo apt-get

Nainstalujte Docker, kubelet, kubeadm a kubectl(Spusťte následující příkaz na všech uzlech ) :

sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00

Podržte je v aktuální verzi(Spusťte následující příkaz na všech uzlech ) :

sudo apt-mark hold docker-ce kubelet kubeadm kubectl

Přidejte pravidlo iptables do sysctl.conf (Spusťte následující příkaz na všech uzlech ) :

echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.conf

Okamžitě povolit iptables(Spusťte následující příkaz na všech uzlech :

sudo sysctl -p

Na hlavní :

Inicializujte cluster (Následující příkaz proveďte pouze na hlavním uzlu) :

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

Nastavit místní kubeconfig(Následující příkaz spusťte pouze v hlavním uzlu ) :

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

Použít překrytí sítě Flannel CNI(Následující příkaz spusťte pouze na hlavním uzlu ) :

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

Na Node1 a Node 2:

Připojte pracovní uzly ke clusteru (Spusťte následující příkaz pouze na Node1 a Node2) :

sudo kubeadm připojit se 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
   --discovery-token-ca-cert-hash sha256:7aa182504354e59194707aaa253f6454e5194

Ověřte, že se pracovní uzly úspěšně připojily ke clusteruProveďte následující příkaz na hlavním uzlu ) :

kubectl získat uzly

Závěr:

V tomto článku jsme se naučili nastavit Kubernetes Cluster pomocí nástroje kubeadm. Viděli jsme, jak snadno lze vytvořit cluster, pokud nevynecháte kroky a provedete správnou instalaci.


Ubuntu
  1. Jak nasadit Nginx Load Balancing na Kubernetes Cluster na Ubuntu 18.04 LTS

  2. Nastavte cluster Kubernetes pomocí Rancher

  3. Zvětšení místa na disku instance AWS EC2 ubuntu

  1. Vytvořte instanci EC2 na AWS pomocí Terraform

  2. Nastavte Nextcloud s Redis pomocí Dockeru

  3. Nastavte Kubernetes Cluster na Ubuntu 20.04 pomocí kubeadm

  1. Jak nainstalovat Kubernetes na Ubuntu 18.04

  2. Jak nastavit MongoDB Cluster pomocí 3 uzlů s Ubuntu 16?

  3. Používáte Ubuntu s nastavením na dvou obrazovkách?