Kubernetes

„Kubernetes“ operatoriaus pamoka

„Kubernetes“ operatoriaus pamoka
„Kubernetes Operators“ yra „CoreOS“ projekto pristatyta koncepcija, skirta išplėsti „Kubernetes“ galimybes, ypač „Stateful“ programų valdymą. Tai turėtų supaprastinti visą valstybinių išteklių gyvavimo ciklą nuo programos pakavimo iki jos įdiegimo į „Kubernetes“ grupę iki programos valdymo ir mastelio.

Pavyzdžiui, kai kurie pagrindiniai „Kubernetes“ komponentai, pvz., Etcd, turi atitinkamus operatorius, kuriuos pateikia „CoreOs“ projektas. Etcd yra paskirstyta raktų vertės saugykla, atspindinti visos „Kubernetes“ sankaupos būseną bet kuriuo momentu. Natūralu, kad tai yra būsena, o įvairūs „Kubernetes“ valdikliai nurodo etcd, kad išsiaiškintų, koks bus jų kitas žingsnis. Pvz., „ReplicaSet“ valdiklis pažvelgs į podkų, veikiančių pagal tam tikrą parinkiklį, skaičių ir bandys, kad veikiančių egzempliorių skaičius būtų lygus jūsų „ReplicaSet“ arba „Deployment YAML“ nurodytam skaičiui. „ReplicaSet“ nurodo etcd, kuris seka veikiančių ankščių skaičių, o pakeitus podų skaičių į norimą vertę, etcd taip pat atnaujins savo įrašą.

Bet kalbant apie „Stateful“ programas, pvz., Patį etcd, mes negalime sukti daugiau ankščių skirtinguose mazguose be rimtos intervencijos. Nes visuose vykstančiuose egzemplioriuose visada turi būti duomenys, nuoseklūs. Čia operatoriai praverčia.

Būtinos sąlygos

Jei norite sekti šią pamoką, galite pradėti nuo kažko mažo, pvz., „Minikube“, įdiegto jūsų nešiojamame kompiuteryje, arba „Kubernetes“ paskirstymo, pateikto kartu su „Docker“ darbalaukiui.

Svarbiausia, kad pirmiausia suprastumėte pagrindines „Kubernetes“ idėjas.

Ir kt

Sukurkime Operatorių, kuris valdytų „etc“ visoje mūsų „Kubernetes“ grupėje. Diegsime ne etcd kaip „Kubernetes“ komponentą (t. Y. „Kube-system“ vardų srityje), bet kaip įprastą programą. Nes tai padarius rizikuotų visas klasteris. Tačiau kai jums patiks Operatoriai, galėsite juos naudoti diegdami etc failus kube sistemoje, kai paleidžiate naują klasterį.

Čia naudosiu „Katacoda“ žaidimų aikštelę, o atidžiau apžiūrėjus „kube“ sistemos vardų sritį, paaiškės, kad mes turime vieną „pod“ ir kt. Bet tai nėra kažkas, dėl ko mes griausimės. Mes įdiegsime etcd numatytoje vardų srityje, kurią tvarko etcd-operatorius

Pradėjus naudoti numatytąją vardų sritį, neveikia ankštys, turime švarų skalę.

$ kubectl gauna ankštis

Nerasta jokių išteklių.

Dabar šioje vardų srityje įdiekime naują etcd egzempliorių. Pirmiausia klonuojame saugyklą, po kurios seka paprasta komanda „kubectl“.

$ git klonas https: // github.com / coreos / etcd-operatorius.git
$ cd etd-operatorius

Kuriamas Etcd Operator

Atpirkime yra keletas pavyzdžių, kuriuos reikia naudoti, pirmiausia sukuriant paprastą etcd operatorių dislokavimas.yaml failą. Prieš tai naudodamiesi, pirmiausia turime sukurti operatoriaus vaidmenį, per kurį jis gali valdyti ir išplėsti etcd grupę. Galite sukurti tą vaidmenį naudodami apvalkalo scenarijų.

$ / example / rbac / create_role.sh
$ kubectl sukurti -f ./ pavyzdys / dislokavimas.yaml

Operatoriaus objektą sukurs paskutinė komanda, nors nieko nebus. Mes dar neturime etcd klasterio. Taigi sukurkime vieną.

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

Tai sukuria etcd ankščių grupę. Juos galite pamatyti naudodami:

$ kubectl gauna ankštis
 
PAVADINIMAS PARUOŠTAS BŪKLĖ PAGAL PALEIDIMĄ AMŽIAUS
etcd-operator-69b559656f-495vg 1/1 bėgimas 0 9m
example-etcd-cluster-9bxfh657qq 1/1 Veikia 0 23s
example-etcd-cluster-ntzp4hrw79 1/1 Veikia 0 8m
example-etcd-cluster-xwlpqrzj2q 1/1 Veikia 0 9m

Pirmasis šiame sąraše yra operatoriaus pod, kuris užtikrintų, kad etcd klasteris palaiko tam tikrą būseną, kaip nurodyta anksčiau naudojamuose „yaml“ failuose. Jei bandysite ištrinti vieną iš pavyzdžių-etcd-cluster ankščių, jos vietoje bus sukurta kita. Tai nepaprastai panašu į tai, ką daro „ReplicaSet“, tačiau čia yra ankštys!

Operatoriai apskritai

Kaip minėta anksčiau, Operatoriai yra bendra sistema, pagal kurią galima diegti ir valdyti sudėtingas programas. Pati sistema daro juos naudingus, o „CoreOS“ pateikiami konkretūs pavyzdžiai, pvz., „Etcd“ operatorius ar „Prometheus“ operatorius, yra naudojami kaip vadovas jums panašiai kurti savo programą.

Keletas svarbių „Kubernetes“ operatorių aspektų yra SDK naudojamas rašant, kuriant ir išbandant savo pasirinktą operatorių, antroji yra idėja Operatoriaus gyvenimo ciklo vadybininkas kur galite pagalvoti apie visus įvairius etapus, kuriuos gali atlikti jūsų operatorius ir jo siūloma paslauga.

Gyvenimo ciklo etapai gali apimti įvairius atnaujinimus, išsiaiškinti, kuris operatorius naudoja kokias vardų sritis, taip pat atnaujinti operatorius, kai pasirodys nauja versija.

Literatūra

Galite sužinoti daugiau apie šią technologiją:

  1. Originalus „CoreOS“ įrašas ir
  2. Čia galite ieškoti operatoriaus etcd
Kaip pakeisti kairįjį ir dešinįjį pelės mygtukus „Windows 10“ kompiuteryje
Gana įprasta, kad visi kompiuterio pelės įrenginiai yra ergonomiškai sukurti dešiniarankiams. Tačiau yra pelių prietaisų, specialiai sukurtų kairiaran...
Mėgdžiokite pelės paspaudimus, užveskite pelės žymeklį naudodami pelę „Clickless Mouse“ sistemoje „Windows 10“
Pelės ar klaviatūros naudojimas netinkamoje laikysenoje, kai naudojama per daug, gali sukelti daug sveikatos problemų, įskaitant įtampą, riešo kanalo ...
Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...