Kubernetes

Vodič za operatora Kubernetesa

Vodič za operatora Kubernetesa
Kubernetes operatori koncept je koji je CoreOS projekt uveo kako bi proširio mogućnosti Kubernetesa, posebno upravljanje aplikacijama sa statusom Stateful. Trebao bi pojednostaviti čitav životni ciklus resursa s podacima od pakiranja aplikacije i njenog raspoređivanja u Kubernetesov klaster sve do upravljanja i skaliranja aplikacije.

Kao primjer, neke od temeljnih Kubernetes komponenata poput etcd imaju odgovarajuće operatore dostupne u projektu CoreOs. Etcd je distribuirano spremište ključ / vrijednost koje odražava stanje cijele Kubernetesove klastere u bilo kojem trenutku. Prirodno je da je to aplikacija koja se odnosi na razne Kubernetes kontrolere i odnosi se na etcd kako bi shvatili koji će biti njihov sljedeći korak. Na primjer, kontroler ReplicaSet će pogledati broj podsustava koji se izvode pod određenim selektorom i pokušati dovesti broj izvršenih instanci jednak broju navedenom u vašem YAML-u ReplicaSet ili Deployment. ReplicaSet se odnosi na etcd koji prati broj izvršenih mahuna, a nakon što se broj mahuna promijeni u željenu vrijednost, etcd će također ažurirati svoj zapis o tome.

Ali što se tiče Stateful aplikacija, poput samog etcd, ne možemo okretati više mahuna na različitim čvorovima bez neke ozbiljne intervencije. Budući da sve pokrenute instance moraju u svakom trenutku imati podatke međusobno konzistentne. Tu operateri dobro dođu.

Preduvjeti

Ako želite slijediti ovaj vodič, možete započeti s nečim malim poput Minikubea instaliranog na vašem prijenosnom računalu ili Kubernetesove distribucije koja dolazi s Dockerom za radnu površinu.

Važno je za početak imati razumijevanje osnovnih Kubernetesovih ideja.

Itd

Stvorimo Operatora koji bi upravljao etcd-om kroz našu Kubernetes klaster. Nećemo instalirati etcd kao Kubernetes komponentu (to jest u prostoru imena sistema kube), već kao redovnu aplikaciju. Jer bi to stavljanje u opasnost cijelog klastera. Međutim, nakon što se udobno odlučite za operatore, možete ih koristiti za postavljanje etcd-a u kube-sustav dok podižete novu klaster.

Ovdje ću koristiti igralište Katacoda, a detaljniji pregled prostora imena sistema kube pokazao bi vam da imamo jedan pokrov koji pokreće etcd za nas. Ali to nije nešto s čime ćemo se petljati. Instalirat ćemo etcd u zadani prostor imena kojim upravlja etcd-operator

Pokretanje zadanog prostora imena nema pokrenute mahune, mi imamo čisti obrazac.

$ kubectl dobiti mahune

Nisu pronađeni resursi.

Ajmo sada instalirati novu instancu etcd u ovaj prostor imena. Počinjemo s kloniranjem spremišta nakon čega slijedi jednostavna naredba kubectl.

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

Izrada Etcd operatora

U repo-u postoji nekoliko primjera za operiranje, prvi bi stvorio jednostavan etcd operator pomoću raspoređivanje.yaml datoteka. Prije nego što to upotrijebimo, prvo moramo stvoriti ulogu za operatora putem koje može upravljati i skalirati etcd klaster. Tu ulogu možete stvoriti pomoću skripte ljuske.

$ / example / rbac / create_role.sh
$ kubectl stvori -f ./ primjer / raspoređivanje.yaml

Objekt operatora stvorit će se zadnjom naredbom, iako se neće imati na čemu operirati. Još nemamo klaster etcd. Pa hajde da ga stvorimo.

$ kubectl stvori -f ./ primjer / primjer-etcd-klaster.yaml

Ovo stvara skup etcd mahuna. Možete ih vidjeti pomoću:

$ kubectl dobiti mahune
 
IME SPREMNI STATUS VRAĆA DOBU
etcd-operator-69b559656f-495vg 1/1 Trčanje 0 9m
primjer-etcd-cluster-9bxfh657qq 1/1 Trčanje 0 23s
primjer-etcd-cluster-ntzp4hrw79 1/1 Trčanje 0 8m
primjer-etcd-cluster-xwlpqrzj2q 1/1 Trčanje 0 9m

Prvi na ovom popisu je operator pod koji bi osigurao da etcd klaster održava određeno stanje, kao što je navedeno u yaml datotekama koje smo ranije koristili. Ako pokušate izbrisati jednu od mahuna primjera-etcd-klastera, stvorit će se druga koja će zauzeti njegovo mjesto. To je nevjerojatno slično onome što ReplicaSet radi, ali ovdje mahune imaju status!

Operateri općenito

Kao što je ranije spomenuto, operateri su opći okvir unutar kojeg se može razmjestiti i upravljati složenim aplikacijama. Sam okvir je ono što ih čini korisnima, a posebni primjeri poput etcd operatora ili Prometheus operatora koje CoreOS pruža trebaju služiti kao vodič za razvoj vlastite aplikacije na sličan način.

Nekoliko važnih aspekata Kubernetes operatora su SDK koristi se za pisanje, izgradnju i testiranje vlastitog prilagođenog operatora, druga je ideja Upravitelj životnog ciklusa operatora pri čemu možete razmišljati o svim raznim fazama kroz koje može proći vaš operater, kao i usluga koju nudi.

Faze životnog ciklusa mogu uključivati ​​različita ažuriranja, otkrivanje kojeg operatora je pokrenut u kojim imenskim prostorima, kao i ažuriranje operatora kada se pojavi nova verzija.

Reference

Puno više o ovoj tehnologiji možete pročitati u:

  1. Izvorni post CoreOS-a i
  2. Operator etcd možete istražiti ovdje
Najbolje aplikacije za mapiranje gamepada za Linux
Ako volite igrati igre na Linuxu s gamepadom umjesto tipičnim sustavom za unos tipkovnice i miša, za vas postoji nekoliko korisnih aplikacija. Mnoge r...
Korisni alati za Linux igrače
Ako volite igrati igre na Linuxu, velika je vjerojatnost da ste možda koristili aplikacije i uslužne programe poput Wine, Lutris i OBS Studio za pobol...
HD Remastered igre za Linux koje ranije nisu imale Linux izdanje
Mnogi programeri i izdavači igara dolaze s HD remasterom starih igara kako bi produžili životni vijek franšize, molimo obožavatelje da zatraže kompati...