Kubernetes

Výukový program pre operátorov Kubernetes

Výukový program pre operátorov Kubernetes
Kubernetes Operators sú koncept zavedený projektom CoreOS na rozšírenie schopností Kubernetes, najmä správy stavových aplikácií. Má to zjednodušiť celý životný cyklus stavových prostriedkov od zabalenia aplikácie a jej nasadenia do klastra Kubernetes až po správu a zmenu veľkosti aplikácie.

Napríklad niektoré kľúčové komponenty Kubernetes ako etcd majú svojich zodpovedných operátorov sprístupnených v rámci projektu CoreOs. Etcd je distribuovaný obchod s kľúčmi a hodnotami, ktorý odráža stav spustenia celého klastra Kubernetes v danom okamihu. Prirodzene ide o stavovú aplikáciu a rôzne radiče Kubernetes odkazujú na etcd, aby zistili, aký bude ich ďalší krok. Napríklad radič ReplicaSet sa pozrie na počet podov bežiacich pod daným selektorom a pokúsi sa počet spustených inštancií rovnať počtu určenému vašou ReplicaSet alebo Deployment YAML. Sada ReplicaSet označuje súbor etcd, ktorý sleduje počet spustených podov, a akonáhle sa počet podov zmení na požadovanú hodnotu, etcd aktualizuje svoj záznam aj o ňom.

Ale pokiaľ ide o stavové aplikácie, ako napríklad samotné etcd, nemôžeme roztočiť viac podov v rôznych uzloch bez vážnejších zásahov. Pretože všetky bežiace inštancie musia mať neustále navzájom konzistentné údaje. Tu prichádzajú vhod operátori.

Predpoklady

Ak chcete nasledovať tento návod, môžete začať s niečím malým, ako je Minikube nainštalovaný na vašom notebooku alebo s distribúciou Kubernetes dodávanou s programom Docker pre počítač.

Je dôležité porozumieť základným myšlienkam Kubernetesa.

Atď

Vytvorme operátora, ktorý by spravoval etcd v našom klastri Kubernetes. Nebudeme inštalovať etcd ako súčasť Kubernetes (to znamená v mennom priestore kube-system), ale ako bežná aplikácia. Pretože by to ohrozilo celý klaster. Akonáhle vám však budú operátori vyhovovať, môžete ich použiť na nasadenie etcd v systéme kube pri zavádzaní nového klastra.

Budem tu používať ihrisko Katacoda a bližšia prehliadka priestoru mien kube-systému by ti ukázala, že máme pre nás spustený jeden pod etcd. Ale to nie je niečo, na čom budeme fičať. Nainštalujeme etcd do predvoleného priestoru mien spravovaného operátorom etcd

Ak začneme s predvoleným menným priestorom, nebudú spustené žiadne pody, máme čistý štít.

$ kubectl získať struky

Nenašli sa žiadne zdroje.

Teraz nainštalujme novú inštanciu etcd v tomto mennom priestore. Začíname klonovaním úložiska a jednoduchým príkazom kubectl.

$ git klon https: // github.com / coreos / etcd-operator.git
$ cd operátor etd

Vytvára sa operátor Etcd

V repo operácii existuje niekoľko príkladov, z ktorých prvý by vytvoril jednoduchý operátor etcd pomocou nasadenie.yaml spis. Predtým, ako to použijeme, musíme najskôr vytvoriť rolu pre operátora, prostredníctvom ktorej môže spravovať a škálovať klaster etcd. Túto úlohu môžete vytvoriť pomocou shell skriptu.

$ / example / rbac / create_role.š
$ kubectl create -f ./ príklad / nasadenie.yaml

Objekt operátora bude vytvorený posledným príkazom, aj keď nebude s čím pracovať. Klaster etcd zatiaľ nemáme. Vytvorme si teda jeden.

$ kubectl create -f ./ example / example-etcd-cluster.yaml

Takto sa vytvorí klaster pod. Môžete ich vidieť pomocou:

$ kubectl získať struky
 
STAV NÁZOV PRIPRAVENÝ NARODENÝ VEK
etcd-operator-69b559656f-495vg 1/1 Beh 0 9 m
example-etcd-cluster-9bxfh657qq 1/1 beh 0 23 s
example-etcd-cluster-ntzp4hrw79 1/1 Beh 0 8m
example-etcd-cluster-xwlpqrzj2q 1/1 Beh 0 9 m

Prvý v tomto zozname je operátor pod, ktorý by zabezpečil, že si klaster etcd zachová určitý stav, ako je uvedené v súboroch yaml, ktoré sme použili skôr. Ak sa pokúsite vymazať jeden z príkladov-etcd-cluster pod, vytvorí sa ďalší, ktorý nahradí tento. Je to pozoruhodne podobné tomu, čo robí ReplicaSet, ale tu sú pody stavové!

Prevádzkovatelia všeobecne

Ako už bolo spomenuté, operátori sú všeobecným rámcom, v ktorom je možné nasadiť a spravovať zložité aplikácie. Samotný rámec je to, čo ich robí užitočnými, a konkrétne príklady ako operátor etcd alebo operátor Prometheus, ktoré poskytuje CoreOS, majú slúžiť ako pomôcka pre vývoj vašej vlastnej aplikácie podobným spôsobom.

Niekoľko dôležitých aspektov operátorov Kubernetes je SDK používaný na písanie, zostavovanie a testovanie vášho vlastného operátora, druhým je myšlienka Manažér životného cyklu prevádzkovateľa v ktorom môžete premýšľať o všetkých rôznych fázach, ktorými môže prejsť váš operátor, ako aj o službách, ktoré ponúka.

Fázy životného cyklu môžu zahŕňať rôzne aktualizácie, zisťovanie, ktorý operátor beží v ktorých menných priestoroch, a tiež aktualizáciu operátorov, keď príde nová verzia.

Referencie

Mnoho ďalších informácií o tejto technológii si môžete prečítať v:

  1. Pôvodný príspevok CoreOS a
  2. Operátor etcd je možné preskúmať tu
Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...
Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...