Kubernetes

Vadnica za operaterja Kubernetes

Vadnica za operaterja Kubernetes
Operaterji Kubernetes so koncept, ki ga je projekt CoreOS uvedel za razširitev zmogljivosti Kubernetesa, zlasti upravljanja aplikacij Stateful. Poenostaviti naj bi celoten življenjski cikel virov s stanjem, od pakiranja aplikacije in njene razmestitve v gručo Kubernetes, pa vse do upravljanja in skaliranja aplikacije.

Na primer, nekatere ključne komponente Kubernetes, kot je etcd, imajo ustrezne operaterje, ki so na voljo v projektu CoreOs. Etcd je porazdeljena shramba ključ-vrednost, ki v vsakem trenutku odraža stanje celotne gruče Kubernetes. Seveda gre za aplikacijo s stanjem in različni krmilniki Kubernetes se sklicujejo na etcd, da bi ugotovili, kakšen bo njihov naslednji korak. Na primer, krmilnik ReplicaSet si bo ogledal število pods, ki se izvajajo pod določenim izbirnikom, in poskusil približati število delujočih primerkov številu, ki ga določa vaš ReplicaSet ali YAML razmestitve. ReplicaSet se nanaša na etcd, ki beleži število delujočih strokov in ko se število pods spremeni v želeno vrednost, bi etcd posodobil tudi svoj zapis o njem.

Toda ko gre za aplikacije Stateful, kot je sam etcd, brez resnejšega posredovanja ne moremo zavrteti več strokov v različnih vozliščih. Ker morajo imeti vsi delujoči primerki ves čas skladne podatke. Tu so operaterji prav prišli.

Pogoji

Če želite nadaljevati v tej vadnici, lahko začnete z nečim majhnim, kot je Minikube, nameščen na prenosnem računalniku, ali distribucija Kubernetes, ki je priložena Dockerju za namizje.

Pomembno je, da za začetek razumemo osnovne ideje Kubernetesa.

Itd

Ustvarimo operaterja, ki bi upravljal etcd v naši gruči Kubernetes. Etcd ne bomo namestili kot komponento Kubernetes (se pravi v imenskem prostoru sistema kube), temveč kot običajno aplikacijo. Ker bi s tem ogrozili celotno skupino. Ko pa so operaterji udobni, jih lahko uporabite za razmestitev etcd v sistem kube, ko zaženete novo gručo.

Tukaj bom uporabljal igrišče Katacoda, natančnejši pregled imenskega prostora sistema kube pa bi vam pokazal, da imamo en pod, ki teče itdd za nas. Ampak to ni nekaj, s čimer se bomo ukvarjali. Etcd bomo namestili v privzeti imenski prostor, ki ga upravlja etcd-operator

Zagon privzetega imenskega prostora ne izvaja nobenih podstavkov, imamo čisto skrivnost.

$ kubectl dobite stroke

Ni virov.

Zdaj pa namestimo nov primerek etcd v tem imenskem prostoru. Začnemo s kloniranjem repozitorija, čemur sledi preprost ukaz kubectl.

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

Ustvarjanje Etcd operaterja

V repo je več primerov, na katerih bi lahko delovali, prvi bi ustvaril preprost operator etcd z uporabo uvajanje.yaml mapa. Preden to uporabimo, moramo najprej ustvariti vlogo za operaterja, prek katerega lahko upravlja in spreminja gručo etcd. To vlogo lahko ustvarite s skriptom lupine.

$ / example / rbac / create_role.sh
$ kubectl ustvari -f ./ primer / razmestitev.yaml

Objekt operaterja bo ustvarjen z zadnjim ukazom, čeprav ne bo nič, s čimer bi lahko delovali. Gručice etcd še nimamo. Ustvarimo ga torej.

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

To ustvari skupko pods datotek etcd. Lahko jih vidite s pomočjo:

$ kubectl dobite stroke
 
IME PRIPRAVLJENO STANJE ZAVARUJE STAROST
etcd-operator-69b559656f-495vg 1/1 Tek 0 9m
primer-etcd-cluster-9bxfh657qq 1/1 Deluje 0 23s
primer-etcd-cluster-ntzp4hrw79 1/1 Tek 0 8m
primer-etcd-cluster-xwlpqrzj2q 1/1 Deluje 0 9m

Prvi na tem seznamu je operator pod, ki bi zagotovil, da gruča etcd ohrani določeno stanje, kot je navedeno v datotekah yaml, ki smo jih uporabili prej. Če poskusite izbrisati enega od podskupin-etcd-cluster, bo na njegovo mesto ustvarjen še en. To je izredno podobno tistemu, kar počne ReplicaSet, toda tukaj so stroki državni!

Operaterji na splošno

Kot smo že omenili, so operaterji splošni okvir, znotraj katerega je mogoče uvesti in upravljati zapletene aplikacije. Sam okvir je tisto, zaradi česar so uporabni, in nekateri primeri, kot so operator etcd ali operater Prometheus, ki jih ponuja CoreOS, naj bi vam delovali kot vodilo za razvoj lastne aplikacije na podoben način.

Nekaj ​​pomembnih vidikov operaterjev Kubernetes je SDK uporablja se za pisanje, izdelavo in preizkušanje lastnega operaterja po meri, druga pa je ideja Upravitelj življenjskega cikla operaterja pri čemer lahko razmišljate o vseh različnih stopnjah, ki jih lahko preživijo vaš operater in storitve, ki jih ponuja.

Faze življenjskega cikla lahko vključujejo različne posodobitve, ugotavljanje, kateri operater se izvaja v katerih imenskih prostorih, in posodabljanje operaterjev, ko pride nova različica.

Reference

Veliko več o tej tehnologiji lahko preberete v:

  1. Prvotna objava CoreOS in
  2. Operater etcd lahko raziskujete tukaj
5 najboljših arkadnih iger za Linux
Dandanes so računalniki resni stroji, ki se uporabljajo za igre na srečo. Če ne boste mogli dobiti novega visokega rezultata, boste vedeli, kaj mislim...
Bitka za Wesnoth 1.13.6 Razvoj izdan
Bitka za Wesnoth 1.13.6, ki je izšel prejšnji mesec, je šesta razvojna izdaja v 1.13.x series in prinaša številne izboljšave, predvsem uporabniški vme...
Kako namestiti League Of Legends na Ubuntu 14.04
Če ste ljubitelj League of Legends, je to priložnost, da preizkusite League of Legends. Upoštevajte, da LOL podpira PlayOnLinux, če uporabljate Linux....