Kubernetes

Postavite Kubernetes klaster na DigitalOcean

Postavite Kubernetes klaster na DigitalOcean

Kubernetes je jedna od rijetkih tehnologija s kojom se ljudi bore ne zato što je komplicirana i teško razumljiva, već zato što je dizajnirana za rad na hardveru poslužiteljske klase i ne može se lako simulirati na tipičnom kućnom računalu koje se lako. Srećom, postoji niz platformi hostiranih u oblaku koje pružaju pristupačnu infrastrukturu za eksperimentiranje i razumijevanje tehnologija poput Kubernetesa.Kao preduvjet, potičem vas da prođete kroz naše postove o arhitekturi Kubernetesa i o čvorovima i mahunama, gradivnim elementima Kubernetesove klastere.Iako postoji puno hostiranih rješenja za Kubernetes, mi ćemo sve ispočetka rasporediti na DigitalOcean, a to je rješenje za hosting u oblaku posebno namijenjeno programerima.

VPS instanca na ovoj platformi poznata je kao kapljica. Za pokretanje Kubernetes-a potrebno vam je najmanje 2 GB RAM-a, a mi ćemo za ovu demonstraciju koristiti kapljice opcije 20 USD mjesečno. Naplaćuju se i po satu, pa ako eksperimentirate nekoliko sati, a zatim uništite sve kapljice, na kraju ćete platiti najviše par dolara.

Sada imamo dva stroja, jedan s oznakom master, a drugi će biti radnički čvor. Pa hajde da prvo konfiguriramo master.


Konfiguriranje glavnog čvora

Da biste konfigurirali glavni čvor, u njega uključite SSH pomoću javne IP adrese ili upotrijebite konzolu koju pruža DigitalOcean za pristup terminalu kao root korisnika.

Prve su naredbe osnovne kućne:

$ apt ažuriranje && apt nadogradnja -y

Zatim dohvatimo potrebne gpg ključeve i dodamo ih na naš popis pouzdanih udaljenih spremišta.

$ curl -s https: // paketi.oblak.google.com / apt / doc / apt-key.gpg | apt-key dodati -
$ mačka < /etc/apt/sources.list.d/kubernetes.list
deb http: // apt.kubernete.io / kubernetes-xenial glavni
EOF
$ apt ažuriranje

Pokretanje apt ažuriranja po drugi put dovest će sustav do brzine sa službenim Kubernetesovim repoom. Sada instaliramo potrebne pakete.

$ apt instalacijski docker.io
#Docker je potreban za kontejnerizaciju aplikacija.
$ apt instalirati kubelet kubeadm kubectl kubernetes-cni

Posljednja naredba instalira nekoliko paketa od kojih je svaki važan iz različitih razloga:

  1. Kubeadm: Pokreće se i pokreće Kubernetes na čvoru. Može se koristiti za dodjeljivanje kapljici uloge glavnog čvora ili radnog čvora.
  2. Kubelet: To je pozadinski postupak koji razgovara s glavnim čvorom i izvodi radnje koje on zahtijeva.
  3. Kubectl: To je alat naredbenog retka koji programerima i operativnom osoblju omogućuje interakciju s klasterom Kubernetes i upravljanje njime.
  4. Kubernetes-cni: To je sučelje za umrežavanje kontejnera potrebno za internu komunikaciju između pods i vanjsku komunikaciju.

Sad kad smo instalirali sve potrebne pakete, vrijeme je da inicijaliziramo glavni čvor. Pokrenite sljedeće:

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

Obavezno zamijenite zadnju varijablu $ DROPLET_IP_ADDRESS javnom IP glavnog čvora. Ako sve funkcionira u redu, ovo bi bio vaš rezultat:

Svakako kopirajte zadnji redak “kubeadm join -token ...” jer sadrži potrebne sigurnosne vjerodajnice koje bi radnički čvor trebao za pridruživanje klasteru.

Na svakom glavnom čvoru je pokrenut API poslužitelj, koji će gornja naredba izložiti pod mreži i također sučelju naredbenog retka, kubectl, kao i na neobavezno web korisničko sučelje.

Bilješka: Javnu IP adresu svoje kapljice možete koristiti za kubeadm init naredbu, ali ako želite izolirati svoj glavni čvor od ostatka svijeta, možda ćete htjeti koristiti privatnu IP značajku DigitalOcean-a koju će različiti mahuni na različitim čvorovima koristiti za međusobni razgovor. Kasnije možete izložiti samo front-end usluge, kada vaš projekt bude ostvaren.

U redu, posljednji korak prije nego što vidimo zdravstveni izvještaj na našem glavnom čvoru. Možda želite pokrenuti:

$ mkdir -p $ HOME /.kube
$ cp / etc / kubernetes / admin.conf $ HOME /.kube
$ chown $ (id -u): $ (id -g) $ HOME / admin.konf
$ kubectl stvori -f
https: // sirovo.githubusercontent.com / coreos / flanel / master / Dokumentacija / kube-flanel.yml --namespace = kube-sustav

Flannel je instaliran u posljednjoj naredbi koja pruža mrežnu funkcionalnost sloja 3 potrebnu za spremnike.
Sad možemo trčati,

$ kubectl dobiti čvorove
$ kubectl dobiti pods-sve-prostore imena

Što bi nam pokazalo stanje svih čvorova i svih mahuna u ovom klasteru, koji je trenutno samo jedan. Dakle, vrijeme je da konfiguriramo drugu kapljicu i pretvorimo je u radni čvor Kubernetes.


Konfiguriranje miniona ili radničkih čvorova

Mnogo konfiguracija miniona bit će ponavljanje onoga što smo gore učinili, to je od kubeadm narediti da se cesta počne razilaziti.

Dakle, da konfigurirate svoj radnički čvor ponavljanjem svih naredbi do, uključujući instalaciju paketa,

$ apt instalirati kubelet kubeadm kubectl kubernetes-cni

Zatim da biste inicijalizirali kapljicu kao kubernetes čvor, pokrenite naredbu koja je generirana na glavnom čvoru, po završetkukubeadm init.

$ kubeadm join --token 3c37b5.08ed6cdf2e4a14c9
159.89.25.245: 6443 --discovery-token-ca-cert-hash
sha256: 52f99432eb33bb23ff86f62255ecbb

Imajte na umu da će se sadržaj nakon vaše oznake tokena, IP adrese i kontrolne sume sha256 u vašem slučaju vrlo razlikovati. To je to! Imate novi čvor kao člana klastera Kubernetes. To možete potvrditi navođenjem čvorova i mahuna koje su pokrenute na ovoj klasteru.


Zaključak

Sada je vrijeme da rasporedite svoj dockeriziran aplikaciju u ovom klasteru i slobodno zavrtite više kapljica i koristite kubeadm pridružiti da biste dodali nove članove u svoj Kubernetes klaster.

Najbolji emulatori igraće konzole za Linux
Ovaj će članak navesti popularni softver za emulaciju igraće konzole dostupan za Linux. Emulacija je sloj kompatibilnosti softvera koji oponaša hardve...
Najbolji Linux Distros za igre na sreću 2021. godine
Linux operativni sustav daleko je prevalio svoj izvorni, jednostavni izgled zasnovan na poslužitelju. Ovaj se OS posljednjih godina izuzetno poboljšao...
Kako snimiti i struji svoju igraću sesiju na Linuxu
U prošlosti se igranje igara smatralo samo hobijem, ali s vremenom je igračka industrija zabilježila ogroman rast u pogledu tehnologije i broja igrača...