Mir si frou eng Virschau Versioun ze presentéieren
NSM ass gratis
D'Ëmsetzung vun der Mikroservicer-Methodik ass voller Schwieregkeete wéi d'Skala vun der Liwwerung wiisst, souwéi seng Komplexitéit. Kommunikatioun tëscht Servicer gëtt méi komplex, Debugging Problemer ginn méi schwéier, a méi a méi Servicer verlaangen méi Ressourcen ze verwalten.
NSM léist dës Probleemer andeems Dir Iech mat:
- Sécherheet, wat elo méi wichteg ass wéi jee. Eng Dateverletzung kann eng Firma Millioune Dollar jäerlech a verluerene Recetten a Ruff kaschten. NSM suergt dofir datt all Verbindunge mat mTLS verschlësselt sinn, sou datt et keng sensibel Donnéeën ass, déi vun Hacker iwwer dem Netz geklaut kënne ginn. Zougangskontroll erlaabt Iech Politik ze setzen fir wéi Servicer mat anere Servicer kommunizéieren.
- Verkéier Management. Wann Dir eng nei Versioun vun enger Applikatioun verschéckt, wëllt Dir vläicht ufänken andeems Dir den Entréeën Traffic derfir beschränkt am Fall vun engem Feeler. Mat NSM d'intelligent Container Verkéier Gestioun, Dir kënnt eng Verkéier Restriktioun Politik fir nei Servicer setzen, datt de Verkéier iwwer Zäit Erhéijung. Aner Funktiounen, wéi Geschwindegkeetsbegrenzung a Circuit Breaker, ginn Iech voll Kontroll iwwer de Verkéiersfloss vun all Äre Servicer.
- Visualiséierung. Dausende vu Servicer verwalten kann en Debugging an Visualiséierung Albtraum sinn. NSM hëlleft dës Situatioun mat engem agebaute Grafana Dashboard ze këmmeren deen all d'Features, déi am NGINX Plus verfügbar sinn, weist. An och den implementéierten Open Tracing erlaabt Iech Transaktiounen am Detail ze iwwerwaachen.
- Hybrid Liwwerungen, wann Är Firma, wéi déi meescht anerer, keng Infrastruktur benotzt déi ganz op Kubernetes leeft. NSM suergt dofir datt legacy Uwendungen net onbestänneg bleiwen. Mat der Hëllef vum implementéierten NGINX Kubernetes Ingress Controller kënnen Legacy-Servicer mat Mesh-Servicer kommunizéieren, a vice-versa.
NSM garantéiert och Uwendungssécherheet an Nullvertrauensëmfeld andeems se transparent Verschlësselung an Authentifikatioun op Containerverkéier applizéieren. Et bitt och Transaktiounsvisibilitéit an Analyse, hëlleft Iech séier a präzis Deployementer ze lancéieren an Probleemer ze léisen. Et bitt och granulär Verkéierskontrolle, wat DevOps Teams erlaabt Deeler vun Uwendungen z'installéieren an ze optimiséieren, während d'Entwéckler et erlaben hir verdeelt Uwendungen ze bauen an einfach ze verbannen.
Wéi funktionnéiert den NGINX Service Mesh?
NSM besteet aus engem vereenegt Dateplang fir horizontalen (Service-zu-Service) Verkéier an engem embedded NGINX Plus Ingress Controller fir vertikale Verkéier, geréiert vun engem eenzege Kontrollplan.
D'Kontrollplaner ass speziell fir den NGINX Plus Datefliger entworf an optimiséiert an definéiert Verkéierskontrollregelen iwwer NGINX Plus Sidecars verdeelt.
An NSM sinn Sidecars Proxyen fir all Service am Mesh installéiert. Si Interface mat de folgende Open Source Léisungen:
- Grafana, Prometheus Parameter Visualiséierung, agebaute NSM Panel hëlleft Iech mat Ärer Aarbecht;
- Kubernetes Ingress Controller, fir d'Gestioun vun erakommen an erausginn Traffic am Mesh;
- SPIRE, CA fir d'Gestioun, d'Verdeelung an d'Aktualiséierung vun Zertifikater am Mesh;
- NATS, e skalierbare System fir Messagen ze schécken, wéi Routeupdates, vum Kontrollfliger op Sidecars;
- Open Tracing, verdeelt Debugging (Zipkin a Jaeger ënnerstëtzt);
- Prometheus, sammelt a späichert Charakteristiken vun NGINX Plus Sidecars, wéi d'Zuel vun Ufroen, Verbindungen an SSL Handshaken.
Fonctiounen a Komponente
NGINX Plus als Datefliger deckt Sidecar Proxy (horizontale Verkéier) an Ingress Controller (vertikal), offangen a verwalten Containerverkéier tëscht Servicer.
Features enthalen:
- Mutual TLS (mTLS) Authentifikatioun;
- Last Balance;
- Feeler Toleranz;
- Vitesse Limite;
- Circuit briechen;
- Blo-gréng a Kanaresch Deployementer;
- Zougang Kontroll.
NGINX Service Mesh starten
Fir NSM ze lafen braucht Dir:
- Zougang zum Kubernetes Ëmfeld. NGINX Service Mesh gëtt op ville Kubernetes Plattformen ënnerstëtzt, dorënner Amazon Elastic Container Service fir Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, a regelméisseg Kubernetes Cluster op Hardware Serveren ofgesat;
- Tool
kubectl
, installéiert op der Maschinn aus deem NSM installéiert ginn; - Zougang zu NGINX Service Mesh Release Packagen. De Package enthält NSM Biller déi néideg sinn fir op e private Registry eropzelueden fir Container verfügbar am Kubernetes Cluster. De Package enthält och
nginx-meshctl
, néideg fir NSM z'installéieren.
Fir NSM mat Standardastellungen z'installéieren, lafen de folgende Kommando. Wärend der Installatioun ginn Messagen ugewisen, déi eng erfollegräich Installatioun vu Komponenten uginn an endlech e Message, deen uginn datt NSM an engem separaten Nummraum leeft (Dir musst als éischt
$ 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.
Fir méi Optiounen, dorënner fortgeschratt Astellungen, lafen dëse Kommando:
$ nginx-meshctl deploy –h
Kontrolléieren, datt d'Kontroll Fliger richteg am Nummraum Wierker nginx-mesh, Dir kënnt dëst maachen:
$ 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
Ofhängeg vun den Deployment-Astellungen déi manuell oder automatesch Injektiounspolitik setzen, ginn NGINX Sidecars Proxyen par défaut un Uwendungen bäigefüügt. Fir automatesch Zousatz auszeschalten, liest
Zum Beispill, wa mir d'Applikatioun ofsetzen Schlof am Nummraum Standarddrécker, a kontrolléiert dann de Pod - mir gesinn zwee Lafen Container, d'Applikatioun Schlof an déi verbonne Sidecar:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Mir kënnen och d'Applikatioun iwwerwaachen Schlof am NGINX Plus Panel, lafen dëse Kommando fir Zougang zu Sidecar vun Ärer lokaler Maschinn ze kréien:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Da gi mer einfach eran
Dir kënnt individuell Kubernetes Ressourcen benotze fir Verkéierspolitiken ze konfiguréieren, sou wéi Zougangskontroll, Tauxbegrenzung a Circuitbriechung, fir dëst ze gesinn
Konklusioun
NGINX Service Mesh ass verfügbar fir gratis erofzelueden op
Fir NGINX Plus Ingress Controller ze probéieren, aktivéiert
Iwwersetzung vum Pavel Demkovich, Firmeningenieur
Source: will.com