Kubernetes

Nastavite grozd Kubernetes na DigitalOcean

Nastavite grozd Kubernetes na DigitalOcean

Kubernetes je ena redkih tehnologij, s katero se ljudje borijo ne zato, ker je zapletena in težko razumljiva, temveč zato, ker je zasnovana za delovanje na strojni opremi strežnika in je ni mogoče enostavno simulirati v običajnem domačem računalniku, ki je enostavno. Na srečo obstajajo različne platforme, ki jih gosti v oblaku in zagotavljajo dostopno infrastrukturo za eksperimentiranje in razumevanje tehnologij, kot je Kubernetes.Kot predpogoj vas pozivam, da si ogledate naše prispevke o arhitekturi Kubernetes ter o vozliščih in strokih, gradnikih grozda Kubernetes.Čeprav obstaja veliko gostujočih rešitev za Kubernetes, bomo vse postavili od začetka na DigitalOcean, ki je rešitev za gostovanje v oblaku, namenjena zlasti razvijalcem.

Primerek VPS na tej platformi je znan kot kapljica. Za zagon Kubernetes potrebujete vsaj 2 GB RAM-a in za to predstavitev bomo uporabili kapljice možnosti 20 USD / mesec. Tudi na uro zaračunajo, tako da če nekaj ur eksperimentirate in nato uničite vse kapljice, boste na koncu plačali največ nekaj dolarjev.

Zdaj imamo dva stroja, eden z oznako master in drugi bo delovno vozlišče. Torej, najprej konfigurirajmo master.


Konfiguriranje glavnega vozlišča

Če želite konfigurirati glavno vozlišče, vanj vnesite SSH z javnim IP-jem ali uporabite konzolo, ki jo nudi DigitalOcean, za dostop do terminala kot korenski uporabnik.

Prvi ukazi so osnovni gospodinjski:

$ apt posodobitev && apt nadgradnja -y

Nato pridobimo zahtevane ključe gpg in jih dodamo na naš seznam zaupanja vrednih oddaljenih skladišč.

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

Ponovni zagon apt posodobitve bo sistem pospešil z uradnim repozicijskim Kubernetesom. Zdaj namestimo potrebne pakete.

$ apt namestite docker.io
#Docker je potreben za vsebništvo aplikacij.
$ apt namestite kubelet kubeadm kubectl kubernetes-cni

Zadnji ukaz namesti nekaj paketov, od katerih je vsak pomemben iz različnih razlogov:

  1. Kubeadm: Zažene in zažene Kubernetes na vozlišču. Z njim lahko kapljici dodelite vlogo glavnega vozlišča ali delovnega vozlišča.
  2. Kubelet: To je proces v ozadju, ki se pogovarja z glavnim vozliščem in izvaja dejanja, ki jih zahteva.
  3. Kubectl: To je orodje ukazne vrstice, ki razvijalcem in operativnemu osebju omogoča interakcijo in nadzor nad grozdom Kubernetes.
  4. Kubernetes-cni: To je vmesnik za mreženje kontejnerjev, potreben za notranjo komunikacijo med stroji in zunanjo komunikacijo.

Zdaj, ko smo namestili vse potrebne pakete, je čas, da inicializiramo glavno vozlišče. Zaženite naslednje:

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

Zadnjo spremenljivko $ DROPLET_IP_ADDRESS zamenjajte z javnim IP-jem glavnega vozlišča. Če bi vse delovalo v redu, bi bil to vaš izhod:

Prepričajte se, da ste kopirali zadnjo vrstico »kubeadm join -token ...«, saj vsebuje potrebne varnostne poverilnice, ki bi jih delovno vozlišče potrebovalo za pridružitev gruči.

Na vsakem glavnem vozlišču se izvaja strežnik API, ki ga bo zgornji ukaz izpostavil omrežju pod in tudi vmesniku ukazne vrstice, kubectl, kot tudi na izbirni spletni uporabniški vmesnik.

Opomba: Javni naslov IP kapljice lahko uporabite za kubeadm init ukaz, če pa želite svoje glavno vozlišče izolirati od preostalega sveta, boste morda želeli uporabiti zasebno funkcijo IP DigitalOcean, ki jo bodo različni stroki v različnih vozliščih uporabljali za medsebojni pogovor. Pozneje lahko izpostavite samo storitve front-end, ko se vaš projekt uresniči.

V redu, še zadnji korak, preden si ogledamo zdravstveno poročilo na našem glavnem vozlišču. Morda boste želeli zagnati:

$ mkdir -p $ DOMOV /.kube
$ cp / etc / kubernetes / admin.conf $ HOME /.kube
$ chown $ (id -u): $ (id -g) $ HOME / admin.conf
$ kubectl ustvari -f
https: // surovo.githubusercontent.com / coreos / flanel / master / dokumentacija / kube-flanel.yml --namespace = kube-sistem

Flannel je nameščen v zadnjem ukazu, ki zagotavlja mrežno funkcionalnost plasti 3, potrebno za vsebnike.
Zdaj lahko tečemo,

$ kubectl dobi vozlišča
$ kubectl dobi pods -all-namespaces

Kar bi nam pokazalo stanje vseh vozlišč in vseh pods v tej gruči, ki je trenutno le ena. Čas je, da konfiguriramo drugo kapljico in jo pretvorimo v Kubernetesovo delovno vozlišče.


Konfiguriranje minions ali vozlišč delavcev

Veliko konfiguracij minionov bo ponovitev tega, kar smo storili zgoraj, je iz kubeadm ukaz, da se bo cesta začela razhajati.

Torej, da konfigurirate svoje delovno vozlišče tako, da ponovite vse ukaze do vključno namestitve paketov,

$ apt namestite kubelet kubeadm kubectl kubernetes-cni

Nato kapljico inicializirate kot vozlišče kubernetes, zaženite ukaz, ki je bil ustvarjen v glavnem vozlišču, po zaključkukubeadm init.

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

Upoštevajte, da se bodo vsebine, ki sledijo vaši zastavi žetona, naslovu IP in kontrolni vsoti sha256, v vašem primeru zelo razlikovale. To je to! Kot član gruče Kubernetes imate novo vozlišče. To lahko potrdite tako, da navedete vozlišča in pods, ki se izvajajo v tej gruči.


Zaključek

Zdaj je čas, da uvedete svoj dockerized aplikacijo v tej gruči in vas prosimo, da zavrtite več kapljic in uporabite kubeadm pridruži se za dodajanje novih članov v svojo gručo Kubernetes.

Kako uporabiti Xdotool za spodbujanje klikov in pritiskov mišk v Linuxu
Xdotool je brezplačno in odprtokodno orodje za ukazno vrstico, ki simulira klike in pritiske tipk. Ta članek bo zajemal kratek vodnik o uporabi xdotoo...
Najboljših 5 izdelkov z ergonomsko računalniško miško za Linux
Ali dolgotrajna uporaba računalnika povzroča bolečine v zapestju ali prstih? Ali imate trde sklepe in bi se morali neprestano tresti z rokami? Ali čut...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...