Örömmel mutatjuk be az előzetes verziót
Az NSM ingyenes
A mikroszolgáltatások módszertanának megvalósítása nehézségekkel jár, ahogy a szállítás mértéke és összetettsége nő. A szolgáltatások közötti kommunikáció bonyolultabbá válik, a hibakeresési problémák nehezednek, és egyre több szolgáltatás kezeléséhez szükséges több erőforrás.
Az NSM megoldja ezeket a problémákat azáltal, hogy:
- biztonság, ami most fontosabb, mint valaha. Egy adatszivárgás évente több millió dollárba kerülhet a vállalatnak bevétel- és jó hírnév-kiesésben. Az NSM biztosítja, hogy minden kapcsolat mTLS használatával titkosítva legyen, így nincs olyan érzékeny adat, amelyet a hackerek ellophatnak a hálózaton keresztül. A hozzáférés-vezérlés lehetővé teszi házirendek beállítását arra vonatkozóan, hogy a szolgáltatások hogyan kommunikálnak más szolgáltatásokkal.
- forgalomirányítás. Ha egy alkalmazás új verzióját szállítja, érdemes lehet kezdeni azzal, hogy hiba esetén korlátozza a bejövő forgalmat. Az NSM intelligens konténerforgalom-kezelésével forgalomkorlátozási házirendet állíthat be az új szolgáltatásokhoz, amelyek idővel növelik a forgalmat. Az egyéb funkciók, mint például a sebességkorlátozás és az áramkör-megszakítók teljes irányítást biztosítanak az összes szolgáltatás forgalmi áramlása felett.
- Megjelenítés. Több ezer szolgáltatás kezelése rémálom lehet a hibakeresés és a vizualizáció. Az NSM a beépített Grafana irányítópultjával segít kezelni ezt a helyzetet, amely megjeleníti az NGINX Plus összes funkcióját. És a megvalósított Open Tracing lehetővé teszi a tranzakciók részletes nyomon követését.
- Hibrid szállítások, ha az Ön cége, mint a legtöbb más, nem használ teljes egészében Kubernetesen futó infrastruktúrát. Az NSM biztosítja, hogy a régi alkalmazások ne maradjanak felügyelet nélkül. A megvalósított NGINX Kubernetes Ingress Controller segítségével a régebbi szolgáltatások képesek lesznek kommunikálni a mesh szolgáltatásokkal, és fordítva.
Az NSM emellett biztosítja az alkalmazások biztonságát nulla megbízhatósági környezetekben is azáltal, hogy átláthatóan alkalmazza a titkosítást és a hitelesítést a konténerforgalomban. A tranzakciók láthatóságát és elemzését is biztosítja, segítve a telepítések gyors és pontos elindítását és a problémák hibaelhárítását. Emellett részletes forgalomirányítást is biztosít, lehetővé téve a DevOps csapatok számára az alkalmazások egyes részei telepítését és optimalizálását, miközben lehetővé teszi a fejlesztők számára az elosztott alkalmazásaik létrehozását és egyszerű csatlakoztatását.
Hogyan működik az NGINX Service Mesh?
Az NSM egy egységes adatsíkból áll a vízszintes (szolgáltatások közötti) forgalomhoz és egy beágyazott NGINX Plus bemeneti vezérlőből a függőleges forgalomhoz, amelyet egyetlen vezérlősík kezel.
A vezérlősíkot kifejezetten az NGINX Plus adatsíkra tervezték és optimalizálták, és meghatározza az NGINX Plus oldalkocsik között elosztott forgalomirányítási szabályokat.
Az NSM-ben oldalkocsis proxykat telepítenek a háló minden szolgáltatásához. A következő nyílt forráskódú megoldásokhoz kapcsolódnak:
- Grafana, Prometheus paramétervizualizáció, beépített NSM panel segíti munkáját;
- Kubernetes Ingress Controllerek a bejövő és kimenő forgalom kezelésére a hálóban;
- SPIRE, CA tanúsítványok kezelésére, terjesztésére és frissítésére a hálóban;
- NATS, egy méretezhető rendszer üzenetek, például útvonal-frissítések küldésére a vezérlősíkról az oldalkocsikra;
- Open Tracing, elosztott hibakeresés (Zipkin és Jaeger támogatott);
- A Prometheus összegyűjti és tárolja az NGINX Plus oldalkocsik jellemzőit, például a kérések számát, a kapcsolatokat és az SSL-kézfogásokat.
Funkciók és összetevők
Az NGINX Plus adatsíkként lefedi az oldalkocsis proxyt (vízszintes forgalom) és az Ingress vezérlőt (függőleges), elfogva és kezelve a szolgáltatások közötti konténerforgalmat.
Jellemzők:
- Kölcsönös TLS (mTLS) hitelesítés;
- Terhelés elosztás;
- Hibatűrés;
- Sebességkorlátozás;
- Áramkör megszakítása;
- Kék-zöld és kanári bevetések;
- Hozzáférés-szabályozás.
Az NGINX Service Mesh elindítása
Az NSM futtatásához a következőkre van szüksége:
- hozzáférést biztosít a Kubernetes környezethez. Az NGINX Service Mesh számos Kubernetes platformon támogatott, beleértve az Amazon Elastic Container Service for Kubernetes (EKS), az Azure Kubernetes Service (AKS), a Google Kubernetes Engine (GKE), a VMware vSphere és a hardverkiszolgálókon telepített szokásos Kubernetes-fürtöket;
- szerszám
kubectl
, telepítve arra a gépre, amelyről az NSM telepítve lesz; - Hozzáférés az NGINX Service Mesh kiadási csomagokhoz. A csomag NSM-képeket tartalmaz, amelyek a Kubernetes-fürtben elérhető tárolók privát nyilvántartásába történő feltöltéséhez szükségesek. A csomag tartalmaz még
nginx-meshctl
, szükséges az NSM telepítéséhez.
Az NSM alapértelmezett beállításokkal történő telepítéséhez futtassa a következő parancsot. A telepítés során üzenetek jelennek meg, amelyek jelzik az összetevők sikeres telepítését, és végül egy üzenet, amely jelzi, hogy az NSM külön névtérben fut (először
$ 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.
További lehetőségekért, beleértve a speciális beállításokat, futtassa ezt a parancsot:
$ nginx-meshctl deploy –h
Ellenőrizze, hogy a vezérlősík megfelelően működik-e a névtérben nginx-háló, meg tudod csinálni:
$ 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
A kézi vagy automatikus befecskendezési házirendeket beállító üzembe helyezési beállításoktól függően az NGINX oldalkocsik proxyja alapértelmezés szerint hozzáadódik az alkalmazásokhoz. Az automatikus hozzáadás letiltásához olvassa el a következőt:
Például, ha telepítjük az alkalmazást alvás névtérben alapértelmezett, majd ellenőrizze a Pod-ot – két futó tárolót fogunk látni, az alkalmazást alvás és a hozzá tartozó oldalkocsi:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Az alkalmazást is figyelemmel kísérhetjük alvás az NGINX Plus panelen futtassa ezt a parancsot az oldalkocsi eléréséhez a helyi gépről:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Aztán csak bemegyünk
Az egyes Kubernetes-erőforrások segítségével konfigurálhatja a forgalmi házirendeket, például hozzáférés-szabályozást, sebességkorlátozást és áramkör-megszakítást.
Következtetés
Az NGINX Service Mesh ingyenesen letölthető a következő címről:
Az NGINX Plus Ingress Controller kipróbálásához aktiválja
Pavel Demkovich, cégmérnök fordítása
Forrás: will.com