NGINX Service Mesh beskikbaar

NGINX Service Mesh beskikbaar

Ons bied graag 'n voorskou aan NGINX Service Mesh (NSM), 'n gekoppelde liggewig-diensnetwerk wat 'n NGINX Plus-gebaseerde datavliegtuig gebruik om houerverkeer in Kubernetes-omgewings te bestuur.

NSM is gratis скачать здесь. Ons hoop dat jy dit sal probeer vir dev en toets omgewings - en ons wag vir jou terugvoer op GitHub.

Die implementering van die mikrodienste-metodologie is belaai met probleme met die groei van die aanbodskaal, sowel as hul komplikasies. Kommunikasie tussen dienste word meer kompleks, ontfoutingsprobleme word moeiliker, meer en meer dienste vereis meer hulpbronne om te bestuur.

NSM los hierdie probleme op deur jou te voorsien van:

  • sekuriteitwat nou belangriker is as ooit. ’n Data-oortreding kan ’n maatskappy jaarliks ​​miljoene dollars kos aan verlore inkomste en reputasie. NSM enkripteer alle verbindings met behulp van mTLS, so daar is eenvoudig geen sensitiewe data wat hackers oor die netwerk kan steel nie. Toegangsbeheer laat jou toe om beleide te stel vir hoe dienste met ander dienste kommunikeer.
  • verkeersbestuur. Wanneer u 'n nuwe weergawe van 'n toepassing stuur, wil u dalk begin deur die inkomende verkeer daarvan te beperk in geval van 'n fout. Met NSM Intelligente Container Traffic Management kan jy 'n verkeersbeperkingsbeleid stel vir nuwe dienste wat verkeer mettertyd sal verhoog. Ander kenmerke, soos tariefbeperking en stroombrekers, gee jou volledige beheer oor die verkeersvloei van al jou dienste.
  • Visualisering. Die bestuur van duisende dienste kan 'n ontfouting en visualisering nagmerrie wees. NSM help om hierdie situasie te hanteer met die ingeboude Grafana-dashboard, wat al die funksies wat in NGINX Plus beskikbaar is, vertoon. En ook die geïmplementeerde Open Tracing laat jou toe om transaksies in detail te monitor.
  • Hibriede aflewerings, as jou maatskappy, soos die meeste ander, nie 'n infrastruktuur gebruik wat heeltemal op Kubernetes loop nie. NSM verseker dat ou toepassings nie onbewaak gelaat word nie. Met die hulp van die ingebedde NGINX Kubernetes Ingress Controller, sal ou dienste met mesh-dienste kan kommunikeer, en omgekeerd.

NSM beveilig ook toepassings in nul-trust-omgewings deur houerverkeer deursigtig te enkripteer en te staaf. Dit bied ook transaksiesigbaarheid en ontleding om jou te help om ontplooiings vinnig en akkuraat te begin en probleme op te los. Dit bied ook fyn verkeersbeheer, wat DevOps-spanne in staat stel om dele van toepassings te ontplooi en te optimaliseer, terwyl dit ontwikkelaars toelaat om hul verspreide toepassings te bou en maklik te koppel.

Hoe word NGINX Service Mesh gereël?

NSM bestaan ​​uit 'n verenigde datavlak vir horisontale (diens-tot-diens) verkeer en 'n ingebedde NGINX Plus Ingress Controller vir vertikale verkeer, bestuur deur 'n enkele beheervlak.

Beheervlak is spesiaal ontwerp en geoptimaliseer vir NGINX Plus-datavliegtuig, definieer verkeersbeheerreëls wat oor NGINX Plus-syspan versprei word.

In NSM-syspan word gevolmagtigdes vir elke diens in die maas ingestel. Hulle werk in wisselwerking met die volgende oopbronoplossings:

  • Grafana, Prometheus parameters visualisering, ingeboude NSM paneel help jou by die werk;
  • Kubernetes Ingress Controllers, om inkomende en uitgaande verkeer in die maas te bestuur;
  • SPIRE, CA vir die bestuur, verspreiding en hernuwing van sertifikate in die maas;
  • NATS, 'n skaalbare stelsel vir die stuur van boodskappe, soos roete-opdaterings, van beheervliegtuig na sykarre;
  • Open Tracing, verspreide ontfouting (ondersteun deur Zipkin en Jaeger);
  • Prometheus, versameling en berging van kenmerke van NGINX Plus-syspan, soos aantal versoeke, verbindings en SSL-handdrukke.

Kenmerke en komponente

NGINX Plus as 'n datavliegtuig dek syspan-instaanbediener (horisontale verkeer) en ingangbeheerder (vertikaal), onderskep en bestuur van houerverkeer tussen dienste.

Kenmerke sluit in:

  • Wedersydse TLS-verifikasie (mTLS);
  • Vrag balansering;
  • Fout verdraagsaamheid;
  • spoedbeperking;
  • stroombaanbreking;
  • Blou-groen en kanarie-ontplooiings;
  • Toegangsbeheer.

Begin NGINX Service Mesh

Om NSM uit te voer benodig jy:

  • toegang tot die Kubernetes-omgewing. NGINX Service Mesh word op baie Kubernetes-platforms ondersteun, insluitend Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, en gereelde Kubernetes-klusters wat op hardewarebedieners ontplooi word;
  • Tool kubectlgeïnstalleer op die masjien waarvandaan NSM geïnstalleer sal word;
  • Toegang tot NGINX Service Mesh-vrystellingspakkette. Die pakket bevat die NSM-beelde wat nodig is om na 'n private register op te laai vir houers wat op die Kubernetes-kluster beskikbaar is. Die pakkie bevat ook nginx-meshctlnodig om NSM te ontplooi.

Om NSM met verstekinstellings te ontplooi, voer die volgende opdrag uit. Tydens ontplooiing sal jy boodskappe sien dat die komponente suksesvol geïnstalleer is, en laastens 'n boodskap dat NSM in 'n aparte naamruimte loop (jy moet eers download en plaas in die register, ongeveer. vertaler):

$ 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.

Vir meer opsies, insluitend gevorderde instellings, voer hierdie opdrag uit:

$ nginx-meshctl deploy –h

Kontroleer dat die beheervlak korrek in die naamruimte werk nginx gaas, jy kan soos volg:

$ 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

NGINX-syspan-gevolmagtigdes sal by verstektoepassings gevoeg word, afhangende van die ontplooiinginstellings wat handmatige of outomatiese inspuitingsbeleide stel. Om outomatiese byvoeging te deaktiveer, lees hier

Byvoorbeeld, as ons die toepassing ontplooi slaap in naamruimte verstek, en kyk dan na die Pod - ons sal twee lopende houers sien, die toepassing slaap en sy gepaardgaande syspan:

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

Ons kan ook die toepassing volg slaap in 'n NGINX Plus-paneel deur hierdie opdrag uit te voer om toegang tot syspan vanaf jou plaaslike masjien te verkry:

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

Dan gaan ons maar hier in die blaaier. Jy kan ook met Prometheus koppel om die toepassing te volg slaap.

Jy kan individuele Kubernetes-hulpbronne gebruik om verkeersbeleide soos toegangsbeheer, koersbeperking en stroombaanbreking op te stel, sien dokumentasie

Gevolgtrekking

NGINX Service Mesh is beskikbaar vir gratis aflaai by portaal F5. Probeer dit uit in jou dev en toets omgewings en skryf vir ons oor die resultate.

Aktiveer om NGINX Plus Ingress Controller te probeer gratis proeftydperk vir 30 dae, of Kontak Ons om jou gebruiksgevalle te bespreek.

Vertaling deur Pavel Demkovich, maatskappy-ingenieur South brug. Stelseladministrasie vir 15 000 ₽ per maand. En as 'n aparte afdeling - 'n opleidingsentrum Slurm, oefen en niks anders as oefening nie.

Bron: will.com

Voeg 'n opmerking