Yadda ake Shigar da Kubungiyar Kubernetes akan CentOS 7


Google ya ba da gudummawa ga ƙungiyar Opensource, Kubernetes yanzu ya zama kayan aikin zaɓar kayan kwantena. Zai iya sarrafawa da ƙira ba kawai lokutan ayyukan docker ba har ma da Kwantena da ayyukan Rkt.

Typicalungiyar tarin Kubernetes ta al'ada gabaɗaya tana da babban kumburi na masarufi da nodes ɗin ma'aikata da yawa ko Minions. Ana gudanar da nodes ɗin ma'aikaci daga babban kumburi, don haka tabbatar da cewa an sarrafa ragowar daga tsakiyar wuri.

Hakanan yana da mahimmanci a ambaci cewa zaku iya tura tarin kumburi guda na Kubernetes wanda galibi aka ba da shawarar don haske mai yawa, ba kayan aikin samarwa. Don wannan, zaku iya amfani da Minikube, wanda shine kayan aiki wanda ke gudanar da dunƙulen kumburin Kubernetes a cikin inji mai inganci a kan kumburin ku.

Amintaccen Karanta: Yadda ake Shigar da Kubungiyar Kubernetes akan CentOS 8

Don wannan koyarwar, zamuyi tafiya ta hanyar shigarwa mai tarin Kubernetes akan CentOS 7 Linux. Wannan koyarwar layin umarni ne don haka kuna buƙatar samun damar zuwa taga taga.

  1. Sabis masu yawa da ke gudana Centos 7 (1 Master Node, 2 Nodes na Ma'aikata). Ana ba da shawarar cewa Babbar Jagoranku yana da aƙalla CPUs 2, duk da cewa wannan ba ƙaƙƙarfan ƙa'ida ba ne.
  2. Haɗin intanet a kan dukkan sassan ku. Zamu debo Kubernetes da kayan masarufi daga ma'aji. Hakanan, kuna buƙatar tabbatar cewa an shigar da mai sarrafa kunshin yum ta tsohuwa kuma zai iya ɗakun fakitoci daga nesa.
  3. Hakanan kuna buƙatar samun damar zuwa asusu tare da sudo ko tushen gata. A cikin wannan darasin, zan yi amfani da asusun asusuna.

Lusungiyar 3-node ɗinmu za su yi kama da abu kamar haka:

Girkawar ernungiyar Kubernetes a kan Babbar Jagora

Don Kubernetes suyi aiki, zaku buƙaci injin ɗin kwantena. Don wannan shigarwa, zamuyi amfani da docker saboda shine mafi mashahuri.

Matakai masu zuwa zasu gudana akan Babbar Jagora.

A kan kumburin maigidanka, saita sunan mai masauki kuma idan ba ka da sabar DNS, sannan kuma sabunta fayil din/sauransu/rundunoninku.

# 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

Kuna iya ping na ma'aikacin-kumburi-1 da ma'aikacin-kumburi-2 don gwadawa idan sabon gidan yanar sadarwar ku da aka sabunta yana da kyau ta amfani da umarnin ping.

# ping 10.128.0.29
# ping 10.128.0.30

Na gaba, musaki SElinux kuma sabunta dokokin katangar ka.

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# reboot

Kafa waɗannan dokokin wuta a kan tashar jiragen ruwa. Tabbatar cewa kowane umarnin firewall-cmd, ya dawo da nasara.

# 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

Kuna buƙatar ƙara wuraren ajiyar Kubernetes da hannu saboda ba su shigowa ta tsohuwa a kan CentOS 7 ba.

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

Tare da repo na kunshin yanzu a shirye, zaka iya ci gaba da girka kubeadm da fakitin docker.

# yum install kubeadm docker -y 

Lokacin da kafuwa ta kammala cikin nasara, kunna kuma fara ayyukan biyu.

# systemctl enable kubelet
# systemctl start kubelet
# systemctl enable docker
# systemctl start docker

Yanzu a shirye muke mu fara kirkirar masanin kubernetes, amma kafin haka kuna buƙatar musaki musanya don gudanar da umarnin\"kubeadm init \".

# swapoff -a

Gabatar da Kubernetes master wani tsari ne mai sarrafa kansa wanda ake sarrafa shi ta umurnin\"kubeadm init \" wanda zaku gudanar.

# kubeadm init

Kuna so ku kwafa layin ƙarshe kuma ku adana shi a wani wuri saboda kuna buƙatar gudanar da shi a kan ƙirar ma'aikaci.

kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  \ --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 

Tukwici: Wani lokaci wannan umarni na iya yin korafi game da takaddun (args) da aka zartar, don haka gyara shi don guje wa duk wani kuskure. Don haka, zaku goge halin ‘\’ wanda yake tare da - alama> lambar kuma umarnin ku na ƙarshe zaiyi kama da wannan.

kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41

Bayan ƙaddamar da Kubernetes cikin nasara, kuna buƙatar bawa mai amfanin ku damar fara amfani da tarin. A halinmu, muna son gudanar da wannan shigarwar azaman tushen mai amfani, saboda haka zamu ci gaba da gudanar da wadannan dokokin a matsayin tushen. Kuna iya canzawa zuwa mai amfani da sudo wanda kuka fi so kuma gudanar da ƙasa ta amfani da sudo.

Don amfani da tushe, gudu:

# mkdir -p $HOME/.kube
# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config

Don amfani da mai amfani da sudo, gudana:

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

Yanzu duba don ganin idan an kunna umarnin kubectl.

# kubectl get nodes

A wannan gaba, zaku kuma lura cewa matsayin master-node shine 'NotReady'. Wannan saboda saboda har yanzu ba mu sanya tashar kwalliyar kwalliya zuwa gungu ba.

Fushin Sadarwar Sadarwar yanar gizo ita ce hanyar sadarwa mai ruɗi don gungu, wanda aka ɗora akan saman cibiyar sadarwar yanzu. An tsara shi don ba da damar haɗi a tsakanin kwafon.

Caddamar da tarin hanyar sadarwa hanya ce mai sauƙi mai sauƙi dangane da bukatunku kuma akwai wadatar zaɓuɓɓuka da yawa. Tunda muna son ci gaba da sanya kayanmu a sauƙaƙe, zamuyi amfani da kayan Weavenet wanda baya buƙatar kowane tsari ko ƙarin lambar kuma yana ba da adireshin IP ɗaya a cikin kwafon da yake da kyau a gare mu. Idan kana son ganin ƙarin zaɓuɓɓuka, da fatan za a duba nan.

Waɗannan dokokin zasu zama masu mahimmanci don samun saitin hanyar sadarwa ta kwafsa.

# export kubever=$(kubectl version | base64 | tr -d '\n')
# kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$kubever"

Yanzu idan ka duba matsayin maigidanka, ya zama 'Shirye'.

# kubectl get nodes

Gaba, muna ƙara nodes ɗin ma'aikaci zuwa gungu.

Kafa odesungiyoyin Ma'aikata don Haɗa Kubungiyar Kubernetes

Matakan da zasu biyo baya zasu gudana akan ƙododin ma'aikacin. Ya kamata a gudanar da waɗannan matakan a kan kowane kumburin ma'aikaci yayin shiga cikin ƙungiyar Kubernetes.

A kan ma'aikacin-node-1 da ma'aikacin-kumburi-2, saita sunan mai masauki kuma idan ba ku da uwar garken DNS, sannan kuma ku sabunta maigidanku da ma'aikatan ku a kan/etc/runduna fayil.

# 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

Kuna iya ping master-node don gwadawa idan sabunta bayanan gidan yanar gizonku yayi kyau.

Na gaba, musaki SElinux kuma sabunta dokokin katangar ka.

# setenforce 0
# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux

Kafa waɗannan dokokin wuta a kan tashar jiragen ruwa. Tabbatar cewa duk umarnin firewall-cmd, dawo da nasara.

# 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

Kuna buƙatar ƙara wuraren ajiyar Kubernetes da hannu saboda ba su zo riga-sanyawa akan CentOS 7 ba.

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

Tare da repo na kunshin yanzu a shirye, zaka iya ci gaba da girka kubeadm da fakitin docker.

# yum install kubeadm docker -y 

Farawa da kunna duka ayyukan.

# systemctl enable docker
# systemctl start docker
# systemctl enable kubelet
# systemctl start kubelet

Yanzu muna buƙatar alamar da aka samar da kubeadm, don shiga cikin tarin. Kuna iya kwafa da liƙa shi a cikin mahadar-1 da kumburi-2 idan kun kwafa shi a wani wuri.

# kubeadm join 10.128.0.27:6443 --token nu06lu.xrsux0ss0ixtnms5  --discovery-token-ca-cert-hash sha256:f996ea3564e6a07fdea2997a1cf8caeddafd6d4360d606dbc82314688425cd41 

Kamar yadda aka ba da shawara akan layin ƙarshe, koma zuwa mahallin-kumburin ku duba idan kumburin ma'aikaci-1 da kumburin ma'aikaci-2 sun shiga cikin tarin ta yin amfani da wannan umarnin.

# kubectl get nodes

Idan duk matakan sunyi nasara cikin nasara, to, ya kamata ku ga kumburi-1 da kumburi-2 a cikin halin shirye akan maɓallin-kumburi.

Shawarar Karanta: Yadda Ake Nginx akan onungiyar Kubernetes

A wannan gaba, mun sami nasarar kammala girka ƙungiyar Kubernetes a kan Centos 7 kuma mun sami nasarar hawa jirgi-mahaɗan ma'aikata biyu. Yanzu zaku iya ƙirƙirar kwandon ku kuma tura ayyukanku.