Dovanojo „Google“ „Opensource“ bendruomenei, Kubernetas dabar tapo pasirinktu konteinerių valdymo įrankiu. Jis gali valdyti ir organizuoti ne tik dokų veikimo laiką, bet ir konteinerius bei Rkt vykdymo laikas.
Tipiškas Kubernetas klasteris paprastai turėtų pagrindinį mazgą ir kelis darbuotojo mazgus arba Minions. Tada darbuotojų mazgai valdomi iš pagrindinio mazgo, taip užtikrinant, kad grupė būtų valdoma iš centrinio taško.
Taip pat svarbu paminėti, kad taip pat galite įdiegti vieno mazgo „Kubernetes“ grupę, kuri paprastai rekomenduojama labai mažoms, ne gamybos apkrovoms. Tam galite naudoti Minikubas, kuris yra įrankis, kuris paleidžia vieno mazgo „Kubernetes“ grupę virtualioje mašinoje jūsų mazge.
Rekomenduojama perskaityti: Kaip įdiegti „Kubernetes“ grupę „CentOS 8“
Šioje pamokoje mes eisime per kelis mazgus Kubernetas klasterio diegimas įjungtas „CentOS 7“ Linux. Ši pamoka yra pagrįsta komandų eilute, todėl jums reikės prieigos prie terminalo lango.
Mūsų 3 mazgų grupė atrodys maždaug taip:
Dėl Kubernetas Norėdami dirbti, jums reikės konteinerių variklio. Šiam diegimui naudosime dokininkas nes jis yra populiariausias.
Toliau nurodyti veiksmai bus vykdomi Pagrindinis mazgas.
Pagrindiniame mazge nustatykite pagrindinio kompiuterio pavadinimą ir, jei neturite DNS serverio, taip pat atnaujinkite /etc/hosts failą.
# hostnamectl set-hostname master-node. # katė <> /etc /hosts. 10.128.0.27 pagrindinis mazgas. 10.128.0.29 mazgas-1 darbuotojas-mazgas-1. 10.128.0.30 mazgas-2 darbuotojas-mazgas-2. EOF.
Galite ping darbininkas-mazgas-1 ir darbuotojas-mazgas-2 kad patikrintumėte, ar atnaujintas prieglobos failas yra tinkamas naudojant ping komandą.
# ping 10.128.0.29. # ping 10.128.0.30.
Tada išjunkite SElinux ir atnaujinkite užkardos taisykles.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = vykdymas/SELINUX = išjungta/g'/etc/sysconfig/selinux. # perkraukite.
Uostuose nustatykite šias užkardos taisykles. Įsitikinkite, kad kiekvienas komanda ugniasienė-cmd, grąžina sėkmę.
# ugniasienė-cmd --permanent --add-port = 6443/tcp. # firewall-cmd --permanent --add-port = 2379-2380/tcp. # ugniasienė-cmd --permanent --add-port = 10250/tcp. # ugniasienė-cmd --permanent --add-port = 10251/tcp. # ugniasienė-cmd --permanent --add-port = 10252/tcp. # ugniasienė-cmd --permanent --add-port = 10255/tcp. # užkarda-cmd-įkelti iš naujo. # modprobe br_netfilter. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Jums reikės pridėti Kubernetas saugyklos rankiniu būdu, nes jos neįdiegtos pagal numatytuosius nustatymus „CentOS 7“.
katė </etc/yum.repos.d/kubernetes.repo. [kubernetas] pavadinimas = Kubernetas. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. įjungta = 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.
Kai paketo atpirkimas dabar paruoštas, galite tęsti ir įdiegti kubeadm ir dokininkas paketai.
# yum install kubeadm docker -y
Kai diegimas bus sėkmingai baigtas, įjunkite ir paleiskite abi paslaugas.
# systemctl įgalinti kubelet. # systemctl paleisti kubelet. # systemctl įgalinti doką. # systemctl paleisti doką.
Dabar esame pasirengę inicijuoti „kubernetes master“, tačiau prieš tai turite išjungti apsikeitimą, kad galėtumėte paleisti „kubeadm init“Komanda.
# apsikeitimas --a.
„Kubernetes master“ inicijavimas yra visiškai automatizuotas procesas, kurį valdo „kubeadm init“Komanda, kurią vykdysite.
# kubeadm init.
Galbūt norėsite nukopijuoti paskutinę eilutę ir ją kažkur išsaugoti, nes turėsite ją paleisti darbininko mazgai.
kubeadm prisijungti 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425c
Patarimas: Kartais ši komanda gali skųstis argumentai (args) praėjo, todėl redaguokite, kad išvengtumėte klaidų. Taigi, jūs ištrinsite ‘\’
simbolis, lydintis --tokenas
ir jūsų paskutinė komanda atrodys taip.
kubeadm prisijungti 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd
Pradėjus inicijuoti Kubernetas sėkmingai, turėsite leisti savo vartotojui pradėti naudoti grupę. Mūsų atveju norime paleisti šį diegimą kaip šaknis vartotojas, todėl eisime į priekį ir paleisime šias komandas kaip root. Galite pakeisti į a sudo įgalintas vartotojas pageidaujate ir paleiskite žemiau esantį naudodami sudo.
Naudoti šaknis, paleisti:
# mkdir -p $ HOME/.kube. # cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. # chown $ (id -u): $ (id -g) $ HOME/.kube/config.
Norėdami naudoti a sudo įgalintas vartotojas, paleisti:
$ mkdir -p $ HOME/.kube. $ sudo cp -i /etc/kubernetes/admin.conf $ HOME/.kube/config. $ sudo chown $ (id -u): $ (id -g) $ HOME/.kube/config.
Dabar patikrinkite, ar kubectl komanda įjungta.
# kubectl gauti mazgus.
Šiuo metu taip pat pastebėsite, kad pagrindinis mazgas yra 'Nepasirengusi’. Taip yra todėl, kad mes dar dislokuojame pod tinklas į klasterį.
The pod tinklas yra klasterio perdangos tinklas, kuris yra dislokuotas dabartinio mazgo tinklo viršuje. Jis suprojektuotas taip, kad būtų galima prijungti visas dėžutes.
Tinklo klasterio diegimas yra labai lankstus procesas, atsižvelgiant į jūsų poreikius, ir yra daug galimybių. Kadangi norime, kad mūsų diegimas būtų kuo paprastesnis, mes jį naudosime Weavenet įskiepis, kuriam nereikia jokios konfigūracijos ar papildomo kodo, ir jis suteikia vieną IP adresą kiekvienam podui, kuris mums puikiai tinka. Jei norite pamatyti daugiau variantų, prašome patikrinkite čia.
Šios komandos bus svarbios norint nustatyti pod tinklo nustatymus.
# eksportuoti kubever = $ (kubectl versija | base64 | tr -d '\ n') # kubectl Apply -f " https://cloud.weave.works/k8s/net? k8s-version = $ kubever "
Dabar, jei patikrinsite savo būseną pagrindinis mazgas, turėtų būti 'Paruošta’.
# kubectl gauti mazgus.
Toliau pridedame darbininko mazgai į klasterį.
Toliau nurodyti veiksmai bus vykdomi darbininko mazgai. Šie veiksmai turėtų būti atliekami kiekvieną kartą darbuotojo mazgas prisijungus prie Kubernetas klasteris.
Ant tavo darbininkas-mazgas-1 ir darbuotojas-mazgas-2, nustatykite pagrindinio kompiuterio pavadinimą ir, jei neturite DNS serverio, taip pat atnaujinkite pagrindinius ir darbuotojo mazgus /etc/hosts failą.
# hostnamectl set-hostname 'node-1' # katė <> /etc /hosts. 10.128.0.27 pagrindinis mazgas. 10.128.0.29 mazgas-1 darbuotojas-mazgas-1. 10.128.0.30 mazgas-2 darbuotojas-mazgas-2. EOF.
Galite ping pagrindinis mazgas kad patikrintumėte, ar atnaujintas prieglobos failas yra tinkamas.
Tada išjunkite SElinux ir atnaujinkite užkardos taisykles.
# setenforce 0. # sed -i --follow -symlinks 's/SELINUX = vykdymas/SELINUX = išjungta/g'/etc/sysconfig/selinux.
Uostuose nustatykite šias užkardos taisykles. Įsitikinkite, kad visos ugniasienės cmd komandos grąžina sėkmę.
# ugniasienė-cmd --permanent --add-port = 6783/tcp. # ugniasienė-cmd --permanent --add-port = 10250/tcp. # ugniasienė-cmd --permanent --add-port = 10255/tcp. # firewall-cmd --permanent --add-port = 30000-32767/tcp. # užkarda-cmd-įkelti iš naujo. # echo '1'>/proc/sys/net/bridge/bridge-nf-call-iptables.
Jums reikės pridėti Kubernetas saugyklos rankiniu būdu, nes jos nėra iš anksto įdiegtos „CentOS 7“.
katė </etc/yum.repos.d/kubernetes.repo. [kubernetas] pavadinimas = Kubernetas. baseurl = https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64. įjungta = 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.
Kai paketo atpirkimas dabar paruoštas, galite tęsti ir įdiegti kubeadm ir dokininkas paketai.
# yum install kubeadm docker -y
Paleiskite ir įjunkite abi paslaugas.
# systemctl įgalinti doką. # systemctl paleisti doką. # systemctl įgalinti kubelet. # systemctl paleisti kubelet.
Dabar mums reikia to ženklo kubeadm init, kad prisijungtumėte prie klasterio. Galite nukopijuoti ir įklijuoti jį į savo mazgas-1 ir mazgas-2 jei būtum ją kur nors nukopijavęs.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256: f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425c
Kaip siūloma paskutinėje eilutėje, grįžkite prie savo pagrindinis mazgas ir patikrinkite, ar darbuotojo mazgas-1 ir darbuotojo mazgas-2 prisijungė prie grupės naudodami šią komandą.
# kubectl gauti mazgus.
Jei visi veiksmai bus sėkmingai atlikti, turėtumėte pamatyti mazgas-1 ir mazgas-2 parengties būsenoje pagrindinis mazgas.
Rekomenduojama perskaityti: Kaip įdiegti „Nginx“ „Kubernetes“ grupėje
Šiuo metu sėkmingai baigėme įdiegti Kubernetas klasteris Centas 7 ir mes sėkmingai įlaipinome du darbininkai-mazgai. Dabar galite pradėti kurti savo ankštis ir diegti savo paslaugas.