Kif Tinstalla Kubernetes Cluster fuq CentOS 7
Donata minn Google lill-komunità Opensource, Kubernetes issa sar l-għodda tal-ġestjoni tal-kontejners tal-għażla. Jista' jamministra u jorkestra mhux biss runtimes docker iżda wkoll runtimes Containers u Rkt.
Cluster tipiku ta 'Kubernetes ġeneralment ikollu node prinċipali u diversi nodi tal-ħaddiema jew Minions. In-nodi tal-ħaddiema mbagħad jiġu ġestiti min-nodu prinċipali, u b'hekk jiġi żgurat li l-cluster jiġi ġestit minn punt ċentrali.
Huwa importanti wkoll li ssemmi li tista 'wkoll tuża raggruppament ta' Kubernetes b'node wieħed li ġeneralment huwa rakkomandat għal xogħolijiet ħfief ħafna u mhux tal-produzzjoni. Għal dan, tista 'tuża Minikube, li hija għodda li tmexxi cluster Kubernetes b'node wieħed f'magna virtwali fuq in-nodu tiegħek.
Aqra Rakkomandat: Kif Tinstalla Kubernetes Cluster fuq CentOS 8
Għal dan it-tutorja, aħna se nimxu permezz ta 'installazzjoni ta' cluster Kubernetes b'ħafna nodi fuq CentOS 7 Linux. Dan it-tutorja huwa bbażat fuq il-linja tal-kmand għalhekk ser ikollok bżonn aċċess għat-tieqa tat-terminal tiegħek.
- Servers multipli li jħaddmu Centos 7 (1 Nodu Master, 2 Nodi tal-Ħaddiem). Huwa rakkomandat li l-Master Node tiegħek ikollu mill-inqas 2 CPUs, għalkemm dan mhuwiex rekwiżit strett.
- Konnettività tal-internet fuq in-nodi kollha tiegħek. Se nkunu qed inġibu Kubernetes u pakketti docker mir-repożitorju. Bl-istess mod, ser ikollok bżonn tiżgura li l-maniġer tal-pakketti yum huwa installat awtomatikament u jista 'jġib il-pakketti mill-bogħod.
- Ikollok bżonn ukoll aċċess għal kont bi privileġġi sudo jew root. F'dan it-tutorja, se nkun qed nuża l-kont root tiegħi.
Il-cluster tagħna bi 3 nodi se jidher xi ħaġa bħal din:
Installazzjoni ta' Kubernetes Cluster fuq Master-Node
Biex Kubernetes jaħdem, ser ikollok bżonn magna tal-kontejners. Għal din l-installazzjoni, se nużaw docker peress li huwa l-aktar popolari.
Il-passi li ġejjin se jimxu fuq il-Master-Node.
Fuq in-node prinċipali tiegħek, issettja l-isem tal-host u jekk ma jkollokx server DNS, imbagħad aġġorna wkoll il-fajl /etc/hosts tiegħek.
# 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
Tista 'ping worker-node-1 u worker-node-2 biex tittestja jekk il-hostfile aġġornat tiegħek hux tajjeb billi tuża kmand ping.
# ping 10.128.0.29 # ping 10.128.0.30
Sussegwentement, iddiżattiva SElinux u aġġorna r-regoli tal-firewall tiegħek.
# setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # reboot
Issettja r-regoli tal-firewall li ġejjin fuq il-portijiet. Kun żgur li kull kmand firewall-cmd, jirritorna suċċess.
# 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
Ikollok bżonn iżżid repożitorji Kubernetes manwalment peress li ma jiġux installati awtomatikament fuq CentOS 7.
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
Bil-pakkett repo issa lest, tista 'tkompli u tinstalla pakketti kubeadm u docker.
# yum install kubeadm docker -y
Meta l-installazzjoni titlesta b'suċċess, ippermetti u ibda ż-żewġ servizzi.
# systemctl enable kubelet # systemctl start kubelet # systemctl enable docker # systemctl start docker
Issa aħna lesti biex inizjalizzaw kubernetes master, iżda qabel ma trid tiddiżattiva tpartit sabiex tmexxi kmand \kubeadm init\.
# swapoff -a
L-inizjalizzazzjoni tal-Kubernetes master huwa proċess kompletament awtomatizzat li huwa mmexxi mill-kmand \kubeadm init\ li inti se tmexxi.
# kubeadm init
Tista 'tkun trid tikkopja l-aħħar linja u ssejvjaha x'imkien għax ikollok bżonn tmexxiha fuq in-nodi tal-ħaddiema.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 \ --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Tip: Xi drabi dan il-kmand jista' jilmenta dwar l-argumenti (args) li għaddew, għalhekk editjah biex tevita kwalunkwe żball. Għalhekk, int se tħassar il-karattru ‘\’
li jakkumpanja t---token
u l-kmand finali tiegħek se jidher bħal dan.
kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Wara li inizjalizza Kubernetes b'suċċess, ser ikollok bżonn li l-utent tiegħek jibda juża l-cluster. Fil-każ tagħna, irridu nħaddmu din l-installazzjoni bħala utent root, għalhekk se nibqgħu għaddejjin u nħaddmu dawn il-kmandi bħala root. Tista 'tbiddel għal utent ppermettiet sudo li tippreferi u tmexxi l-hawn taħt billi tuża sudo.
Biex tuża l-għeruq, mexxi:
# mkdir -p $HOME/.kube # cp -i /etc/kubernetes/admin.conf $HOME/.kube/config # chown $(id -u):$(id -g) $HOME/.kube/config
Biex tuża utent abilitat sudo, mexxi:
$ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Issa iċċekkja biex tara jekk il-kmand kubectl huwiex attivat.
# kubectl get nodes
F'dan il-punt, tinnota wkoll li l-istatus tal-master-node huwa 'NotReady'. Dan għaliex għadna rridu nħaddmu n-netwerk tal-pods fil-cluster.
In-Netwerk tal-pods huwa n-netwerk overlay għall-cluster, li huwa skjerat fuq in-netwerk tan-nodi preżenti. Hija mfassla biex tippermetti konnettività madwar il-pod.
L-iskjerament tal-cluster tan-netwerk huwa proċess flessibbli ħafna li jiddependi fuq il-bżonnijiet tiegħek u hemm ħafna għażliet disponibbli. Peress li rridu nżommu l-installazzjoni tagħna sempliċi kemm jista 'jkun, se nużaw il-plugin Weavenet li ma jeħtieġ ebda konfigurazzjoni jew kodiċi żejjed u jipprovdi indirizz IP wieħed għal kull pod li huwa kbir għalina. Jekk trid tara aktar għażliet, jekk jogħġbok iċċekkja hawn.
Dawn il-kmandi se jkunu importanti biex tinkiseb is-setup tan-netwerk tal-pods.
# export kubever=$(kubectl version | base64 | tr -d '\n') # kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"
Issa jekk tiċċekkja l-istatus tal-master-node tiegħek, għandu jkun Let.
# kubectl get nodes
Sussegwentement, inżidu n-nodi tal-ħaddiema mal-cluster.
Twaqqif ta' Nodi tal-Ħaddiema biex Jingħaqdu ma' Kubernetes Cluster
Il-passi li ġejjin se jimxu fuq in-nodi tal-ħaddiema. Dawn il-passi għandhom jitmexxew fuq kull nodu tal-ħaddiem meta tingħaqad mal-cluster Kubernetes.
Fuq il-worker-node-1 u l-worker-node-2 tiegħek, issettja l-isem tal-host u f'każ li ma jkollokx server DNS, imbagħad aġġorna wkoll in-nodi tal-kaptan u tal-ħaddiem tiegħek fuq il-fajl /etc/hosts.
# 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
Tista 'ping master-node biex tittestja jekk il-hostfile aġġornat tiegħek hux tajjeb.
Sussegwentement, iddiżattiva SElinux u aġġorna r-regoli tal-firewall tiegħek.
# setenforce 0 # sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Issettja r-regoli tal-firewall li ġejjin fuq il-portijiet. Kun żgur li l-kmandi kollha tal-firewall-cmd, jirritornaw is-suċċess.
# 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
Ikollok bżonn iżżid repożitorji Kubernetes manwalment peress li ma jiġux installati minn qabel fuq CentOS 7.
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
Bil-pakkett repo issa lest, tista 'tkompli u tinstalla pakketti kubeadm u docker.
# yum install kubeadm docker -y
Ibda u ppermettiet iż-żewġ servizzi.
# systemctl enable docker # systemctl start docker # systemctl enable kubelet # systemctl start kubelet
Issa neħtieġu t-token li ġġenera kubeadm init, biex jingħaqad mal-cluster. Tista' tikkopjaha u tippejstja man-node-1 u n-node-2 tiegħek jekk kont ikkupjatha x'imkien.
# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5 --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41
Kif issuġġerit fl-aħħar linja, mur lura għall-master-node tiegħek u iċċekkja jekk ħaddiem node-1 u ħaddiem node-2 ingħaqdux mal-cluster billi tuża l-kmand li ġej.
# kubectl get nodes
Jekk il-passi kollha jimxu b'suċċess, allura, għandek tara node-1 u node-2 fi stat lest fuq il-master-node.
Aqra Rakkomandat: Kif Tiskjera Nginx fuq Cluster Kubernetes
F'dan il-punt, lestejna b'suċċess installazzjoni ta 'cluster ta' Kubernetes fuq Centos 7 u ddejna b'suċċess żewġ nodi tal-ħaddiema. Issa tista' tibda toħloq il-miżwed tiegħek u tuża s-servizzi tiegħek.