Settu upp Kubernetes með Kubeadm á CentOS 7

Yfirlit

Þessari grein er ætlað að hjálpa þér að koma Kubernetes klasa í gang með kubeadm á skömmum tíma. Þessi handbók mun setja upp tvo netþjóna, einn meistara og einn starfsmann, en þú getur sett upp eins marga netþjóna og þú vilt.

Hvað er kubeadm?

Kubeadm er tól þróað af Kubernetes sem gerir þér kleift að koma í gang lágmarks lífvænlegan klasa með því að fylgja bestu starfsvenjum. Það mun aðeins ræsa klasann þinn, ekki útvega vélar. Hlutir eins og viðbætur, Kubernetes mælaborðið, eftirlitslausnir og svo framvegis eru ekki eitthvað sem kubeadm mun gera fyrir þig.

Forkröfur

Það eru nokkrar kröfur fyrir netþjónana sem við munum setja upp. Ein eða fleiri vélar sem keyra deb/rpm-samhæft stýrikerfi. Við munum nota CentOS.

  • 2 GB eða meira af vinnsluminni á hverja vél
  • 2 örgjörvar eða fleiri á masternum

Full nettenging meðal allra véla í klasanum

Netþjónarnir tveir sem notaðir eru í þessari handbók eru eftirfarandi: - 1 CPU 2GB vinnsluminni með CentOS 7 (Worker hnút) - 2 CPU 4GB vinnsluminni með CentOS 7 (Master node)

Með þetta magn af vinnsluminni á báðum netþjónum mun Kubernetes hafa nóg pláss til að anda.

Að stilla starfsmann og meistara

Hér eru skrefin sem við verðum að taka á bæði meistara- og starfshnút:

  • Jamm uppfærsla og pakkar
  • Settu upp docker
  • Slökktu á selinux
  • Slökktu á skiptum
  • Slökktu á eldvegg
  • Uppfærðu IPTables
  • Settu upp kubelet/kubeadm/kubectl

Er að setja upp Docker

Við munum nota útgáfu 1.14af Kubernetes í þessari kennslu. Fyrir þessa útgáfu mælir Kubernetes með að keyra Docker útgáfuna 18.06.2. Vertu viss um að athuga ráðlagða Docker útgáfu fyrir þína útgáfu af Kuberenetes

Við munum bæta Docker geymslunni við yum og setja upp sérstaklega 18.06.2. Þegar Docker hefur verið sett upp þurfum við að stilla docker púkann í þær stillingar sem Kubernetes mælir með.

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

Slökktu á SELinux

Þar sem við erum að nota CentOS þurfum við að slökkva á SELinux. Þetta er nauðsynlegt til að leyfa gámum aðgang að hýsilskráakerfinu.

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

Slökktu á Swap

Swap þarf að vera óvirkt til að leyfa kubelet að virka rétt.

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

Slökktu á eldvegg

Kubernetes notar IPTables til að meðhöndla inn- og út umferð - svo til að forðast vandamál slökkva við á eldvegg.

systemctl disable firewalld
systemctl stop firewalld

Uppfærðu IPTables

Kubernetes mælir með því að við tryggjum að það net.bridge.bridge-nf-call-iptablessé stillt á 1. Þetta er vegna vandamála þar sem REHL/CentOS 7 hefur átt í vandræðum með að umferð hafi verið vísað á rangan hátt vegna framhjá íptables.

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

Settu upp kubelet/kubeadm/kubectl

Við þurfum að bæta kubernetes repo við yum. Þegar við gerum það þurfum við bara að keyra uppsetningarskipunina og virkja kubelet.

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

Nú höfum við fullstillt bæði meistara- og vinnuhnútinn okkar. Við getum nú frumstillt aðalhnútinn okkar og tengt vinnuhnúta okkar við skipstjórann!

Athugið Ef þú vildir bæta við fleiri starfshnútum þyrfti ferlið hér að ofan líka að vera gert á öllum þessum hnútum.

Uppsetning Master Node

Við viljum frumstilla aðalhnútinn okkar með því að keyra eftirfarandi skipun. Þú vilt skipta út IP tölu aðalhnútsins þíns í skipuninni hér að neðan. Að auki munum við senda inn pod-network-cidr til að auðvelda okkur síðar þegar við setjum upp Flannel netyfirborðið.

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

Þetta getur tekið smá stund að klára en þegar því er lokið muntu sjá eitthvað svipað í lok úttaksins eins og eftirfarandi.

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

Þessi skipun er það sem vinnuhnútar þínir þurfa að framkvæma til að taka þátt í þyrpingunni, svo taktu eftir henni.

Næst á eftir er Flannel. Flanell er það sem gerir belg til belg samskipti. Það eru ýmsar aðrar gerðir af netyfirlögnum sem þú getur sett upp en til einföldunar mun þessi handbók nota Flannel.

Afritaðu kube/configskrána yfir á þinn $Homesvo þú getir framkvæmt kubectlskipanir.

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

Eitt lokaskref á aðalhnútnum er að setja upp Flannel. Keyra eftirfarandi skipun.

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

Með þessari stillingu afrituð muntu geta keyrt kubectl get csog fengið svar.

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

Aðalhnúturinn þinn er stilltur og tilbúinn til notkunar. Á verkamannahnútinn!

Verkamannahnútur

Á þessum tímapunkti er engin aukavinna sem er nauðsynleg á starfsmannshnútnum. Allt sem við þurfum að gera er að keyra kubeadm joinskipunina sem við fengum úr kubeadm initframleiðslunni okkar .

Ef þú misstir af kubeadm join skipuninni fyrir tilviljun geturðu búið til aðra á aðalhnútnum með því að keyra kubeadm token create --print-join-command

Þegar þú keyrir kubeadm join skipunina, ef þú keyrir kubectl get nodesá master muntu sjá svipað úttak og eftirfarandi.

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

Klára

Rétt eins og þú hefur ræst Kubernetes klasa með því að nota kubeadm. Þú gætir líka gert þetta með einkanetum. Vultr, sem og aðrir skýjaveitur, leyfa einkanet. Einnig, ef þú vilt framkvæma kubectl skipanir frá staðbundinni vél á móti þyrpingunni þinni, geturðu náð þessu með því að láta setja kubectl upp á staðnum og draga .kube/configskrána niður úr þyrpingunni yfir á staðbundna vélina þína í $HOME/.kube/config.

Vonandi hjálpar þessi handbók þér að fara yfir kubeadm og koma þér til að spila með kubernetes á skömmum tíma!

Gagnlegar tenglar:

Skildu eftir athugasemd

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira