Juurutage Kubernetes koos Kubeadmiga CentOS 7-s

Ülevaade

Selle artikli eesmärk on aidata teil Kubernetese klastri kubeadmiga kiiresti tööle panna. Selles juhendis juurutatakse kaks serverit, üks ülem ja üks töötaja, kuid saate juurutada nii palju servereid, kui soovite.

Mis on kubeadm?

Kubeadm on Kubernetese välja töötatud tööriist, mis võimaldab parimaid tavasid järgides luua minimaalse elujõulise klastri. See käivitab ainult teie klastri, mitte varustab masinaid. Sellised asjad nagu lisandmoodulid, Kubernetese armatuurlaud, seirelahendused ja nii edasi ei ole midagi, mida kubeadm teie heaks ei tee.

Eeltingimused

Meie juurutatavatele serveritele kehtivad mõned nõuded. Üks või mitu masinat, kus töötab deb/rpm-ühilduv OS. Me kasutame CentOS-i.

  • 2 GB või rohkem RAM-i masina kohta
  • 2 või enam protsessorit põhiseadmel

Täielik võrguühendus kõigi klastri masinate vahel

Kaks selles juhendis juurutatud serverit on järgmised: - 1 CPU 2 GB RAM koos CentOS 7 (Worker Node) - 2 CPU 4 GB RAM koos CentOS 7 (peasõlm)

Kui mõlemas serveris on selline hulk RAM-i, on Kubernetesil piisavalt ruumi hingamiseks.

Töötaja ja kapteni seadistamine

Siin on sammud, mida peame tegema nii põhi- kui ka töötaja sõlme puhul:

  • Nami värskendus ja paketid
  • Installige dokk
  • Keela selinux
  • Keela vahetus
  • Keela tulemüür
  • Värskendage IPTables
  • Installige kubelet/kubeadm/kubectl

Dockeri installimine

1.14Selles õpetuses kasutame Kubernetese versiooni . Selle versiooni jaoks soovitab Kubernetes käivitada Dockeri versiooni 18.06.2. Kontrollige kindlasti oma Kuberenetesi versiooni jaoks soovitatud Dockeri versiooni

Lisame yumi Dockeri hoidla ja installime spetsiaalselt 18.06.2. Kui Docker on installitud, peame konfigureerima dockeri deemoni Kubernetese soovitatud sätete järgi.

###Add yum-utils, if not installed already
yum install yum-utils

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

###Install Docker CE.
yum update && yum install docker-ce-18.06.2.ce

###Create /etc/docker directory.
mkdir /etc/docker

###Setup daemon.
cat > /etc/docker/daemon.json <<EOF
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2",
  "storage-opts": [
    "overlay2.override_kernel_check=true"
  ]
}
EOF

mkdir -p /etc/systemd/system/docker.service.d

###Restart Docker
systemctl daemon-reload
systemctl enable docker.service
systemctl restart docker

Keela SELinux

Kuna me kasutame CentOS-i, peame SELinuxi keelama. See on vajalik konteineritele juurdepääsu võimaldamiseks hosti failisüsteemile.

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disable/' /etc/selinux/config

Keela vahetus

Kubeleti korrektseks töötamiseks tuleb vahetus keelata.

sed -i '/swap/d' /etc/fstab
swapoff -a

Keela tulemüür

Kubernetes kasutab sissetuleva ja väljamineva liikluse haldamiseks IPTablesi – nii et probleemide vältimiseks keelame tulemüüri.

systemctl disable firewalld
systemctl stop firewalld

Värskendage IPTables

Kubernetes soovitab tagada, et see net.bridge.bridge-nf-call-iptablesoleks seatud väärtusele 1. Selle põhjuseks on probleemid, mille puhul REHL/CentOS 7-l on olnud probleeme liikluse valesti ümbersuunamisega iptablesist möödahiilimise tõttu.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Installige kubelet/kubeadm/kubectl

Peame yumi lisama kubernetes repo. Kui oleme seda teinud, peame lihtsalt käivitama installikäskluse ja lubama kubeleti.

cat <<EOF > /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
exclude=kube*
EOF

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable --now kubelet

Nüüd oleme täielikult konfigureerinud nii oma põhi- kui ka töötaja sõlme. Nüüd saame lähtestada oma põhisõlme ja ühendada oma töötaja sõlmed juhtsõlmega!

Märkus. Kui soovite lisada rohkem töötaja sõlme, tuleb ülaltoodud protsess läbi viia ka kõigi nende sõlmedega.

Põhisõlme seadistamine

Tahame oma põhisõlme lähtestada, käivitades järgmise käsu. Soovite asendada oma põhisõlme IP-aadress allolevas käsus. Lisaks edastame faili pod-network-cidr, et hõlbustada meie jaoks hiljem Flanelli võrgukatte installimist.

kubeadm init --apiserver-advertise-address=YOUR_IP_HERE --pod-network-cidr=10.244.0.0/16

Selle lõpuleviimine võib veidi aega võtta, kuid kui see on lõpetatud, näete väljundi lõpus midagi sarnast, näiteks järgmist.

kubeadm join YOUR_IP:6443 --token 4if8c2.pbqh82zxcg8rswui \
--discovery-token-ca-cert-hash sha256:a0b2bb2b31bf7b06bb5058540f02724240fc9447b0e457e049e59d2ce19fcba2

See käsk on see, mida teie töötaja sõlmed peavad klastriga liitumiseks täitma, seega võtke see teadmiseks.

Järgmine on flanell. Flanell on see, mis võimaldab kaunade vahel suhelda. Saate installida mitut muud tüüpi võrgukatteid, kuid lihtsuse huvides kasutatakse selles juhendis flanelli.

Kopeerige kube/configfail oma, $Homeet saaksite kubectlkäske täita .

mkdir $HOME/.kube
cp /etc/kubernetes/admin.conf $HOME/.kube/config

Üks viimane samm põhisõlmes on Flanelli installimine. Käivitage järgmine käsk.

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

Kui see konfiguratsioon on üle kopeeritud, saate käivitada kubectl get csja saada vastuse.

NAME                 STATUS    MESSAGE             ERROR
scheduler            Healthy   ok
controller-manager   Healthy   ok
etcd-0               Healthy   {"health":"true"}

Teie põhisõlm on seadistatud ja kasutamiseks valmis. Töötaja sõlme!

Töötaja sõlm

Praegu pole töötaja sõlme jaoks vaja lisatööd. Kõik, mida peame tegema, on käivitada kubeadm joinkäsk, mille saime oma kubeadm initväljundist.

Kui olete juhuslikult kubeadm liitumiskäsu valesti paigutanud, saate selle genereerida põhisõlmes käivitades kubeadm token create --print-join-command

Kui olete käivitanud käsu kubeadm join, näete kubectl get nodesmaster- käsuga sarnast väljundit.

NAME          STATUS   ROLES    AGE    VERSION
k8-master   Ready    master   107m   v1.14.2
k8-worker   Ready    <none>   45m    v1.14.2

Pakkimine

Nii nagu olete Kubernetese klastri kubeadmi abil alglaadinud. Seda saate teha ka privaatvõrkudega. Vultr, nagu ka teised pilveteenuse pakkujad, võimaldavad privaatvõrke. Samuti, kui soovite käivitada kubectli käske kohalikust masinast oma klastri vastu, saate seda teha nii, et kubectl installitakse kohapeal ja tõmmatakse .kube/configfail klastrist kohalikku masinasse $HOME/.kube/config.

Loodetavasti aitab see juhend teil kubeadmi läbida ja paneb teid kiiresti kubernetesega mängima!

Kasulikud lingid:

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit