Kubernetese klastri installimine CentOS 7-sse
Google on annetanud kogukonnale Opensource, Kubernetesest on nüüd saanud valitud konteinerite haldamise tööriist. See suudab hallata ja orkestreerida mitte ainult dokkimisaja, vaid ka konteinerite ja Rkt käitusi.
Tüüpilisel Kubernetese klastril oleks üldjuhul põhisõlm ja mitu töölisesõlme ehk Minioni. Töötajate sõlmi hallatakse seejärel põhisõlmest, tagades seega klastri haldamise kesksest punktist.
Samuti on oluline mainida, et saate juurutada ka ühe sõlmpunkti Kubernetese klastri, mida soovitatakse tavaliselt väga väikeste, tootmisega mitteseotud töökoormuste korral. Selleks saate kasutada Minikube'i, mis on tööriist, mis käitab teie sõlme virtuaalses masinas ühe sõlmpunkti Kubernetes.
Soovitatav lugemine: Kuidas installida Kubernetes klastrit CentOS 8-le
Selle õpetuse jaoks tutvustame CentOS 7 Linuxis mitme sõlmega Kubernetes klastri installimist. See õpetus on käsureal põhinev, nii et teil on vaja juurdepääsu terminaliaknale.
- mitu serverit, mis käitavad Centos 7 (1 põhisõlm, 2 töölissõlme). Soovitav on, et teie põhisõlmel oleks vähemalt 2 protsessorit, kuigi see pole range nõue.
- Interneti-ühendus kõigis teie sõlmedes. Toome hoidlast Kubernetese ja dokkeri pakette. Samamoodi peate veenduma, et yumi paketihaldur on vaikimisi installitud ja suudab pakette kaugtõmmata.
- Teil on vaja juurdepääsu ka sudo või root õigustega kontole. Selles õpetuses kasutan oma juurkontot.
Meie kolmesõlmeline klaster näeb välja umbes selline:
Kubernetes klastri installimine Master-Node'ile
Kubernetese töötamiseks vajate konteinerimootorit. Selle installi jaoks kasutame dokkijat, kuna see on kõige populaarsem.
Järgmised toimingud käivitatakse Master-Node'is.
Määrake oma põhisõlmes hostinimi ja kui teil pole DNS-serverit, värskendage ka oma faili/etc/hosts.
# hostnamectl set-hostname master-node # cat <<EOF>> /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
Võite ping-käsu abil pingutada töötaja-sõlm-1 ja töötaja-sõlm-2, et testida, kas teie värskendatud hostifail on korras.
# ping 10.128.0.29 # ping 10.128.0.30
Järgmisena keelake SElinux ja värskendage oma tulemüüri reegleid.
# setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # reboot
Pordides määrake järgmised tulemüüri reeglid. Veenduge, et iga tulemüüri cmd käsk tagastaks edukuse.
# firewall-cmd --permanent --add-port=6443/tcp # firewall-cmd --permanent --add-port=2379-2380/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10251/tcp # firewall-cmd --permanent --add-port=10252/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd –reload # modprobe br_netfilter # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
Peate Kubernetese hoidlad käsitsi lisama, kuna neid pole CentOS 7-s vaikimisi installitud.
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 EOF
Kui pakettide repo on nüüd valmis, saate jätkata ja installida pakette kubeadm ja docker.
# yum install kubeadm docker -y
Kui installimine on edukalt lõpule jõudnud, lubage ja käivitage mõlemad teenused.
# systemctl enable kubelet # systemctl start kubelet # systemctl enable docker # systemctl start docker
Nüüd oleme valmis kubernetese master initsialiseerima, kuid enne seda peate käsu „kubeadm init“ käivitamiseks keelama vahetamise.
# swapoff -a
Kubernetes master'i lähtestamine on täielikult automatiseeritud protsess, mida haldab käsk "kubeadm init", mida käivitate.
# kubeadm init
Võimalik, et soovite viimase rea kopeerida ja kuhugi salvestada, kuna peate selle käivitama töötaja sõlmedes.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Nõuanne. Mõnikord võib see käsk kurta vastuvõetud argumentide üle, nii et vigade vältimiseks muutke seda. Niisiis, kustutate tähisega --token
kaasneva tähe ‘\’
ja teie viimane käsk näeb välja selline.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Kui Kubernetes on edukalt lähtestatud, peate lubama kasutajal klastrit kasutama hakata. Meie puhul tahame selle installi käivitada juurkasutajana, seetõttu jätkame neid käske juurkasutajana. Võite minna eelistatult sudo-toega kasutajaks ja käivitada sudo abil allpool toodud juhised.
Juure kasutamiseks käivitage:
# mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # chown $(id -u):$(id -g) $HOME/.kube/config
Sudo-toega kasutaja kasutamiseks käivitage:
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Nüüd kontrollige, kas käsk kubectl on aktiveeritud.
# kubectl get nodes
Siinkohal märkate ka, et põhisõlme olek on ‘NotReady’. Seda seetõttu, et meil pole veel pod-võrku klastrisse juurutatud.
Pod-võrk on klastri ülekattevõrk, mis on paigutatud praeguse sõlmevõrgu peale. See on loodud ühendamiseks kogu kaussi ulatuses.
Võrguklastri juurutamine on teie vajadustest sõltuvalt väga paindlik protsess ja saadaval on palju võimalusi. Kuna soovime oma installi võimalikult lihtsana hoida, kasutame Weaveneti pistikprogrammi, mis ei vaja konfigureerimist ega lisakoodi ja pakub ühe IP-aadressi ühe kauna kohta, mis on meie jaoks suurepärane. Kui soovite näha rohkem võimalusi, kontrollige siin.
Need käsud on pod-võrgu seadistamise jaoks olulised.
# export kubever=$(kubectl version | base64 | tr -d '\n') # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
Kui kontrollite nüüd oma põhisõlme olekut, peaks see olema ‘Valmis’.
# kubectl get nodes
Järgmisena lisame klastrisse töötaja sõlmed.
Töötajate sõlmede seadistamine Kubernetes klastriga liitumiseks
Töötaja sõlmedes käivitatakse järgmised toimingud. Need sammud tuleks Kubernetes klastriga liitumisel käivitada igas töösõlmes.
Seadistage oma töötaja-sõlm-1 ja töötaja-sõlm-2 hostinimi ning kui teil pole DNS-serverit, värskendage ka failis/etc/hosts faili põhi- ja töösõlmed.
# hostnamectl set-hostname 'node-1' # cat <<EOF>> /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
Võite pingutada master-sõlme, et testida, kas teie värskendatud hostifail on korras.
Järgmisena keelake SElinux ja värskendage oma tulemüüri reegleid.
# setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Pordides määrake järgmised tulemüüri reeglid. Veenduge, et kõik tulemüüri cmd käsud tagastaksid edu.
# firewall-cmd --permanent --add-port=6783/tcp # firewall-cmd --permanent --add-port=10250/tcp # firewall-cmd --permanent --add-port=10255/tcp # firewall-cmd --permanent --add-port=30000-32767/tcp # firewall-cmd --reload # echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables
Peate Kubernetese hoidlad käsitsi lisama, kuna need pole CentOS 7-sse eelinstallitud.
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 EOF
Kui pakettide repo on nüüd valmis, saate jätkata ja installida pakette kubeadm ja docker.
# yum install kubeadm docker -y
Käivitage ja lubage mõlemad teenused.
# systemctl enable docker # systemctl start docker # systemctl enable kubelet # systemctl start kubelet
Nüüd vajame klastriga liitumiseks kubeadm init loodud luba. Võite selle kopeerida ja kleepida oma sõlme-1 ja sõlme-2, kui olete selle kuhugi kopeerinud.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Nagu viimasel real soovitatud, minge tagasi oma põhisõlme juurde ja kontrollige, kas töötaja sõlm-1 ja töötaja sõlm-2 on klastriga liitunud järgmise käsu abil.
# kubectl get nodes
Kui kõik etapid õnnestuvad edukalt, peaksite nägema põhisõlmes sõlme 1 ja sõlme 2 valmisolekus.
Soovitatav lugemine: Nginxi juurutamine Kubernetese klastrisse
Sel hetkel oleme Centern 7-s edukalt lõpetanud Kubernetese klastri installimise ja oleme edukalt integreerinud kaks töölisesõlme. Nüüd saate alustada oma taskute loomist ja teenuste juurutamist.