Sådan installeres en Kubernetes-klynge på CentOS 7

Video: En hurtig forklaring af Docker og hvad det kan gøre for erhvervslivet Hvis du arbejder inden for it, har du sandsynligvis hørt om Docker. Men i tilfælde af at du ikke er helt sikker på, hvad det er, her er en hurtig forklaring af teknologien og dens egenskaber.

Kubernetes er et open-source-system, der bruges til at automatisere implementering, skalering og styring af containeret applikationer. Kubernetes er enterprise-klar og kan installeres på forskellige platforme. Jeg har allerede berørt, hvordan man får Kubernetes i gang på Ubuntu Server (se "Sådan installeres Kubernetes hurtigt på Ubuntu"). Denne gang vil jeg lede dig gennem processen med at oprette en Kubernetes-klynge på CentOS 7. Dette giver en fremragende en-to-punch til dine containertilførsler.

Hvad du har brug for

Jeg demonstrerer med tre CentOS 7-servere (på følgende IP-adresser):

  • kubemaster: 192.168.1.99
  • kube2: 192.168.1.109
  • kube3: 192.168.1.167

Sørg for at ændre IP-adresserne, så de passer til dine behov. Du har også brug for rodadgang på alle tre servere. Jeg foreslår, at du først tester dette på virtuelle maskiner, før du prøver installationen på produktionsservere.

Når det er sagt, lad os installere.

Pre-installation konfiguration

Den første ting, du vil gøre, er at konfigurere din / etc / hosts- fil, så hver maskine kan pinge hinanden via værtnavnet. Så på hver maskine skal du udstede su-kommandoen (for at skifte til rodbrugeren) og derefter redigere filen med kommandoen nano / etc / hosts . I slutningen af ​​filen skal du tilføje følgende (igen, justere IP-adresserne, så de passer til dine behov):

 192.168.1.99 kubemaster 192.168.1.109 kube2 192.168.1.167 kube3 

Gem og luk filen.

Deaktiver SELinux og swap

Nu skal vi deaktivere både SELinux og swap. Udgiv følgende kommandoer på alle tre maskiner:

 setenforce 0 sed -i - Følg-symlinks 's / SELINUX = håndhæve / SELINUX = deaktiveret / g' / etc / sysconfig / selinux 

Deaktiver derefter swap (på alle tre maskiner) med følgende kommando:

 swapoff -a 

Vi skal også sikre, at swap ikke genaktiveres under en genstart på hver server. Åbn / etc / fstab og kommenter swapposten som denne:

 # / dev / mapper / centos-swap swap swap er standard 0 0 

Aktivér br_netfilter

Til vores næste trick aktiverer vi br_netfilter-kernemodulet på alle tre servere. Dette gøres med følgende kommandoer:

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

Installer Docker-ce

Det er tid til at installere det nødvendige Docker-værktøj. På alle tre maskiner skal du installere Docker-ce-afhængigheder med følgende kommando:

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

Derefter skal du tilføje Docker-ce-arkivet med kommandoen:

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

Installer Docker-ce med kommandoen:

 yum install -y docker-ce 

Installer Kubernetes

Dette gøres også på alle tre servere. Først skal vi oprette et depot for yum. For at gøre dette skal du udstede kommandoen nano /etc/yum.repos.d/kubernetes.repo og derefter tilføje følgende indhold:

 kubernetes name = Kubernetes baseurl = https: //packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 aktiveret = 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 

Gem og luk filen. Installer Kubernetes med kommandoen:

 yum installere -y kubelet kubeadm kubectl 

Når installationen er afsluttet, skal du genstarte alle tre maskiner. Så snart hver maskine er genstartet, skal du logge ind igen og sige til rodbrugeren.

Cgroup ændres

Nu er vi nødt til at sikre, at både Docker-ce og Kubernetes hører til den samme kontrolgruppe (cgroup). Som standard skulle Docker allerede tilhøre cgroupfs (du kan kontrollere dette med kommandodokeren info | grep -i cgroup ). Hvis du vil tilføje Kubernetes til dette, skal du udstede kommandoen:

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

Genstart systemdæmonen og kubelet-tjenesten med kommandoerne:

 systemctl daemon-reload systemctl genstart kubelet 

Initialiser Kubernetes-klyngen

Vi er nu klar til at initialisere Kubernetes-klyngen. Dette gøres på kubemaster (og kun på den maskine). På kubemaster skal du udstede kommandoen (igen, justere IP-adresserne, så de passer til dine behov):

 kubeadm init --apiserver-Annoncere-adresse = 192.168.1.99 --pod-netværk-cidr = 192.168.1.0 / 16 

Når dette er afsluttet (det vil tage alt fra 30 sekunder til 5 minutter), skal output indeholde sammenføjningskommandoen for dine noder ( figur A ).

Figur A

Outputet fra Kubernetes cluster-initialiseringskommandoen.


Når dette er afsluttet, skal du gå over til kube2 og udstede kommandoen (justere IP-adressen, så den passer til dine behov):

 kubeadm join 192.168.1.99:6443 - token TOKEN - opdagelse-token-ca-cert-hash DISCOVERY_TOKEN 

Hvor TOKEN og DISCOVERY_TOKEN er symbolerne, der vises, når initialiseringskommandoen er afsluttet.

Konfiguration af Kubernetes

Inden Kubernetes kan bruges, skal vi sørge for en smule konfiguration. Udsted følgende tre kommandoer (for at oprette et nyt .kube-konfigurationsmappe, kopiere den nødvendige konfigurationsfil og give filen det rette ejerskab):

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

Implementere flanellets netværk

Nu skal vi distribuere flanellets netværk til klyngen med kommandoen:

 kubectl Apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml 

Kontrol af dine noder

Når distributionskommandoen er afsluttet, skal du være i stand til at se begge noder på masteren ved at udstede kommandoen kubectl get nodes ( figur B ).

Figur B

Vores knudepunkter er klar.


Helt klar

Tillykke, du har nu en Kubernetes-klynge klar til bælg. Jeg vil demonstrere, hvordan du implementerer din første pod, når vi næste gang besøger emnet Kubernetes. Indtil da glad klynge!

© Copyright 2021 | mobilegn.com