NGINX Service Mesh k dispozici

NGINX Service Mesh k dispozici

S potěšením vám představujeme náhledovou verzi Servisní síť NGINX (NSM), přibalená odlehčená servisní síť, která využívá datovou rovinu založenou na NGINX Plus ke správě provozu kontejnerů v prostředích Kubernetes.

NSM je zdarma ke stažení zde. Doufáme, že to vyzkoušíte pro vývojová a testovací prostředí – a těšíme se na vaši zpětnou vazbu na GitHub.

Implementace metodologie mikroslužeb je plná obtíží, protože rozsah poskytování roste a také jeho složitost. Komunikace mezi službami se stává složitější, problémy s laděním se stávají obtížnějšími a stále více služeb vyžaduje více zdrojů pro správu.

NSM řeší tyto problémy tím, že vám poskytuje:

  • zabezpečení, která je nyní důležitější než kdy jindy. Narušení dat může společnost stát miliony dolarů ročně ve ztrátě příjmů a reputace. NSM zajišťuje, že všechna připojení jsou šifrována pomocí mTLS, takže neexistují žádná citlivá data, která by hackeři mohli ukrást přes síť. Řízení přístupu vám umožňuje nastavit zásady pro komunikaci služeb s jinými službami.
  • řízení provozu. Když dodáváte novou verzi aplikace, možná budete chtít začít tím, že na ni omezíte příchozí provoz v případě chyby. S inteligentní správou kontejnerového provozu NSM můžete nastavit politiku omezení provozu pro nové služby, které časem zvýší provoz. Další funkce, jako je omezení rychlosti a jističe, vám poskytují plnou kontrolu nad provozem všech vašich služeb.
  • Vizualizace. Správa tisíců služeb může být noční můrou ladění a vizualizace. NSM pomáhá tuto situaci řešit pomocí vestavěného řídicího panelu Grafana, který zobrazuje všechny funkce dostupné v NGINX Plus. A také implementovaný Open Tracing umožňuje detailně sledovat transakce.
  • Hybridní dodávky, pokud vaše společnost, stejně jako většina ostatních, nepoužívá infrastrukturu běžící výhradně na Kubernetes. NSM zajišťuje, že starší aplikace nezůstanou bez dozoru. S pomocí implementovaného NGINX Kubernetes Ingress Controller budou moci starší služby komunikovat s mesh službami a naopak.

NSM také zajišťuje zabezpečení aplikací v prostředích s nulovou důvěrou transparentním používáním šifrování a ověřování na provoz kontejnerů. Poskytuje také viditelnost a analýzu transakcí, což vám pomáhá rychle a přesně spouštět nasazení a odstraňovat problémy. Poskytuje také granulární řízení provozu, což umožňuje týmům DevOps nasazovat a optimalizovat části aplikací a zároveň umožňuje vývojářům vytvářet a snadno propojovat své distribuované aplikace.

Jak funguje síť služeb NGINX?

NSM se skládá z jednotné datové roviny pro horizontální (service-to-service) provoz a vestavěného NGINX Plus Ingress Controller pro vertikální provoz, spravovaného jedinou řídicí rovinou.

Řídicí rovina je speciálně navržena a optimalizována pro datovou rovinu NGINX Plus a definuje pravidla řízení provozu distribuovaná napříč postranními vozíky NGINX Plus.

V NSM jsou pro každou službu v síti instalovány proxy postranních vozíků. Jsou propojeny s následujícími open source řešeními:

  • Grafana, vizualizace parametrů Prometheus, vestavěný NSM panel vám pomůže s vaší prací;
  • Kubernetes Ingress Controllers pro správu příchozího a odchozího provozu v síti;
  • SPIRE, CA pro správu, distribuci a aktualizaci certifikátů v síti;
  • NATS, škálovatelný systém pro odesílání zpráv, jako jsou aktualizace trasy, z řídicího letadla do postranních vozíků;
  • Open Tracing, distribuované ladění (podpora Zipkin a Jaeger);
  • Společnost Prometheus shromažďuje a ukládá charakteristiky vedlejších vozíků NGINX Plus, jako je počet požadavků, připojení a handshake SSL.

Funkce a komponenty

NGINX Plus jako datová rovina pokrývá proxy postranního vozíku (horizontální provoz) a Ingress controller (vertikální), zachycuje a řídí kontejnerový provoz mezi službami.

Mezi vlastnosti patří:

  • Vzájemné ověřování TLS (mTLS);
  • Vyvažování zátěže;
  • Odolnost proti chybám;
  • Omezení rychlosti;
  • Přerušení obvodu;
  • Modrozelené a kanárkové nasazení;
  • Řízení přístupu.

Spuštění NGINX Service Mesh

Ke spuštění NSM potřebujete:

  • přístup do prostředí Kubernetes. NGINX Service Mesh je podporována na mnoha platformách Kubernetes, včetně Amazon Elastic Container Service pro Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere a běžných clusterů Kubernetes nasazených na hardwarových serverech;
  • Nástroj kubectl, nainstalovaný na počítači, ze kterého bude NSM instalován;
  • Přístup k balíčkům vydání NGINX Service Mesh. Balíček obsahuje obrazy NSM potřebné pro nahrání do soukromého registru pro kontejnery dostupné v clusteru Kubernetes. Balení také obsahuje nginx-meshctl, potřebné k nasazení NSM.

Chcete-li nasadit NSM s výchozím nastavením, spusťte následující příkaz. Během nasazení se zobrazí zprávy indikující, že komponenty byly úspěšně nainstalovány, a nakonec zpráva indikující, že NSM běží v samostatném jmenném prostoru (nejdříve jej potřebujete). ke stažení a umístit jej do registru, Cca. překladatel):

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; 
 ./nginx-meshctl deploy  
  --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" 
  --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" 
  --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" 
  --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...

Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.

Chcete-li získat další možnosti, včetně pokročilých nastavení, spusťte tento příkaz:

$ nginx-meshctl deploy –h

Zkontrolujte, zda řídicí rovina v oboru názvů funguje správně nginx-mesh, můžeš to udělat:

$ kubectl get pods –n nginx-mesh
NAME                                 READY   STATUS    RESTARTS   AGE
grafana-6cc6958cd9-dccj6             1/1     Running   0          2d19h
mesh-api-6b95576c46-8npkb            1/1     Running   0          2d19h
nats-server-6d5c57f894-225qn         1/1     Running   0          2d19h
prometheus-server-65c95b788b-zkt95   1/1     Running   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1/1     Running   0          2d19h
spire-agent-5cf87                    1/1     Running   0          2d19h
spire-agent-rr2tt                    1/1     Running   0          2d19h
spire-agent-vwjbv                    1/1     Running   0          2d19h
spire-server-0                       2/2     Running   0          2d19h
zipkin-6f7cbf5467-ns6wc              1/1     Running   0          2d19h

V závislosti na nastavení nasazení, která nastavují zásady ručního nebo automatického vkládání, budou do aplikací ve výchozím nastavení přidány proxy postranních vozíků NGINX. Chcete-li zakázat automatické přidávání, přečtěte si zde

Například pokud aplikaci nasadíme spát ve jmenném prostoru standardní, a pak zaškrtněte Pod - uvidíme dva běžící kontejnery, aplikaci spát a související postranní vozík:

$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME                     READY   STATUS    RESTARTS   AGE
sleep-674f75ff4d-gxjf2   2/2     Running   0          5h23m

Můžeme také sledovat aplikaci spát na panelu NGINX Plus spuštěním tohoto příkazu získáte přístup k postrannímu vozíku z místního počítače:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

Pak jen jdeme dovnitř zde v prohlížeči. Můžete se také připojit k Prometheus a sledovat aplikaci spát.

Jednotlivé zdroje Kubernetes můžete použít ke konfiguraci zásad provozu, jako je řízení přístupu, omezení rychlosti a přerušení obvodu, viz dokumentace

Závěr

NGINX Service Mesh je k dispozici ke stažení zdarma na adrese portál F5. Vyzkoušejte to ve svém vývojovém a testovacím prostředí a napište nám o výsledcích.

Chcete-li vyzkoušet NGINX Plus Ingress Controller, aktivujte bezplatné zkušební období po dobu 30 dnů, popř свяжитесь с нами diskutovat o vašich případech použití.

Překlad Pavel Demkovich, podnikový inženýr Southbridge. Správa systému za 15 000 RUB měsíčně. A jako samostatná divize - školící středisko Slurm, cvičit a nic než cvičit.

Zdroj: www.habr.com

Přidat komentář