Поставите Кубернетес са Кубеадм-ом на ЦентОС 7

Преглед

Овај чланак има за циљ да вам помогне да за кратко време покренете Кубернетес кластер са кубеадм-ом. Овај водич ће применити два сервера, једног главног и једног радног, али можете да примените онолико сервера колико желите.

Шта је кубеадм?

Кубеадм је алатка коју је развио Кубернетес и која вам омогућава да покренете и покренете минимални одрживи кластер пратећи најбоље праксе. То ће само покренути ваш кластер, а не машине за обезбеђивање. Ствари као што су додаци, Кубернетес контролна табла, решења за праћење и тако даље нису нешто што ће кубеадм учинити за вас.

Предуслови

Постоји неколико захтева за сервере које ћемо поставити. Једна или више машина са оперативним системом компатибилним са деб/рпм. Користићемо ЦентОС.

  • 2 ГБ или више РАМ-а по машини
  • 2 ЦПУ-а или више на мастеру

Потпуна мрежна повезаност између свих машина у кластеру

Два сервера распоређена у овом водичу су следећа: - 1 ЦПУ 2ГБ РАМ са ЦентОС 7 (раднички чвор) - 2 ЦПУ 4ГБ РАМ са ЦентОС 7 (главни чвор)

Са овом количином РАМ-а на оба сервера, Кубернетес ће имати довољно простора за дисање.

Конфигурисање радника и мајстора

Ево корака које ћемо морати да предузмемо и на главном и на радном чвору:

  • Иум ажурирање и пакети
  • Инсталирајте доцкер
  • Онемогући селинук
  • Онемогући замену
  • Онемогућите заштитни зид
  • Ажурирајте ИПТаблес
  • Инсталирајте кубелет/кубеадм/кубецтл

Инсталирање Доцкер-а

У 1.14овом водичу ћемо користити верзију Кубернетеса. За ову верзију, Кубернетес препоручује покретање Доцкер верзије 18.06.2. Обавезно проверите препоручену верзију Доцкер-а за вашу верзију Куберенетеса

Додаћемо Доцкер спремиште у иум и посебно инсталирати 18.06.2. Када се Доцкер инсталира, мораћемо да конфигуришемо демон доцкер-а на подешавања која препоручује Кубернетес.

###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

Онемогућите СЕЛинук

Пошто користимо ЦентОС, морамо да онемогућимо СЕЛинук. Ово је неопходно да се контејнерима омогући приступ систему датотека хоста.

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

Онемогући замену

Замена мора бити онемогућена да би се омогућило да кубелет исправно ради.

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

Онемогућите заштитни зид

Кубернетес користи ИПТаблес за руковање улазним и одлазним саобраћајем - тако да да бисмо избегли било какве проблеме, онемогућавамо фиреваллд.

systemctl disable firewalld
systemctl stop firewalld

Ажурирајте ИПТаблес

Кубернетес препоручује да се уверимо да net.bridge.bridge-nf-call-iptablesје подешено на 1. Ово је због проблема у којима је РЕХЛ/ЦентОС 7 имао проблема са погрешним преусмеравањем саобраћаја због заобилажења иптаблес.

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

Инсталирајте кубелет/кубеадм/кубецтл

Мораћемо да додамо кубернетес репо у иум. Када то урадимо, само треба да покренемо команду за инсталацију и омогућимо кубелет.

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

Сада смо у потпуности конфигурисали и главни и радни чвор. Сада можемо иницијализовати наш главни чвор и придружити наше радне чворове главном!

Напомена Ако желите да додате још радних чворова, горњи процес би такође морао да се уради на свим тим чворовима.

Подешавање главног чвора

Желимо да иницијализујемо наш главни чвор покретањем следеће команде. Желећете да замените ИП адресу свог главног чвора у наредби испод. Поред тога, проследићемо под-нетворк-цидр да би нам било лакше касније када инсталирамо Фланнел мрежни преклоп.

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

Ово може потрајати да се заврши, али када се заврши видећете нешто слично на крају излаза као што је следеће.

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

Ова команда је оно што ваши раднички чворови морају да изврше да би се придружили кластеру, па је обратите пажњу.

Следећи је фланел. Фланел је оно што омогућава комуникацију између махуна. Постоје разне друге врсте мрежних прекривача које можете инсталирати, али ради једноставности овај водич ће користити фланел.

Копирајте kube/configдатотеку у свој $Homeда бисте могли да извршавате kubectlкоманде.

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

Последњи корак на главном чвору је инсталирање Фланнел-а. Покрените следећу команду.

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

Са овом копираном конфигурацијом моћи ћете да покренете kubectl get csи добијете одговор.

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

Ваш главни чвор је постављен и спреман за рад. На радни чвор!

Раднички чвор

У овом тренутку нема додатног рада који је неопходан на радном чвору. Све што треба да урадимо је да покренемо kubeadm joinкоманду коју смо добили из нашег kubeadm initизлаза.

Ако сте неким случајем заменили команду кубеадм јоин, можете генерисати још једну на главном чвору покретањем kubeadm token create --print-join-command

Једном када покренете команду кубеадм јоин, ако покренете kubectl get nodesна мастер, видећете излаз сличан следећем.

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

Окончање

Баш тако сте покренули Кубернетес кластер користећи кубеадм. То можете учинити и са приватним мрежама. Вултр, као и други добављачи облака, дозвољавају приватне мреже. Такође, ако желите да извршите кубецтл команде са ваше локалне машине против вашег кластера, то можете постићи тако што ћете локално инсталирати кубецтл и повући .kube/configдатотеку из кластера на вашу локалну машину у $HOME/.kube/config.

Надамо се да ће вам овај водич помоћи да пређете преко кубеадм-а и натераће вас да се играте са кубернетесом за кратко време!

Корисни линкови:

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више