Dnes chceme hovořit o VMware Tanzu, nové řadě produktů a služeb, která byla oznámena během loňské konference VMWorld. Na programu je jeden z nejzajímavějších nástrojů: Tanzu Mission Control.
Buďte opatrní: pod řezem je mnoho obrázků.
Co je Mission Control
Jak sama společnost uvádí na svém blogu, hlavním cílem VMware Tanzu Mission Control je „vnést řád do klastrového chaosu“. Mission Control je platforma řízená rozhraním API, která umožní správcům aplikovat zásady na clustery nebo skupiny clusterů a nastavit pravidla zabezpečení. Nástroje založené na SaaS se bezpečně integrují do clusterů Kubernetes prostřednictvím agenta a podporují řadu standardních operací clusteru, včetně operací správy životního cyklu (nasazení, škálování, mazání atd.).
Ideologie linie Tanzu je založena na maximálním využití open-source technologií. Pro správu životního cyklu clusterů Tanzu Kubernetes Grid se používá Cluster API, Velero se používá pro zálohování a obnovu, Sonobuoy se používá pro sledování souladu s konfigurací clusterů Kubernetes a Contour jako ingress controller.
Obecný seznam funkcí Tanzu Mission Control vypadá takto:
- centralizovaná správa všech vašich clusterů Kubernetes;
- řízení identity a přístupu (IAM);
- diagnostika a sledování stavu clusteru;
- správa konfiguračních a bezpečnostních nastavení;
- plánování pravidelných kontrol stavu clusteru;
- vytváření záloh a obnovování;
- správa kvót;
- vizuální znázornění využití zdrojů.
Proč je to důležité
Tanzu Mission Control pomůže podnikům vyřešit problém se správou velké flotily clusterů Kubernetes umístěných v prostorách, v cloudu a napříč různými poskytovateli třetích stran. Dříve nebo později se každá společnost, jejíž aktivity jsou vázány na IT, ocitne nucena podporovat mnoho heterogenních klastrů umístěných u různých poskytovatelů. Každý cluster se promění ve sněhovou kouli, která potřebuje kompetentní organizaci, vhodnou infrastrukturu, zásady, ochranu, monitorovací systémy a mnoho dalšího.
V dnešní době se každý podnik snaží snižovat náklady a automatizovat rutinní procesy. A komplexní IT prostředí zjevně nepodporuje úspory a koncentraci na prioritní úkoly. Tanzu Mission Control dává organizacím možnost provozovat více clusterů Kubernetes nasazených u více poskytovatelů a zároveň harmonizovat provozní model.
Architektura řešení
Tanzu Mission Control je platforma pro více nájemců, která uživatelům poskytuje přístup k sadě vysoce konfigurovatelných zásad, které lze použít na clustery Kubernetes a skupiny clusterů. Každý uživatel je svázán s organizací, která je „kořenem“ zdrojů – skupin klastrů a pracovních prostorů.
Co dokáže Tanzu Mission Control
Výše jsme již stručně uvedli seznam funkcí řešení. Podívejme se, jak je to implementováno v rozhraní.
Jediný pohled na všechny clustery Kubernetes v podniku:
Vytvoření nového clusteru:
Skupinu můžete okamžitě přiřadit ke clusteru a ten zdědí zásady, které jsou k němu přiřazeny.
Připojení clusteru:
Již existující clustery lze jednoduše propojit pomocí speciálního agenta.
Seskupení klastrů:
Ve skupinách klastrů můžete seskupit klastry a zdědit přiřazené zásady okamžitě na úrovni skupiny bez ručního zásahu.
Pracovní prostory:
Poskytuje možnost flexibilně konfigurovat přístup k aplikaci, která se nachází v několika jmenných prostorech, clusterech a cloudových infrastrukturách.
Podívejme se blíže na principy fungování Tanzu Mission Control při laboratorní práci.
Laboratoř #1
Pochopitelně je docela těžké si bez praxe detailně představit fungování Mission Control a nových řešení Tanzu. Abyste mohli prozkoumat hlavní vlastnosti této řady, VMware poskytuje přístup k několika laboratorním stolům. Tyto lavice umožňují provádět laboratorní práce pomocí pokynů krok za krokem. Kromě samotného Tanzu Mission Control jsou k testování a studiu k dispozici i další řešení. Kompletní seznam laboratorních prací naleznete
Pro praktické seznámení s různými řešeními (včetně malé „hry“ na vSAN) je vyhrazeno různé množství času. Nebojte se, jsou to velmi relativní čísla. Například laboratoř na Tanzu Mission Control může být „řešena“ až 9 a půl hodiny při průchodu z domova. Navíc, i když časovač vyprší, můžete se vrátit a projít si vše znovu.
Absolvování laboratorní práce #1
Pro přístup k laboratořím budete potřebovat účet VMware. Po autorizaci se otevře vyskakovací okno s hlavním obrysem díla. Podrobné pokyny budou umístěny na pravé straně obrazovky.
Po přečtení krátkého úvodu do Tanzu budete pozváni k procvičení interaktivní simulace Mission Control.
Otevře se nové vyskakovací okno systému Windows a budete požádáni o provedení několika základních operací:
- vytvořit shluk
- nastavit jeho základní parametry
- obnovte stránku a ujistěte se, že je vše správně nakonfigurováno
- nastavit zásady a zkontrolovat cluster
- vytvořit pracovní prostor
- vytvořit jmenný prostor
- znovu pracovat se zásadami, každý krok je podrobně vysvětlen v příručce
- demo upgrade clusteru
Interaktivní simulace samozřejmě neposkytuje dostatek svobody pro nezávislé studium: pohybujete se po kolejích předem položených vývojáři.
Laboratoř #2
Tady už řešíme něco vážnějšího. Tato laboratorní práce není tak vázána na „kolejnice“ jako předchozí a vyžaduje pečlivější studium. Nebudeme jej zde uvádět celý: pro úsporu času rozebereme pouze druhý modul, první je věnován teoretickému aspektu práce Tanzu Mission Control. Pokud chcete, můžete si to projít úplně sami. Tento modul nám nabízí hluboký ponor do správy životního cyklu clusteru prostřednictvím Tanzu Mission Control.
Poznámka: Laboratorní práce Tanzu Mission Control je pravidelně aktualizována a vylepšována. Pokud se některé obrazovky nebo kroky po dokončení cvičení liší od těch níže, postupujte podle pokynů na pravé straně obrazovky. Projdeme si aktuální verzi LR v době psaní a zvážíme její klíčové prvky.
Absolvování laboratorní práce #2
Po procesu autorizace ve VMware Cloud Services spouštíme Tanzu Mission Control.
Prvním krokem, který laboratoř navrhuje, je nasazení clusteru Kubernetes. Nejprve potřebujeme přistupovat k Ubuntu VM pomocí PuTTY. Spusťte nástroj a vyberte relaci s Ubuntu.
Postupně provádíme tři příkazy:
- vytvoření clusteru:
kind create cluster --config 3node.yaml --name=hol
- načítání souboru KUBECONFIG:
export KUBECONFIG="$(kind get kubeconfig-path --name="hol")"
- výstup uzlu:
kubectl get nodes
Nyní je třeba cluster, který jsme vytvořili, přidat do Tanzu Mission Control. Z PuTTY se vrátíme do Chrome, přejdeme do Clusters a klikneme PŘIPOJTE CLUSTER.
Vyberte skupinu z rozbalovací nabídky - standardní, zadejte název navržený laboratoří a klikněte REGISTRACE.
Zkopírujte přijatý příkaz a přejděte na PuTTY.
Provedeme přijatý příkaz.
Chcete-li sledovat průběh, spusťte další příkaz: watch kubectl get pods -n vmware-system-tmc
. Čekáme, až budou mít všechny kontejnery status Běh nebo Dokončeno.
Vraťte se do Tanzu Mission Control a klikněte OVĚŘTE PŘIPOJENÍ. Pokud vše proběhlo v pořádku, měly by indikátory všech kontrol svítit zeleně.
Nyní vytvoříme novou skupinu clusterů a nasadíme tam nový cluster. Přejděte na Clusterové skupiny a klikněte NOVÁ CLUSTEROVÁ SKUPINA. Zadejte jméno a klikněte CREATE.
Nová skupina by se měla okamžitě objevit v seznamu.
Pojďme nasadit nový cluster: přejděte na Klastryklikněte NOVÝ CLUSTER a vyberte možnost související s laboratorní prací.
Přidejme název clusteru, vybereme k němu přiřazenou skupinu – v našem případě hands-on-labs – a region nasazení.
Při vytváření clusteru jsou k dispozici další možnosti, ale nemá smysl je během cvičení měnit. Vyberte konfiguraci, kterou potřebujete, a klikněte další.
Některé parametry je třeba upravit, k tomu klikněte Změnit.
Zvýšíme počet pracovních uzlů na dva, uložíme parametry a klikneme CREATE.
Během procesu uvidíte ukazatel průběhu, jako je tento.
Po úspěšném nasazení uvidíte tento obrázek. Všechny účtenky musí být zelené.
Nyní si musíme stáhnout soubor KUBECONFIG pro správu clusteru pomocí standardních příkazů kubectl. To lze provést přímo prostřednictvím uživatelského rozhraní Tanzu Mission Control. Stáhněte soubor a pokračujte ke stažení Tanzu Mission Control CLI kliknutím klikněte zde.
Vyberte požadovanou verzi a stáhněte CLI.
Nyní potřebujeme získat API Token. Chcete-li to provést, přejděte na stránku Můj účet a vygenerovat nový token.
Vyplňte pole a klikněte GENEROVAT.
Zkopírujte výsledný token a klikněte POKRAČOVAT. Otevřete Power Shell a zadejte příkaz tmc-login, poté token, který jsme obdrželi a zkopírovali v předchozím kroku, a poté přihlašovací kontextové jméno. Vybrat info logy z navrhovaných, kraj a výchozí olympus jako ssh klíč.
Dostáváme jmenné prostory:kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get namespaces
.
Představit kubectl --kubeconfig=C:UsersAdministratorDownloadskubeconfig-aws-cluster.yml get nodes
abyste se ujistili, že všechny uzly jsou ve stavu Připravený.
Nyní musíme v tomto clusteru nasadit malou aplikaci. Udělejme dvě nasazení – kávu a čaj – ve formě služeb coffee-svc a tea-svc, z nichž každá spouští jiné obrázky – nginxdemos/hello a nginxdemos/hello:plain-text. To se provádí následovně.
Přes PowerShell přejděte ke stažení a najděte soubor cafe-services.yaml.
Kvůli některým změnám v API jej budeme muset aktualizovat.
Zásady zabezpečení pod jsou ve výchozím nastavení povoleny. Chcete-li spouštět aplikace s oprávněními, musíte propojit svůj účet.
Vytvořte vazbu: kubectl --kubeconfig=kubeconfig-aws-cluster.yml create clusterrolebinding privileged-cluster-role-binding --clusterrole=vmware-system-tmc-psp-privileged --group=system:authenticated
Pojďme nasadit aplikaci: kubectl --kubeconfig=kubeconfig-aws-cluster.yml apply -f cafe-services.yaml
Zkontrolujeme: kubectl --kubeconfig=kubeconfig-aws-cluster.yml get pods
Modul 2 je dokončen, jste krásní a úžasní! Doporučujeme dokončit zbývající moduly, včetně správy zásad a kontrol souladu, sami.
Pokud byste chtěli tuto laboratoř dokončit celou, najdete ji zde
Názory a závěry
Samozřejmě je příliš brzy mluvit o praktických otázkách práce s Tanzu. Materiálů pro samostudium není tolik a dnes není možné nasadit testovací stolici, která by nový produkt „šťourala“ ze všech stran. I z dostupných údajů však lze vyvodit určité závěry.
Výhody Tanzu Mission Control
Systém se ukázal jako opravdu zajímavý. Rád bych okamžitě zdůraznil několik pohodlných a užitečných vychytávek:
- Prostřednictvím webového panelu a konzole můžete vytvářet clustery, což se vývojářům bude opravdu líbit.
- Správa RBAC prostřednictvím pracovních prostorů je implementována v uživatelském rozhraní. V laboratoři to zatím nefunguje, ale teoreticky je to skvělá věc.
- Centralizovaná správa oprávnění založená na šablonách
- Úplný přístup ke jmenným prostorům.
- editor YAML.
- Vytváření síťových zásad.
- Monitorování stavu clusteru.
- Možnost zálohování a obnovy prostřednictvím konzole.
- Spravujte kvóty a zdroje s vizualizací skutečného využití.
- Automatické spuštění kontroly clusteru.
Opět platí, že mnoho komponent je v současné době ve vývoji, takže je příliš brzy na to, abychom plně hovořili o výhodách a nevýhodách některých nástrojů. Mimochodem, Tanzu MC na základě ukázky dokáže upgradovat cluster za chodu a obecně zajistit celý životní cyklus clusteru pro více poskytovatelů najednou.
Zde je několik příkladů „na vysoké úrovni“.
Do klastru někoho jiného s vlastní chartou
Řekněme, že máte vývojový tým s jasně definovanými rolemi a odpovědnostmi. Každý je zaneprázdněn svým vlastním podnikáním a neměl by ani náhodou zasahovat do práce svých kolegů. Nebo má tým jednoho či více méně zkušených specialistů, kterým nechcete dávat zbytečná práva a svobody. Předpokládejme také, že máte Kubernetes od tří poskytovatelů najednou. V souladu s tím, abyste omezili práva a přivedli je ke společnému jmenovateli, budete muset jít do každého ovládacího panelu jeden po druhém a zaregistrovat vše ručně. Souhlasím, není to nejproduktivnější zábava. A čím více zdrojů máte, tím je proces zdlouhavější. Tanzu Mission Control vám umožní spravovat vymezení rolí z „jednoho okna“. Podle nás je to velmi pohodlná funkce: nikdo nic nezlomí, když náhodou někde zapomenete zadat potřebná práva.
Mimochodem, naši kolegové z MTS na svém blogu
Kompaktní práce s kládami
Dalším příkladem z reálného života je práce s logy. Předpokládejme, že tým má také testera. Jednoho krásného dne přijde k vývojářům a oznámí: „V aplikaci byla nalezena chyba, urychleně ji opravíme.“ Je přirozené, že první věcí, se kterou se bude chtít vývojář seznámit, jsou protokoly. Posílat je jako soubory e-mailem nebo telegramem je špatné mravy minulého století. Mission Control nabízí alternativu: můžete nastavit speciální práva pro vývojáře, aby mohli číst pouze protokoly v konkrétním jmenném prostoru. V tomto případě stačí testerovi říci: „jsou chyby v takové a takové aplikaci, v takovém a takovém poli, v takovém a takovém jmenném prostoru“ a vývojář může snadno otevřít protokoly a být schopen lokalizovat problém. A kvůli omezeným právům to nebudete moci opravit hned, pokud to vaše kompetence nedovolí.
Zdravý klastr má zdravé uplatnění.
Další skvělou funkcí Tanzu MC je sledování zdraví clusteru. Soudě podle předběžných materiálů vám systém umožňuje zobrazit některé statistiky. V tuto chvíli je těžké přesně říci, jak podrobné tyto informace budou: zatím vše vypadá docela skromně a jednoduše. Dochází k monitorování zátěže CPU a RAM, zobrazuje se stav všech komponent. Ale i v takové spartánské podobě jde o velmi užitečný a efektní detail.
Výsledky
Samozřejmě, že v laboratorní prezentaci Mission Control se ve zdánlivě sterilních podmínkách najdou nějaké hrubky. Sami si jich pravděpodobně všimnete, pokud se rozhodnete dílo projít. Některé aspekty nejsou provedeny dostatečně intuitivně – i zkušený administrátor si bude muset přečíst manuál, aby porozuměl rozhraní a jeho možnostem.
Vzhledem ke složitosti produktu, jeho důležitosti a roli, kterou bude hrát na trhu, to však dopadlo skvěle. Zdá se, že se tvůrci snažili zlepšit pracovní postup uživatele. Udělejte každý ovládací prvek maximálně funkční a srozumitelný.
Nezbývá než si Tanzu vyzkoušet na zkušební stolici, abyste skutečně pochopili všechny jeho klady, zápory a novinky. Jakmile se taková příležitost naskytne, podělíme se se čtenáři Habra o podrobnou zprávu o práci s produktem.
Zdroj: www.habr.com