NGINX Service Mesh elérhető

NGINX Service Mesh elérhető

Örömmel mutatjuk be az előzetes verziót NGINX Service Mesh (NSM), egy csomagban lévő könnyű szolgáltatásháló, amely NGINX Plus-alapú adatsíkot használ a konténerforgalom kezelésére Kubernetes-környezetekben.

Az NSM ingyenes Скачать здесь. Reméljük, hogy kipróbálja majd fejlesztői és tesztkörnyezetekben – és várjuk visszajelzését a GitHubon.

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 letöltése és helyezze el a nyilvántartásba, kb. fordító):

$ 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: itt

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 itt a böngészőben. Az alkalmazás figyeléséhez csatlakozhat a Prometheushoz is alvás.

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. dokumentáció

Következtetés

Az NGINX Service Mesh ingyenesen letölthető a következő címről: portál F5. Próbálja ki fejlesztői és tesztkörnyezetében, és írjon nekünk az eredményekről.

Az NGINX Plus Ingress Controller kipróbálásához aktiválja ingyenes próbaidőszak 30 napig, ill Lépjen kapcsolatba velünk megbeszélni a használati eseteit.

Pavel Demkovich, cégmérnök fordítása Southbridge. Rendszeradminisztráció havi 15 000 RUB-ért. És külön részlegként - egy képzési központ Slurm, gyakorlat és semmi más, csak gyakorlat.

Forrás: will.com

Hozzászólás