NGINX Service Mesh tillgängligt

NGINX Service Mesh tillgängligt

Vi är glada att kunna presentera en förhandsversion NGINX Service Mesh (NSM), ett medföljande lättviktstjänstnät som använder ett NGINX Plus-baserat dataplan för att hantera containertrafik i Kubernetes-miljöer.

NSM är gratis ladda ner här. Vi hoppas att du kommer att testa det för utvecklings- och testmiljöer - och ser fram emot din feedback på GitHub.

Implementeringen av mikrotjänsters metodik är kantad av svårigheter när leveransomfattningen växer, liksom dess komplexitet. Kommunikation mellan tjänster blir mer komplex, felsökningsproblem blir svårare och fler och fler tjänster kräver mer resurser att hantera.

NSM löser dessa problem genom att förse dig med:

  • Безопасность, vilket nu är viktigare än någonsin. Ett dataintrång kan kosta ett företag miljontals dollar årligen i förlorade intäkter och anseende. NSM ser till att alla anslutningar krypteras med mTLS, så det finns ingen känslig data som kan stjälas av hackare över nätverket. Åtkomstkontroll låter dig ställa in policyer för hur tjänster kommunicerar med andra tjänster.
  • Trafikledning. När du skickar en ny version av en applikation kanske du vill börja med att begränsa inkommande trafik till den i händelse av ett fel. Med NSM:s intelligenta containertrafikhantering kan du sätta en trafikbegränsningspolicy för nya tjänster som kommer att öka trafiken över tid. Andra funktioner, som hastighetsbegränsning och strömbrytare, ger dig full kontroll över trafikflödet för alla dina tjänster.
  • Visualisering. Att hantera tusentals tjänster kan vara en mardröm för felsökning och visualisering. NSM hjälper till att hantera denna situation med en inbyggd Grafana-dashboard som visar alla funktioner som finns tillgängliga i NGINX Plus. Och även den implementerade Open Tracing låter dig övervaka transaktioner i detalj.
  • Hybridleveranser, om ditt företag, som de flesta andra, inte använder infrastruktur som körs helt på Kubernetes. NSM säkerställer att äldre applikationer inte lämnas obevakade. Med hjälp av den implementerade NGINX Kubernetes Ingress Controller kommer äldre tjänster att kunna kommunicera med mesh-tjänster och vice versa.

NSM säkerställer också applikationssäkerhet i miljöer med noll förtroende genom att på ett transparent sätt tillämpa kryptering och autentisering på containertrafik. Det ger också transaktionssynlighet och analys, vilket hjälper dig att snabbt och exakt starta implementeringar och felsöka problem. Det tillhandahåller också granulär trafikkontroll, vilket gör att DevOps-teamen kan distribuera och optimera delar av applikationer samtidigt som det gör det möjligt för utvecklare att bygga och enkelt ansluta sina distribuerade applikationer.

Hur fungerar NGINX Service Mesh?

NSM består av ett enhetligt dataplan för horisontell (tjänst-till-tjänst) trafik och en inbyggd NGINX Plus Ingress Controller för vertikal trafik, som hanteras av ett enda kontrollplan.

Kontrollplanet är specifikt designat och optimerat för NGINX Plus-dataplanet och definierar trafikkontrollregler fördelade över NGINX Plus-sidovagnar.

I NSM installeras sidovagnsproxies för varje tjänst i nätet. De gränssnitt med följande öppen källkodslösningar:

  • Grafana, Prometheus parametervisualisering, inbyggd NSM-panel hjälper dig med ditt arbete;
  • Kubernetes Ingress Controllers, för att hantera inkommande och utgående trafik i mesh;
  • SPIRE, CA för hantering, distribution och uppdatering av certifikat i nätet;
  • NATS, ett skalbart system för att skicka meddelanden, såsom ruttuppdateringar, från kontrollplanet till sidovagnar;
  • Open Tracing, distribuerad felsökning (Zipkin och Jaeger stöds);
  • Prometheus, samlar in och lagrar egenskaper från NGINX Plus sidvagnar, såsom antalet förfrågningar, anslutningar och SSL-handskakningar.

Funktioner och komponenter

NGINX Plus som ett dataplan täcker sidovagnsproxy (horisontell trafik) och Ingress-kontroller (vertikal), avlyssnar och hanterar containertrafik mellan tjänster.

Funktioner inkluderar:

  • Ömsesidig TLS (mTLS) autentisering;
  • Lastbalansering;
  • Feltolerans;
  • Hastighetsgräns;
  • Kretsbrytning;
  • Blågröna och kanariefågelutbyggnader;
  • Åtkomstkontroll.

Lanserar NGINX Service Mesh

För att köra NSM behöver du:

  • tillgång till Kubernetes-miljön. NGINX Service Mesh stöds på många Kubernetes-plattformar, inklusive Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere och vanliga Kubernetes-kluster distribuerade på hårdvaruservrar;
  • Verktyg kubectl, installerad på maskinen från vilken NSM kommer att installeras;
  • Tillgång till NGINX Service Mesh-versionspaket. Paketet innehåller NSM-bilder som behövs för uppladdning till ett privat register för behållare tillgängliga i Kubernetes-klustret. Paketet innehåller även nginx-meshctl, behövs för att distribuera NSM.

För att distribuera NSM med standardinställningar, kör följande kommando. Under distributionen visas meddelanden som indikerar framgångsrik installation av komponenter och slutligen ett meddelande som indikerar att NSM körs i ett separat namnutrymme (du måste först hämta och placera den i registret, cirka. översättare):

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

För fler alternativ, inklusive avancerade inställningar, kör det här kommandot:

$ nginx-meshctl deploy –h

Kontrollera att kontrollplanet fungerar korrekt i namnområdet nginx-mesh, du kan göra det här:

$ 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

Beroende på distributionsinställningarna som ställer in manuella eller automatiska injektionspolicyer, kommer NGINX sidovagnsproxies att läggas till applikationer som standard. För att inaktivera automatisk tillägg, läs här

Till exempel om vi distribuerar applikationen sova i namnutrymmet standard, och kontrollera sedan Pod - vi kommer att se två körande behållare, applikationen sova och tillhörande sidovagn:

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

Vi kan också övervaka applikationen sova i NGINX Plus-panelen, kör det här kommandot för att komma åt sidovagnen från din lokala maskin:

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

Sen går vi bara in här i webbläsaren. Du kan också ansluta till Prometheus för att övervaka applikationen sova.

Du kan använda individuella Kubernetes-resurser för att konfigurera trafikpolicyer, såsom åtkomstkontroll, hastighetsbegränsning och kretsavbrott, för detta se dokumentation

Slutsats

NGINX Service Mesh är tillgängligt för gratis nedladdning på portal F5. Prova det i dina dev- och testmiljöer och skriv till oss om resultatet.

För att prova NGINX Plus Ingress Controller, aktivera gratis provperiod i 30 dagar, eller Kontakta oss för att diskutera dina användningsfall.

Översättning av Pavel Demkovich, företagets ingenjör Southbridge. Systemadministration för 15 000 RUB per månad. Och som en separat division - ett träningscenter Slurm, övning och inget annat än övning.

Källa: will.com

Lägg en kommentar