Kubernetes

Výukový program pro operátory Kubernetes

Výukový program pro operátory Kubernetes
Kubernetes Operators jsou koncept zavedený projektem CoreOS k rozšíření schopností Kubernetes, zejména správy stavových aplikací. Předpokládá se, že to zjednoduší celý životní cyklus stavových prostředků od zabalení aplikace a jejího nasazení do klastru Kubernetes až po správu a škálování aplikace.

Například některé základní komponenty Kubernetes jako etcd mají své odpovídající operátory zpřístupněné projektem CoreOs. Etcd je úložiště distribuovaných klíčů a hodnot, které odráží aktuální stav celého klastru Kubernetes v daném okamžiku. Přirozeně se jedná o stavovou aplikaci a různé řadiče Kubernetes odkazují na etcd, aby zjistili, jaký bude jejich další krok. Například řadič ReplicaSet se podívá na počet lusků spuštěných pod daným selektorem a pokusí se přinést počet spuštěných instancí rovný počtu určenému vaší ReplicaSet nebo Deployment YAML. ReplicaSet odkazuje na etcd, který sleduje počet běžících lusků a jakmile se počet lusků změní na požadovanou hodnotu, etcd by také aktualizoval svůj záznam.

Ale pokud jde o stavové aplikace, jako je samotný etcd, nemůžeme roztočit více lusků napříč různými uzly bez vážného zásahu. Protože všechny spuštěné instance musí mít neustále konzistentní data. To je místo, kde se operátoři hodí.

Předpoklady

Pokud si přejete postupovat v tomto výukovém programu, můžete začít s něčím malým, jako je Minikube nainstalovaný ve vašem notebooku, nebo s distribucí Kubernetes dodávanou s Dockerem pro stolní počítače.

Důležité je nejprve porozumět základním myšlenkám Kubernetes.

Atd

Pojďme vytvořit operátora, který by spravoval etcd v našem klastru Kubernetes. Nebudeme instalovat etcd jako součást Kubernetes (tj. V oboru jmen kube-system), ale jako běžná aplikace. Protože by to ohrozilo celý klastr. Jakmile vám však budou operátoři vyhovovat, můžete je použít k nasazení etcd v systému kube při zavádění nového klastru.

Budu zde používat Katacoda Playground a bližší prohlídka oboru jmen kube-system vám ukáže, že máme pro nás jeden pod běžící etcd. Ale to není něco, na čem budeme hrát. Nainstalujeme etcd do výchozího jmenného prostoru spravovaného operátorem etcd

Spuštění výchozího jmenného prostoru nemá spuštěné žádné lusky, máme čistou tabulku.

$ kubectl získat lusky

Nebyly nalezeny žádné zdroje.

Nyní pojďme do tohoto jmenného prostoru nainstalovat novou instanci etcd. Začneme klonováním úložiště a následným jednoduchým příkazem kubectl.

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

Vytváření operátora Etcd

V repo existuje několik příkladů, se kterými se dá pracovat, první by vytvořil jednoduchý operátor etcd pomocí rozvinutí.yaml soubor. Než to použijeme, musíme nejprve vytvořit roli pro operátora, pomocí které lze spravovat a škálovat cluster atd. Tuto roli můžete vytvořit pomocí skriptu prostředí.

$ / example / rbac / create_role.sh
$ kubectl create -f ./ příklad / nasazení.yaml

Objekt operátoru bude vytvořen posledním příkazem, ačkoli na něm nebude nic fungovat. Zatím nemáme cluster etcd. Pojďme si tedy jeden vytvořit.

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

Tím se vytvoří shluk atdd lusků. Můžete je vidět pomocí:

$ kubectl získat lusky
 
STAV JMÉNA PŘIPRAVENO VĚC RESTARTUJE
etcd-operator-69b559656f-495vg 1/1 Běh 0 9 m
example-etcd-cluster-9bxfh657qq 1/1 běží 0 23 s
example-etcd-cluster-ntzp4hrw79 1/1 běží 0 8 m
example-etcd-cluster-xwlpqrzj2q 1/1 Běh 0 9 m

První v tomto seznamu je podložka operátora, která by zajistila, že si klastr etcd udrží určitý stav, jak je uvedeno v souborech yaml, které jsme použili dříve. Pokud se pokusíte odstranit jeden z příkladů pod-etcd-cluster, vytvoří se další, který zaujme jeho místo. To je pozoruhodně podobné tomu, co dělá ReplicaSet, ale zde jsou pody stavové!

Provozovatelé obecně

Jak již bylo zmíněno dříve, operátoři jsou obecným rámcem, ve kterém lze nasadit a spravovat složité aplikace. Samotný rámec je to, co je činí užitečnými, a konkrétní příklady jako operátor etcd nebo operátor Prometheus, které poskytuje CoreOS, mají sloužit jako vodítko pro vývoj vaší vlastní aplikace podobným způsobem.

Několik důležitých aspektů operátorů Kubernetes je SDK používá se pro psaní, vytváření a testování vašeho vlastního operátora, druhým je myšlenka Správce životního cyklu operátora ve kterém můžete přemýšlet o všech různých fázích, kterými může váš operátor i služba, kterou nabízí, projít.

Fáze životního cyklu mohou zahrnovat různé aktualizace, zjišťování, který operátor běží ve kterých jmenných prostorech, a také aktualizaci operátorů, když přijde nová verze.

Reference

O této technologii si můžete přečíst mnohem více v:

  1. Původní příspěvek CoreOS a
  2. Operátor atd. Lze prozkoumat zde
Trackpad a ukazatel myši AppyMouse na obrazovce pro tablety Windows
Uživatelé tabletů často postrádají ukazatel myši, zejména když obvykle používají notebooky. Dotykové smartphony a tablety mají mnoho výhod a jediným o...
Střední tlačítko myši nefunguje ve Windows 10
The prostřední tlačítko myši pomáhá procházet dlouhé webové stránky a obrazovky se spoustou dat. Pokud se to zastaví, budete nakonec používat klávesni...
Jak změnit levé a pravé tlačítko myši na počítači se systémem Windows 10
Je úplnou normou, že všechna zařízení počítačových myší jsou ergonomicky navržena pro praváky. K dispozici jsou však myší zařízení, která jsou speciál...