GNU/Linux >> Znalost Linux >  >> Cent OS

Co je Istio? - Architektura, funkce, výhody a výzvy

Úvod

Zabezpečení a monitorování zátěže je při práci s mikroslužbami nejvyšší prioritou. Sledování je obtížný úkol, když se provádí ručně. Vývojáři musí nakonfigurovat každou službu, aby zajistili bezpečnou komunikaci v rámci systému. Kromě toho potřebují sledovat výměny, což vyžaduje čas. Čas, který bylo možné věnovat vývoji samotné aplikace.

Namísto toho existuje mnohem jednodušší řešení – použití platformy service mesh, jako je Istio .

V tomto tutoriálu se dozvíte o Istio, jeho architektuře a způsobu použití.

Co je Istio? – Definování Istio Service Mesh

Istio je implementace sítě s otevřeným zdrojovým kódem, která spravuje komunikaci a sdílení dat mezi mikroslužbami. Platforma je přidána za účelem snížení složitosti správy síťových služeb.

Po instalaci vloží servery proxy do modulu Kubernetes vedle kontejneru aplikace. Každý proxy je nakonfigurován tak, aby zachycoval požadavky a směroval provoz na příslušnou službu při uplatňování zásad.

Proč je potřeba síť služeb?

Po přechodu od monolitické k mikroservisní architektuře dostávají vývojáři příležitost vytvářet vysoce flexibilní, odolné a škálovatelné aplikace v mnohem rychlejších životních cyklech vývoje softwaru. Přestože architektura mikroslužeb má mnoho výhod, vývoj ve vývoji aplikací přináší také určité výzvy.

Protože architektura se skládá z mnoha jednotlivých služeb, které spolupracují, je důležité zajistit bezproblémovou komunikaci. Tyto autonomní komponenty spolu mluví prostřednictvím API. Správa toku provozu a volání API však vyžaduje od vývojového týmu spoustu času a úsilí.

Bylo potřeba řešení třetí strany, které členům týmu umožnilo soustředit se na vývoj logiky služeb namísto logiky sítě. Proto byly sítě služeb jako Istio navrženy tak, aby řídily síťovou vrstvu komunikace mezi službami.

Architektura Istio

Architektura Istio obsahuje dvě hlavní součásti:

  • Řídící rovina. Tato komponenta se používá pro konfiguraci a správu proxy v datové rovině.
  • Datová rovina. Druhý prvek Istio zahrnuje všechny proxy postranní vozíky vložené dovnitř modulů.

Řídicí rovina

Před verzí 1.5 byla řídicí rovina shlukem různých součástí – Pilot, Citadela a Galley. Istio 1.5 představil Istiod , řídicí rovina, která spojovala výše zmíněné komponenty do jedné. Istiod zjednodušil konfiguraci a provoz servisní sítě.

Služby Istio v řídicí rovině zahrnují:

  • Pilot používá Envoy API ke komunikaci s postranními vozíky Envoy. Je zodpovědný za řízení provozu, směrování a zjišťování služeb.
  • Citadela poskytuje bezpečnou komunikaci mezi službami pomocí správy ověřování uživatelů, certifikátů a pověření.
  • Galley je zodpovědný za správu konfigurace, příjem, distribuci a zpracování.

Datová rovina

Datovou rovinu tvoří Envoy proxy rozmístěny do gondol jako postranní vozíky. Interagují a řídí provoz pro všechny služby v systému. To zahrnuje řízení veškeré síťové komunikace mezi mikroslužbami.

Vzhledem k tomu, že jsou přidány jako postranní vozíky, není potřeba předělávat architekturu aplikace pro implementaci proxy.

Proxy řídí provoz určením pravidel směrování (pro HTTP, gRPC, TCP) a vynucováním TLS a šifrování provozu.

Veškerý provoz probíhá přes Envoy proxy. Proto tyto komponenty shromažďují velké množství dat a poskytují cenný přehled o vašem obchodním provozu.

Zmocněnci poskytují:

  • Zjišťování dynamických služeb
  • Vyrovnávání zátěže
  • Zdravotní kontroly
  • Ukončení TLS
  • HTTP/2 a gRPC proxy
  • Jističe
  • Zavádění po etapách s procentuálním rozdělením návštěvnosti
  • Injekce chyb
  • Rozšířené metriky

Funkce Istio

Nejdůležitější funkce platformy jsou:

1. Řízení dopravy
Hlavním rysem Istio je jeho role v řízení provozu. Řídí tok provozu mezi službami implementací pravidel směrování prostřednictvím svých Envoy proxy. Nasazením proxy serverů Istio řídí provoz a volání API, aniž by provedl jakékoli změny v samotné službě. To uživatelům umožňuje provádět canary zavádění, zavádění po etapách a testování A/B.

2. Pozorovatelnost
Platforma řídí a sleduje veškerý příchozí a odchozí provoz v rámci síťové vrstvy. Proto shromažďuje velké množství dat, která poskytují užitečné informace pro budoucí vývoj.

3. Zabezpečení
Zatímco vývojáři zajišťují aplikaci před potenciálními hrozbami a hackery, Istio autorizuje, ověřuje a šifruje veškerou interní komunikaci. Pody a služby spolu komunikují a přenášejí data podle zásad společnosti Istio.

Výhody a nevýhody Istio

Abyste se mohli rozhodnout, zda implementovat Istio do architektury mikroslužeb, nebo ne, podívejte se na některé z jeho výhod a nevýhod.

Výhody

  • Poskytuje přehled o problémech s výkonem sítě.
  • Zabezpečuje komunikaci mezi službami a pod.
  • Implementuje pravidla a zásady směrování, které řídí komunikaci a přenos dat.
  • Umožňuje nasazení canary a A/B testování.

Nevýhody

  • Nastavení a implementace Istio je časově náročné.
  • Je také obtížné nakonfigurovat soubory .yaml, aby bylo zajištěno správné nastavení a šifrovaná komunikace.

Cent OS
  1. Jaké funkce jsou v Zsh a chybí Bash, nebo naopak?

  2. Jaké výhody bych viděl při upgradu z 14.04 na 15.04 a jaké jsou některá upozornění?

  3. Proč Deis a co to je?

  1. Co je Docker (a Linux kontejnery?)

  2. CentOS / RHEL :základy anacronu (Co je to anacron a jak jej nakonfigurovat)

  3. Co jsou uživatelé SELinuxu a jak mapovat uživatele Linuxu na uživatele SELinuxu

  1. Co je Intel SGX a jaké jsou jeho výhody?

  2. Co je virtualizace serveru? Definice a jak to funguje

  3. Co jsou režimy SELinux a jak je nastavit