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

Jak nainstalovat Kubernetes (k8s) 1.7 na CentOS 7 / RHEL 7

Kubernetes je klastr a orchestrování motor pro dokovací kontejnery. Jinými slovy Kubernetes je software nebo nástroj s otevřeným zdrojovým kódem, který se používá k orchestraci a správě kontejnerů dockerů v prostředí clusteru. Kubernetes je také známý jako k8s a byl vyvinut společností Google a darován „Cloud Native Computing Foundation“

V nastavení Kubernetes máme jeden hlavní uzel a více uzlů. Uzly clusteru jsou známé jako pracovní uzel nebo Minion. Z hlavního uzlu spravujeme cluster a jeho uzly pomocí ‘kubeadm ‘ a ‘kubectl ‘  příkaz.

Kubernetes lze nainstalovat a nasadit pomocí následujících metod:

  • Minikube (je to cluster kubernetes s jedním uzlem)
  • Kops (nastavení kubernetes s více uzly do AWS)
  • Kubeadm (multiuzlový klastr v našich vlastních prostorách)

V tomto článku nainstalujeme nejnovější verzi Kubernetes 1.7 na CentOS 7 / RHEL 7 pomocí nástroje kubeadm. V mém nastavení beru tři servery CentOS 7 s minimální instalací. Jeden server bude fungovat jako hlavní uzel a zbývající dva servery budou podřízené nebo pracovní uzly.

Na hlavní uzel budou nainstalovány následující součásti

  • Server API – Poskytuje kubernetes API pomocí Jason / Yaml přes http, stavy objektů API jsou uloženy v etcd
  • Plánovač   – Jedná se o program na hlavním uzlu, který provádí úkoly plánování, jako je spouštění kontejnerů v pracovních uzlech na základě dostupnosti zdrojů
  • Správce kontroléru – Hlavním úkolem správce kontroléru je monitorovat replikační kontroléry a vytvářet moduly pro udržení požadovaného stavu.
  • etcd – Jedná se o databázi párů klíčových hodnot. Ukládá konfigurační data clusteru a stavu clusteru.
  • Nástroj Kubectl – Je to nástroj příkazového řádku, který se připojuje k serveru API na portu 6443. Používají ho správci k vytváření modulů, služeb atd.

Na pracovních uzlech budou nainstalovány následující součásti

  • Kubelet – Je to agent, který běží na každém pracovním uzlu, připojuje se k dockeru a stará se o vytváření, spouštění a mazání kontejnerů.
  • Kube-Proxy – Směruje provoz do příslušných kontejnerů na základě IP adresy a čísla portu příchozího požadavku. Jinými slovy můžeme říci, že se používá pro překlad portů.
  • Pod – Pod lze definovat jako vícevrstvou nebo skupinu kontejnerů, které jsou nasazeny na jednom pracovním uzlu nebo hostiteli dockeru.

Kroky instalace Kubernetes 1.7 na CentOS 7 / RHEL 7

Na hlavním uzlu proveďte následující kroky

Krok 1:Zakažte SELinux a nastavte pravidla brány firewall

Přihlaste se ke svému hlavnímu uzlu kubernetes a pomocí následujících příkazů nastavte název hostitele a deaktivujte selinux

~]# hostnamectl set-hostname 'k8s-master'~]# exec bash~]# setenforce 0~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' / etc/sysconfig/selinux

Nastavte následující pravidla brány firewall.

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=6443/tcp[[email protected] ~]# firewall-cmd --permanent --add-port=2379-2380/ tcp[[chráněno e-mailem] ~]# firewall-cmd --permanent --add-port=10250/tcp[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=10251/tcp[[e-mail protected] ~]# firewall-cmd --permanent --add-port=10252/tcp[[e-mail protected] ~]# firewall-cmd --permanent --add-port=10255/tcp[[email protected] ~] # firewall-cmd --reload[[email protected] ~]# modprobe br_netfilter[[email protected] ~]# echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables

Poznámka: V případě, že nemáte svůj vlastní DNS server, aktualizujte soubor /etc/hosts na hlavním a pracovním uzlu

192.168.1.30 k8s-master192.168.1.40 worker-node1192.168.1.50 worker-node2

Zakažte Swap ve všech uzlech pomocí „swapoff -a ” a odstraňte nebo zakomentujte odkládací oddíly nebo odkládací soubor ze souboru fstab

Krok 2:Konfigurace úložiště Kubernetes

Balíčky Kubernetes nejsou dostupné ve výchozích úložištích CentOS 7 a RHEL 7. Ke konfiguraci úložišť balíčků použijte příkaz níže.

[[e-mail chráněný] ~]# kočka < /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 [[chráněno e-mailem] ~]#

Krok 3:Nainstalujte Kubeadm a Docker

Jakmile jsou úložiště balíčků nakonfigurována, spusťte příkaz beneath a nainstalujte balíčky kubeadm a docker.

[[email protected] ~]# yum install kubeadm docker -y

Spusťte a povolte službu kubectl a docker

[[e-mail chráněno] ~]# systemctl restart docker &&systemctl povolit docker[[email protected] ~]# systemctl  restart kubelet &&systemctl povolit kubelet

Krok 4:Inicializujte Kubernetes Master pomocí „kubeadm init“

Spusťte níže uvedený příkaz pro inicializaci a nastavení kubernetes master.

[[email protected] ~]# init kubeadm

Výstup výše uvedeného příkazu by byl něco jako níže

Jak můžeme vidět na výstupu, kubernetes master byl úspěšně inicializován. Chcete-li použít cluster jako uživatel root, spusťte níže uvedené příkazy.

[[chráněn e-mailem] ~]# mkdir -p $HOME/.kube[[chráněn e-mailem] ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config[[chráněn e-mailem] ~]# chown $(id -u):$(id -g) $HOME/.kube/config

Krok 5:Nasaďte síť pod do clusteru

Zkuste spustit níže uvedené příkazy, abyste získali stav clusteru a podů.

Aby byl stav clusteru připraven a stav kube-dns spuštěn, nasaďte síť pod tak, aby kontejnery různých hostitelů spolu komunikovaly. Síť POD je překryvná síť mezi pracovními uzly.

Spusťte příkaz beneath pro nasazení sítě.

[[e-mail chráněný] ~]# export kubever=$(verze kubectl | base64 | tr -d '\n')[[e-mail chráněn] ~]# kubectl použít -f "https://cloud.weave. works/k8s/net?k8s-version=$kubever"serviceaccount "weave-net" createdclusterrole "weave-net" createdclusterrolebinding "weave-net" createddaemonset "weave-net" created[[email protected] ~]#

Nyní spusťte následující příkazy k ověření stavu

[Pre> [[Ochrana e-mailu] ~]# Kubectl Získat stav uzel Age VersionK8s-Master Ready 1H V1.7.5 [[chráněno e-mailem] ~]# Kubectl Získat podss-Alal-NameSpacesNamesSpace Připravena status Restarty Agekube-System -Master 1/1 Běh 0 57MKUBE-SYSTEM KUBE-APISERVER-K8S-MASTER 1/1 BUNDING 0 57MKUBE-SYMENT KUBE-KONTROLLER-MASER-MASTER 1/1 BUNDING 0 57MKUBE-SYMENT KUBE-DNS-2425271678-044WW 3 /3 Běh 0 1HKUBE-SYSTEM KUBE-PROXY-9H259 1/1 BUNDING 0 1HKUBE-SYMENT Kube-Scheduler-K8S-MASTER 1/1 BUNDING 0 57MKUBE-SYSTEM Weave-Netjjzd 2/2 spuštěn 0 7 m [e-mail chráněn ] ~]#

Nyní přidejte pracovní uzly do hlavních uzlů Kubernetes.

Proveďte následující kroky na každém pracovním uzlu

Krok 1:Zakažte SELinux a nakonfigurujte pravidla brány firewall na obou uzlech

Před deaktivací SELinux nastavte název hostitele na obou uzlech na ‚pracovní-uzel1‘ a ‚pracovní-uzel2‘

~]# setenforce 0~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux~]# firewall-cmd --permanent --add -port=10250/tcp~]# firewall-cmd --permanent --add-port=10255/tcp~]# firewall-cmd --permanent --add-port=30000-32767/tcp~]# firewall-cmd --permanent --add-port=6783/tcp~]# firewall-cmd  --reload~]# echo '1'> /proc/sys/net/bridge/bridge-nf-call-iptables

Krok 2:Konfigurace úložiště Kubernetes na obou pracovních uzlech

~]# kočka < /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

Krok 3:Nainstalujte balíček kubeadm a docker na oba uzly

[[e-mail chráněný] ~]# yum  instalace kubeadm docker -y[[email protected] ~]# yum  instalace kubeadm docker -y

Spusťte a povolte službu docker

[[e-mail chráněno] ~]# systemctl restart docker &&systemctl povolit ukotvitelný panel[[email protected] ~]# systemctl restart docker &&systemctl povolit ukotvitelný panel

Krok 4:Nyní připojte pracovní uzly k hlavnímu uzlu

Pro připojení pracovních uzlů k hlavnímu uzlu je vyžadován token. Kdykoli se inicializuje kubernetes master, pak ve výstupu dostaneme příkaz a token. Zkopírujte tento příkaz a spusťte jej na obou uzlech.

[[email protected] ~]# připojení ke kubeadm --token a3bd48.1bc42347c3b35851 192.168.1.30:6443

Výstup výše uvedeného příkazu by byl něco jako níže

[[email protected] ~]# připojení ke kubeadm --token a3bd48.1bc42347c3b35851 192.168.1.30:6443

Výstup by byl něco jako níže

Nyní ověřte stav uzlů z hlavního uzlu pomocí příkazu kubectl

[Pre> [[Ochrana e-mailu] ~]# Kubectl Získejte uzel Stav Age versionK8s-Master Ready 2H V1.7.5worker-Node1 Ready 20M V1.7.5worker-Node2 Ready 18M V1.7.5 [[E-mail chráněn] ~]#

Jak vidíme, hlavní a pracovní uzly jsou ve stavu připravenosti. Z toho vyplývá, že kubernetes 1.7 byl úspěšně nainstalován a také jsme úspěšně spojili dva pracovní uzly. Nyní můžeme vytvářet moduly a služby.

Podělte se o své názory a komentáře pro případ, že vám tento článek pomůže nainstalovat nejnovější verzi kubernetes 1.7


Cent OS
  1. Jak nainstalovat Icinga 2 na CentOS 8 / RHEL 8

  2. Jak nainstalovat MongoDB na CentOS 8 / RHEL 8

  3. Jak nainstalovat Firefox 10 na CentOS 6 / RHEL 6

  1. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8

  2. Jak nainstalovat P7Zip na RHEL 8 / CentOS 8

  3. Jak nainstalovat ntfs-3g na RHEL 8 / CentOS 8

  1. Jak nainstalovat PHP-mbstring na RHEL 8 / CentOS 8

  2. Jak nainstalovat phantomjs na RHEL 8 / CentOS 8

  3. Jak nainstalovat Dropbox na RHEL 8 / CentOS 8