Doneret af Google til Opensource -fællesskabet, Kubernetes er nu blevet det foretrukne containerhåndteringsværktøj. Det kan administrere og orkestrere ikke bare docker -driftstider, men også containere og Rkt driftstider.
En typisk Kubernetes klynge ville generelt have en masterknude og flere arbejdsknudepunkter eller Minions. Arbejderknuderne administreres derefter fra masternoden, hvilket sikrer, at klyngen administreres fra et centralt punkt.
Det er også vigtigt at nævne, at du også kan implementere en single-node Kubernetes-klynge, som generelt anbefales til meget lette, ikke-produktionsmæssige belastninger. Til dette kan du bruge Minikube, som er et værktøj, der kører en enkelt-node Kubernetes-klynge i en virtuel maskine på din knude.
Anbefalet læsning: Sådan installeres en Kubernetes -klynge på CentOS 8
I denne vejledning gennemgår vi en multi-node Kubernetes klynge installation på CentOS 7 Linux. Denne vejledning er kommandolinjebaseret, så du skal have adgang til dit terminalvindue.
Vores 3-node-klynge vil se sådan ud:
Til Kubernetes for at fungere, skal du bruge en containeriseringsmotor. Til denne installation vil vi bruge docker da det er det mest populære.
Følgende trin kører på Master-Node.
Angiv værtsnavnet på din hovednode, og hvis du ikke har en DNS -server, skal du også opdatere din /etc/hosts fil.
# hostnamectl set-hostname master-node. # kat <> /etc /hosts. 10.128.0.27 master-node. 10.128.0.29 node-1 worker-node-1. 10.128.0.30 node-2 worker-node-2. EOF.
Du kan pinge worker-node-1 og worker-node-2 for at teste, om din opdaterede hostfil er i orden med ping -kommando.
# ping 10.128.0.29. # ping 10.128.0.30.
Dernæst deaktiver SElinux og opdater dine firewall -regler.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = håndhævelse/SELINUX = deaktiveret/g'/etc/sysconfig/selinux. # genstart.
Angiv følgende firewallregler for porte. Sørg for, at hver firewall-cmd kommando, returnerer en succes.
# firewall-cmd-permanent-tilføj port = 6443/tcp. # firewall-cmd-permanent-tilføj port = 2379-2380/tcp. # firewall-cmd-permanent-tilføj port = 10250/tcp. # firewall-cmd-permanent-tilføj port = 10251/tcp. # firewall-cmd-permanent-tilføj port = 10252/tcp. # firewall-cmd-permanent-tilføj port = 10255/tcp. # firewall-cmd –reload. # modprobe br_netfilter. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Du bliver nødt til at tilføje Kubernetes lagre manuelt, da de ikke installeres som standard til CentOS 7.
kat </etc/yum.repos.d/kubernetes.repo. [kubernetes] navn = 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. EOF.
Med pakkerepoen klar nu, kan du fortsætte og installere kubeadm og docker pakker.
# yum installer kubeadm docker -y
Når installationen er gennemført, skal du aktivere og starte begge tjenester.
# systemctl aktivere kubelet. # systemctl start kubelet. # systemctl aktiver docker. # systemctl start docker.
Nu er vi klar til at initialisere kubernetes master, men før det skal du deaktivere swap for at køre "kubeadm init"Kommando.
# swapoff -a.
Initialisering af Kubernetes -master er en fuldautomatisk proces, der administreres af "kubeadm init“Kommando, som du vil køre.
# kubeadm init.
Du vil måske kopiere den sidste linje og gemme den et sted, fordi du bliver nødt til at køre den på arbejdsknudepunkter.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425d
Tip: Nogle gange klager denne kommando måske over argumenter (args) bestået, så rediger det for at undgå fejl. Så du vil slette ‘\’
karakter, der ledsager --polet
og din sidste kommando vil se sådan ud.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41.
Efter at have initialiseret Kubernetes med succes, skal du tillade din bruger at begynde at bruge klyngen. I vores tilfælde ønsker vi at køre denne installation som rod bruger, derfor vil vi gå videre og køre disse kommandoer som root. Du kan skifte til en sudo -aktiveret bruger du foretrækker og kør nedenstående ved hjælp af sudo.
At bruge rod, løb:
# mkdir -p $ HOME/.kube. # cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. # chown $ (id -u): $ (id -g) $ HOME/.kube/config.
At bruge en sudo -aktiveret bruger, løb:
$ mkdir -p $ HOME/.kube. $ sudo cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. $ sudo chown $ (id -u): $ (id -g) $ HOME/.kube/config.
Kontroller nu, om kubectl kommandoen er aktiveret.
# kubectl få noder.
På dette tidspunkt vil du også bemærke, at status for master-node er 'Ikke klar’. Dette er fordi vi endnu ikke skal implementere podnetværk til klyngen.
Det pod netværk er overlay -netværket til klyngen, der distribueres oven på det nuværende node -netværk. Det er designet til at tillade forbindelse på tværs af pod.
Implementering af netværksklyngen er en yderst fleksibel proces afhængigt af dine behov, og der er mange muligheder. Da vi ønsker at holde vores installation så enkel som muligt, vil vi bruge Weavenet plugin, der ikke kræver nogen konfiguration eller ekstra kode, og det giver en IP -adresse pr. pod, hvilket er godt for os. Hvis du vil se flere muligheder, tak tjek her.
Disse kommandoer vil være vigtige for at få opsat podnetværket.
# eksport kubever = $ (kubectl version | base64 | tr -d '\ n') # kubectl apply -f " https://cloud.weave.works/k8s/net? k8s-version = $ kubever "
Hvis du nu kontrollerer status for din master-node, det bør være 'Parat’.
# kubectl få noder.
Dernæst tilføjer vi arbejdsknudepunkter til klyngen.
Følgende trin kører på arbejdsknudepunkter. Disse trin bør køres på hver arbejdsknudepunkt når du tilmelder dig Kubernetes klynge.
På din worker-node-1 og worker-node-2, indstil værtsnavnet, og hvis du ikke har en DNS -server, skal du også opdatere din master- og arbejdsknudepunkter /etc/hosts fil.
# hostnamectl set-hostname 'node-1' # kat <> /etc /hosts. 10.128.0.27 master-node. 10.128.0.29 node-1 worker-node-1. 10.128.0.30 node-2 worker-node-2. EOF.
Du kan pinge master-node for at teste, om din opdaterede hostfil er fin.
Dernæst deaktiver SElinux og opdater dine firewall -regler.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = håndhævelse/SELINUX = deaktiveret/g'/etc/sysconfig/selinux.
Angiv følgende firewallregler for porte. Sørg for, at alle firewall-cmd-kommandoer returnerer succes.
# firewall-cmd-permanent-tilføj port = 6783/tcp. # firewall-cmd-permanent-tilføj port = 10250/tcp. # firewall-cmd-permanent-tilføj port = 10255/tcp. # firewall-cmd-permanent-tilføj port = 30000-32767/tcp. # firewall-cmd-genindlæs. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Du bliver nødt til at tilføje Kubernetes lagre manuelt, da de ikke kommer forudinstalleret CentOS 7.
kat </etc/yum.repos.d/kubernetes.repo. [kubernetes] navn = 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. EOF.
Med pakkerepoen klar nu, kan du fortsætte og installere kubeadm og docker pakker.
# yum installer kubeadm docker -y
Start og aktiver begge tjenester.
# systemctl aktiver docker. # systemctl start docker. # systemctl aktivere kubelet. # systemctl start kubelet.
Vi kræver nu symbolet det kubeadm init genereret, for at slutte sig til klyngen. Du kan kopiere og indsætte det på din knude-1 og knude-2 hvis du havde kopieret det et sted.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425d
Som foreslået på den sidste linje, gå tilbage til din master-node og tjek om arbejderknude-1 og arbejderknude-2 har sluttet sig til klyngen ved hjælp af følgende kommando.
# kubectl få noder.
Hvis alle trin kører, skal du se knude-1 og knude-2 i klar status på master-node.
Anbefalet læsning: Sådan implementeres Nginx på en Kubernetes -klynge
På dette tidspunkt har vi med succes gennemført en installation af en Kubernetes klynge på Centos 7 og vi har med succes bordet to arbejder-noder. Du kan nu begynde at oprette dine bælge og implementere dine tjenester.