Izvietojiet Kubernetes ar Kubeadm operētājsistēmā CentOS 7

Pārskats

Šis raksts ir paredzēts, lai palīdzētu jums ātri izveidot un palaist Kubernetes kopu, izmantojot kubeadm. Šajā rokasgrāmatā tiks izvietoti divi serveri, viens galvenais un viens darbinieks, tomēr varat izvietot tik daudz serveru, cik vēlaties.

Kas ir kubeadm?

Kubeadm ir Kubernetes izstrādāts rīks, kas ļauj izveidot un palaist minimālu dzīvotspējīgu klasteru, ievērojot labāko praksi. Tas sāks tikai jūsu klasteru, nevis nodrošinās mašīnas. Tādas lietas kā papildinājumi, Kubernetes informācijas panelis, uzraudzības risinājumi un tā tālāk nav tas, ko kubeadm darīs jūsu labā.

Priekšnoteikumi

Ir dažas prasības serveriem, kurus mēs izvietosim. Viena vai vairākas mašīnas, kurās darbojas ar deb/rpm saderīga OS. Mēs izmantosim CentOS.

  • 2 GB vai vairāk RAM uz vienu mašīnu
  • 2 vai vairāk CPU galvenajā ierīcē

Pilna tīkla savienojamība starp visām klastera iekārtām

Divi šajā rokasgrāmatā izvietotie serveri ir šādi: - 1 CPU 2 GB RAM ar CentOS 7 (darba mezgls) - 2 CPU 4 GB RAM ar CentOS 7 (galvenais mezgls)

Ar šādu RAM apjomu abos serveros Kubernetes būs pietiekami daudz vietas, kur elpot.

Darbinieka un meistara konfigurēšana

Tālāk ir norādītas darbības, kas mums būs jāveic gan galvenajā, gan darbinieka mezglā.

  • Yum atjauninājums un pakotnes
  • Instalējiet doku
  • Atspējot selinux
  • Atspējot mijmaiņu
  • Atspējot ugunsmūri
  • Atjauniniet IPTables
  • Instalējiet kubelet/kubeadm/kubectl

Docker instalēšana

1.14Šajā apmācībā mēs izmantosim Kubernetes versiju . Šai versijai Kubernetes iesaka palaist Docker versiju 18.06.2. Noteikti pārbaudiet savai Kuberenetes versijai ieteikto Docker versiju

Mēs pievienosim Docker repozitoriju vietnei yum un īpaši instalēsim 18.06.2. Kad Docker ir instalēts, mums būs jākonfigurē docker dēmons atbilstoši Kubernetes ieteiktajiem iestatījumiem.

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

Atspējot SELinux

Tā kā mēs izmantojam CentOS, mums ir jāatspējo SELinux. Tas ir nepieciešams, lai konteineri varētu piekļūt resursdatora failu sistēmai.

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

Atspējot Swap

Swap ir jāatspējo, lai kubelet darbotos pareizi.

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

Atspējot ugunsmūri

Kubernetes izmanto IPTables, lai apstrādātu ienākošo un izejošo trafiku, tāpēc, lai izvairītos no problēmām, mēs atspējojam ugunsmūri.

systemctl disable firewalld
systemctl stop firewalld

Atjauniniet IPTables

Kubernetes iesaka nodrošināt, ka vērtība net.bridge.bridge-nf-call-iptablesir iestatīta uz 1. Tas ir saistīts ar problēmām, kuru dēļ REHL/CentOS 7 ir radušās problēmas ar trafika nepareizu pārorientēšanu, jo tika apieti iptables.

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

Instalējiet kubelet/kubeadm/kubectl

Mums būs jāpievieno kubernetes repo yum. Kad mēs to izdarīsim, mums vienkārši jāpalaiž instalēšanas komanda un jāiespējo 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

Tagad mēs esam pilnībā konfigurējuši gan galveno, gan darbinieka mezglu. Tagad mēs varam inicializēt savu galveno mezglu un pievienot mūsu darbinieku mezglus galvenajam mezglam!

Piezīme. Ja vēlaties pievienot vairāk darbinieku mezglu, iepriekš minētais process būtu jāveic arī visos šajos mezglos.

Galvenā mezgla iestatīšana

Mēs vēlamies inicializēt savu galveno mezglu, izpildot šādu komandu. Tālāk esošajā komandā vēlēsities aizstāt sava galvenā mezgla IP adresi. Turklāt mēs nodosim pod-network-cidr, lai mums būtu vieglāk vēlāk, kad mēs instalēsim Flanel tīkla pārklājumu.

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

Tas var aizņemt kādu laiku, bet, kad tas būs pabeigts, izvades beigās redzēsit kaut ko līdzīgu, piemēram, tālāk.

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

Šī komanda ir jāizpilda jūsu darbinieku mezgliem, lai pievienotos klasterim, tāpēc ņemiet to vērā.

Nākamais ir flanels. Flanelis ir tas, kas nodrošina komunikāciju starp podiem. Ir dažādi citi tīkla pārklājumu veidi, kurus varat instalēt, taču vienkāršības labad šajā rokasgrāmatā tiks izmantots flanels.

Kopējiet kube/configfailu savā, $Homelai varētu izpildīt kubectlkomandas.

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

Pēdējais solis galvenajā mezglā ir Flanel instalēšana. Palaidiet šādu komandu.

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

Ja šī konfigurācija ir pārkopēta, jūs varēsit palaist kubectl get csun saņemt atbildi.

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

Jūsu galvenais mezgls ir iestatīts un gatavs darbam. Uz strādnieku mezglu!

Darbinieku mezgls

Šajā brīdī darbinieka mezglā nav jāveic papildu darbs. Viss, kas mums jādara, ir jāpalaiž kubeadm joinkomanda, ko saņēmām no mūsu kubeadm initizvades.

Ja nejauši esat nepareizi ievietojis kubeadm pievienošanās komandu, varat ģenerēt citu galvenajā mezglā, palaižot kubeadm token create --print-join-command

Kad palaižat komandu kubeadm join, ja palaižat kubectl get nodesuz master, jūs redzēsit līdzīgu izvadi kā tālāk.

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

Iesaiņošana

Tāpat kā jūs esat bootstrapped Kubernetes klasteris, izmantojot kubeadm. To var izdarīt arī, izmantojot privātos tīklus. Vultr, kā arī citi mākoņa pakalpojumu sniedzēji pieļauj privātus tīklus. Turklāt, ja vēlaties izpildīt kubectl komandas no vietējās mašīnas pret savu klasteru, varat to paveikt, instalējot kubectl lokāli un .kube/configlejupielādējot failu no klastera uz vietējo mašīnu $HOME/.kube/config.

Cerams, ka šī rokasgrāmata palīdzēs jums šķērsot kubeadm un ļaus jums ātri spēlēt ar kubernetes!

Noderīgas saites:


Instalējiet Plesk operētājsistēmā CentOS 7

Instalējiet Plesk operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Plesk ir patentēts tīmekļa mitinātāja vadības panelis, kas ļauj lietotājiem administrēt savas personīgās un/vai klientu vietnes, datu bāzes

Kā instalēt Squid starpniekserveri CentOS

Kā instalēt Squid starpniekserveri CentOS

Squid ir populāra bezmaksas Linux programma, kas ļauj izveidot pāradresācijas tīmekļa starpniekserveri. Šajā rokasgrāmatā jūs redzēsit, kā instalēt Squid uz CentOS, lai jūs pārvērstu

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Kā instalēt Lighttpd (LLMP Stack) operētājsistēmā CentOS 6

Ievads Lighttpd ir Apache dakša, kuras mērķis ir daudz mazāk resursietilpīgs. Tas ir viegls, tāpēc arī tā nosaukums ir diezgan vienkārši lietojams. Instalēšana

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

Statiskā tīkla un IPv6 konfigurēšana operētājsistēmā CentOS 7

VULTR nesen veica izmaiņas, un tagad visam vajadzētu darboties labi, ja ir iespējots NetworkManager. Ja vēlaties atspējot

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 modificēšana, lai izmantotu galveno/klienta modeli operētājsistēmā CentOS 6 vai CentOS 7

Icinga2 ir spēcīga uzraudzības sistēma, un, ja to izmanto galvenā klienta modelī, tā var aizstāt vajadzību pēc NRPE balstītām uzraudzības pārbaudēm. Meistars-klients

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Kā instalēt Apache Cassandra 3.11.x operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Apache Cassandra ir bezmaksas un atvērtā koda NoSQL datu bāzes pārvaldības sistēma, kas ir izstrādāta, lai nodrošinātu mērogojamību, hig.

Kā instalēt Microweber operētājsistēmā CentOS 7

Kā instalēt Microweber operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Kā instalēt Mattermost 4.1 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Mattermost ir atvērtā pirmkoda, pašmitināta alternatīva Slack SAAS ziņojumapmaiņas pakalpojumam. Citiem vārdiem sakot, izmantojot Mattermost, jūs apm

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Minecraft serveru tīkla izveide ar BungeeCord operētājsistēmā Debian 8, Debian 9 vai CentOS 7

Kas jums būs nepieciešams Vultr VPS ar vismaz 1 GB RAM. SSH piekļuve (ar root/administratora tiesībām). 1. darbība: BungeeCord instalēšana Vispirms vispirms

Ļauj šifrēt vietnē Plesk

Ļauj šifrēt vietnē Plesk

Plesk vadības panelī ir ļoti jauka Lets Encrypt integrācija. Lets Encrypt ir viens no vienīgajiem SSL nodrošinātājiem, kas pilnībā izsniedz sertifikātus

Ļauj šifrēt cPanel

Ļauj šifrēt cPanel

Lets Encrypt ir sertifikātu iestāde, kas nodrošina SSL sertifikātus bez maksas. cPanel ir izveidojis glītu integrāciju, lai jūs un jūsu klients

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Kā instalēt Concrete5 operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Concrete5 ir atvērtā pirmkoda CMS, kas piedāvā daudzas atšķirīgas un noderīgas funkcijas, lai palīdzētu redaktoriem viegli izveidot saturu.

Kā instalēt pārskata paneli sistēmā CentOS 7

Kā instalēt pārskata paneli sistēmā CentOS 7

Vai izmantojat citu sistēmu? Pārskatīšanas padome ir bezmaksas atvērtā pirmkoda rīks pirmkoda, dokumentācijas, attēlu un daudz ko citu pārskatīšanai. Tā ir tīmekļa programmatūra

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Iestatiet HTTP autentifikāciju, izmantojot Nginx operētājsistēmā CentOS 7

Šajā rokasgrāmatā jūs uzzināsit, kā iestatīt HTTP autentifikāciju Nginx tīmekļa serverim, kas darbojas operētājsistēmā CentOS 7. Prasības Lai sāktu darbu, jums būs nepieciešams

Kā instalēt YOURLS operētājsistēmā CentOS 7

Kā instalēt YOURLS operētājsistēmā CentOS 7

YOURLS (Your Own URL Shortener) ir atvērtā koda URL saīsināšanas un datu analīzes lietojumprogramma. Šajā rakstā mēs apskatīsim instalēšanas procesu

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Kā instalēt un konfigurēt ArangoDB operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Ievads ArangoDB ir atvērtā koda NoSQL datu bāze ar elastīgu datu modeli dokumentiem, grafikiem un atslēgu vērtībām. Tas ir

Etckeeper izmantošana /etc versiju kontrolei

Etckeeper izmantošana /etc versiju kontrolei

Ievads /etc/ direktorijam ir izšķiroša nozīme Linux sistēmas darbībā. Iemesls tam ir gandrīz visas sistēmas konfigurācijas

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Kāpēc jums vajadzētu izmantot SSHFS? Kā uzstādīt attālo failu sistēmu ar SSHFS operētājsistēmā CentOS 6

Daudzi sistēmu administratori pārvalda lielu daudzumu serveru. Ja failiem ir jāpiekļūst dažādos serveros, piesakieties katrā atsevišķi apm

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Half Life 2 servera iestatīšana operētājsistēmā CentOS 6

Šajā apmācībā tiks apskatīts Half Life 2 spēļu servera instalēšanas process sistēmā CentOS 6. 1. darbība: priekšnosacījumu instalēšana Lai iestatītu ou

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Kā instalēt Laravel GitScrum operētājsistēmā CentOS 7

Laravel GitScrum jeb GitScrum ir atvērtā pirmkoda produktivitātes rīks, kas izstrādāts, lai palīdzētu izstrādātāju komandām ieviest Scrum metodoloģiju līdzīgā veidā.

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk