Meillä on ilo esitellä esikatseluversio
NSM on ilmainen
Mikropalvelumetodologian käyttöönotto on täynnä vaikeuksia toimitusten laajuuden ja monimutkaisuuden kasvaessa. Palveluiden välinen viestintä monimutkaistuu, virheenkorjausongelmat vaikeutuvat ja yhä useammat palvelut vaativat enemmän resursseja hallintaan.
NSM ratkaisee nämä ongelmat tarjoamalla sinulle:
- Безопасность, mikä on nyt tärkeämpää kuin koskaan. Tietomurto voi maksaa yritykselle miljoonia dollareita vuodessa tulojen ja maineen menettämisenä. NSM varmistaa, että kaikki yhteydet salataan mTLS:n avulla, joten hakkerit voivat varastaa arkaluontoisia tietoja verkon kautta. Pääsynhallinnan avulla voit määrittää käytäntöjä sille, miten palvelut kommunikoivat muiden palvelujen kanssa.
- liikenteen hallinta. Kun toimitat sovelluksen uuden version, sinun kannattaa ehkä aloittaa rajoittamalla siihen tulevaa liikennettä virheen sattuessa. NSM:n älykkään konttiliikenteen hallinnan avulla voit asettaa uusille palveluille liikennerajoituskäytännön, joka lisää liikennettä ajan myötä. Muut ominaisuudet, kuten nopeusrajoitus ja katkaisijat, antavat sinulle täyden hallinnan kaikkien palveluidesi liikennevirrassa.
- Visualisointi. Tuhansien palvelujen hallinta voi olla virheenkorjauksen ja visualisoinnin painajainen. NSM auttaa selviytymään tästä tilanteesta sisäänrakennetulla Grafana-kojelaudalla, joka näyttää kaikki NGINX Plus -sovelluksessa saatavilla olevat ominaisuudet. Ja myös toteutetun Open Tracingin avulla voit seurata tapahtumia yksityiskohtaisesti.
- Hybriditoimitukset, jos yrityksesi, kuten useimmat muut, ei käytä infrastruktuuria, joka toimii kokonaan Kubernetesissa. NSM varmistaa, että vanhat sovellukset eivät jää ilman valvontaa. Toteutetun NGINX Kubernetes Ingress Controllerin avulla vanhat palvelut pystyvät kommunikoimaan mesh-palvelujen kanssa ja päinvastoin.
NSM varmistaa myös sovellusten turvallisuuden nollaluottamusympäristöissä soveltamalla läpinäkyvästi salausta ja todennusta konttiliikenteeseen. Se tarjoaa myös tapahtumien näkyvyyden ja analyysin, mikä auttaa sinua käynnistämään käyttöönotot nopeasti ja tarkasti ja ratkaisemaan ongelmia. Se tarjoaa myös yksityiskohtaisen liikenteenohjauksen, jonka avulla DevOps-tiimit voivat ottaa käyttöön ja optimoida osia sovelluksista samalla, kun kehittäjät voivat rakentaa ja yhdistää helposti hajautettuja sovelluksiaan.
Miten NGINX Service Mesh toimii?
NSM koostuu yhtenäisestä tietotasosta vaakasuuntaista (palvelusta palveluun) liikenteeseen ja upotetusta NGINX Plus Ingress Controller -sisääntuloohjaimesta pystysuuntaista liikennettä varten, jota hallitsee yksi ohjaustaso.
Ohjaustaso on erityisesti suunniteltu ja optimoitu NGINX Plus -tietotasolle ja määrittää liikenteenohjaussäännöt, jotka on jaettu NGINX Plus -sivuvaunuille.
NSM:ssä sivuvaunujen välityspalvelimet asennetaan jokaiselle mesh-palvelulle. Ne liittyvät seuraaviin avoimen lähdekoodin ratkaisuihin:
- Grafana, Prometheus-parametrien visualisointi, sisäänrakennettu NSM-paneeli auttaa sinua työssäsi;
- Kubernetes Ingress Controllers, tulevan ja lähtevän liikenteen hallintaan meshissä;
- SPIRE, CA sertifikaattien hallintaan, jakeluun ja päivittämiseen meshissä;
- NATS, skaalautuva järjestelmä viestien, kuten reittipäivitysten, lähettämiseksi ohjaustasolta sivuvaunuihin;
- Open Tracing, hajautettu virheenkorjaus (tuettu Zipkin ja Jaeger);
- Prometheus kerää ja tallentaa NGINX Plus -sivuvaunujen ominaisuuksia, kuten pyyntöjen lukumäärän, yhteydet ja SSL-kättelyt.
Toiminnot ja komponentit
NGINX Plus datatasona kattaa sivuvaunun välityspalvelimen (horisontaalinen liikenne) ja Ingress-ohjaimen (pystysuora), sieppaamalla ja hallitsemalla konttiliikennettä palvelujen välillä.
Ominaisuuksiin kuuluu:
- Keskinäinen TLS (mTLS) -todennus;
- Kuormituksen tasapainoittaminen;
- Vikasietoisuus;
- nopeusrajoitus;
- Piirin katkaisu;
- Sinivihreä ja kanarialintu;
- Kulunvalvonta.
Käynnistetään NGINX Service Mesh
NSM:n suorittamiseen tarvitset:
- pääsy Kubernetes-ympäristöön. NGINX Service Meshiä tuetaan monilla Kubernetes-alustoilla, mukaan lukien Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere ja tavalliset Kubernetes-klusterit, jotka on otettu käyttöön laitteistopalvelimissa;
- Työkalu
kubectl
, asennettuna koneeseen, josta NSM asennetaan; - Pääsy NGINX Service Mesh -julkaisupaketteihin. Paketti sisältää NSM-kuvia, joita tarvitaan Kubernetes-klusterissa olevien säiliöiden yksityiseen rekisteriin lataamiseen. Paketti sisältää myös
nginx-meshctl
, tarvitaan NSM:n käyttöönottamiseksi.
Ota NSM käyttöön oletusasetuksilla suorittamalla seuraava komento. Käyttöönoton aikana näytetään viestejä, jotka osoittavat komponenttien onnistuneen asennuksen, ja lopuksi viesti, joka osoittaa, että NSM on käynnissä erillisessä nimiavaruudessa (sinun on ensin
$ 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.
Jos haluat lisää vaihtoehtoja, mukaan lukien lisäasetukset, suorita tämä komento:
$ nginx-meshctl deploy –h
Tarkista, että ohjaustaso toimii oikein nimiavaruudessa nginx-verkko, sinä pystyt tähän:
$ 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
Riippuen käyttöönottoasetuksista, jotka määrittävät manuaaliset tai automaattiset ruiskutuskäytännöt, NGINX-sivuvaunujen välityspalvelimet lisätään sovelluksiin oletusarvoisesti. Jos haluat poistaa automaattisen lisäyksen käytöstä, lue
Esimerkiksi jos otamme sovelluksen käyttöön nukkua nimiavaruudessa oletusarvo, ja tarkista sitten Pod - näemme kaksi käynnissä olevaa konttia, sovellus nukkua ja siihen liittyvä sivuvaunu:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Voimme myös seurata sovellusta nukkua NGINX Plus -paneelissa tämän komennon avulla päästäksesi sivuvaunuun paikalliselta koneeltasi:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Sitten vain mennään sisään
Voit käyttää yksittäisiä Kubernetes-resursseja liikennekäytäntöjen, kuten kulunvalvonnan, nopeudenrajoitusten ja katkaisujen, määrittämiseen.
Johtopäätös
NGINX Service Mesh on ladattavissa ilmaiseksi osoitteesta
Kokeile NGINX Plus Ingress Controlleria aktivoimalla
Käännös: Pavel Demkovich, yrityksen insinööri
Lähde: will.com