NGINX Service Mesh je na voljo

NGINX Service Mesh je na voljo

Z veseljem vam predstavljamo predogledno različico NGINX Service Mesh (NSM), združena lahka storitvena mreža, ki uporablja podatkovno ravnino, ki temelji na NGINX Plus, za upravljanje prometa vsebnikov v okoljih Kubernetes.

NSM je brezplačen Prenesi tukaj. Upamo, da ga boste preizkusili v razvijalskih in testnih okoljih – in veselimo se vaših povratnih informacij na GitHubu.

Implementacija metodologije mikrostoritev je polna težav, saj obseg dostave narašča, pa tudi njena kompleksnost. Komunikacija med storitvami postane bolj zapletena, težave z odpravljanjem napak postanejo težje in vse več storitev zahteva več sredstev za upravljanje.

NSM rešuje te težave tako, da vam nudi:

  • varnost, ki je zdaj bolj pomembna kot kdaj koli prej. Kršitev podatkov lahko podjetje letno stane milijone dolarjev izgubljenega prihodka in ugleda. NSM zagotavlja, da so vse povezave šifrirane z uporabo mTLS, tako da ni občutljivih podatkov, ki bi jih hekerji lahko ukradli prek omrežja. Nadzor dostopa vam omogoča nastavitev pravilnikov za komunikacijo storitev z drugimi storitvami.
  • Upravljanje prometa. Ko pošiljate novo različico aplikacije, boste morda želeli začeti z omejitvijo dohodnega prometa v primeru napake. Z NSM-jevim inteligentnim upravljanjem prometa vsebnikov lahko nastavite politiko omejevanja prometa za nove storitve, ki bodo sčasoma povečale promet. Druge funkcije, kot so omejevanje hitrosti in odklopniki, vam omogočajo popoln nadzor nad prometnim tokom vseh vaših storitev.
  • Vizualizacija. Upravljanje na tisoče storitev je lahko nočna mora za odpravljanje napak in vizualizacijo. NSM pomaga obvladati to situacijo z vgrajeno nadzorno ploščo Grafana, ki prikazuje vse funkcije, ki so na voljo v NGINX Plus. In tudi implementirano Open Tracing vam omogoča podrobno spremljanje transakcij.
  • Hibridne dostave, če vaše podjetje, tako kot večina drugih, ne uporablja infrastrukture, ki v celoti deluje na Kubernetesu. NSM zagotavlja, da starejše aplikacije ne ostanejo nenadzorovane. S pomočjo implementiranega krmilnika NGINX Kubernetes Ingress bodo starejše storitve lahko komunicirale z mrežnimi storitvami in obratno.

NSM prav tako zagotavlja varnost aplikacij v okoljih ničelnega zaupanja s pregledno uporabo šifriranja in avtentikacije za vsebniški promet. Zagotavlja tudi vidnost in analizo transakcij, kar vam pomaga hitro in natančno zagnati uvajanja in odpraviti težave. Zagotavlja tudi razdrobljen nadzor prometa, ki ekipam DevOps omogoča uvajanje in optimizacijo delov aplikacij, medtem ko razvijalcem omogoča, da zgradijo in enostavno povežejo svoje porazdeljene aplikacije.

Kako deluje NGINX Service Mesh?

NSM je sestavljen iz poenotene podatkovne ravnine za vodoravni promet (od storitve do storitve) in vgrajenega vstopnega krmilnika NGINX Plus za navpični promet, ki ga upravlja ena sama nadzorna ravnina.

Nadzorna ravnina je posebej zasnovana in optimizirana za podatkovno ravnino NGINX Plus in določa pravila za nadzor prometa, porazdeljena po stranskih prikolicah NGINX Plus.

V NSM so stranski posredniki nameščeni za vsako storitev v mreži. Povezujejo se z naslednjimi odprtokodnimi rešitvami:

  • Grafana, vizualizacija parametrov Prometheus, vgrajen NSM panel vam pomaga pri delu;
  • Kubernetes Ingress Controllers za upravljanje dohodnega in odhodnega prometa v mreži;
  • SPIRE, CA za upravljanje, distribucijo in posodabljanje certifikatov v mreži;
  • NATS, razširljiv sistem za pošiljanje sporočil, kot so posodobitve poti, od nadzorne ravnine do stranskih prikolic;
  • Odprto sledenje, porazdeljeno odpravljanje napak (podprta Zipkin in Jaeger);
  • Prometheus zbira in shranjuje značilnosti stranskih vozil NGINX Plus, kot so število zahtev, povezav in rokovanja SSL.

Funkcije in komponente

NGINX Plus kot podatkovna ravnina pokriva sidecar proxy (horizontalni promet) in Ingress krmilnik (vertikalno), ki prestreza in upravlja vsebniški promet med storitvami.

Lastnosti vključujejo:

  • Vzajemna avtentikacija TLS (mTLS);
  • Izravnavanje obremenitve;
  • Toleranca napak;
  • Omejitev hitrosti;
  • Prekinitev tokokroga;
  • Modro-zelene in kanarčke postavitve;
  • Nadzor dostopa.

Zagon NGINX Service Mesh

Za zagon NSM potrebujete:

  • dostop do okolja Kubernetes. NGINX Service Mesh je podprt na številnih platformah Kubernetes, vključno s storitvijo Amazon Elastic Container za Kubernetes (EKS), storitvijo Azure Kubernetes (AKS), Google Kubernetes Engine (GKE), VMware vSphere in običajnimi gručami Kubernetes, nameščenimi na strežnikih strojne opreme;
  • Orodje kubectl, nameščen na računalniku, s katerega bo nameščen NSM;
  • Dostop do paketov izdaje NGINX Service Mesh. Paket vsebuje slike NSM, potrebne za nalaganje v zasebni register za vsebnike, ki so na voljo v gruči Kubernetes. Paket vsebuje tudi nginx-meshctl, potrebno za uvedbo NSM.

Če želite razmestiti NSM s privzetimi nastavitvami, zaženite naslednji ukaz. Med uvajanjem se prikažejo sporočila, ki označujejo uspešno namestitev komponent, in nazadnje sporočilo, ki označuje, da se NSM izvaja v ločenem imenskem prostoru (najprej morate prenos in ga postavite v register, pribl. prevajalec):

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

Za več možnosti, vključno z naprednimi nastavitvami, zaženite ta ukaz:

$ nginx-meshctl deploy –h

Preverite, ali nadzorna ravnina pravilno deluje v imenskem prostoru nginx-mreža, zmoreš:

$ 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

Odvisno od nastavitev uvajanja, ki določajo pravilnike o ročnem ali samodejnem vstavljanju, bodo stranski posredniki NGINX privzeto dodani aplikacijam. Če želite onemogočiti samodejno dodajanje, preberite tukaj

Na primer, če razmestimo aplikacijo spanje v imenskem prostoru privzeto, nato pa preverite Pod - videli bomo dva tekoča vsebnika, aplikacijo spanje in pripadajočo stransko prikolico:

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

Aplikacijo lahko tudi spremljamo spanje na plošči NGINX Plus zaženite ta ukaz za dostop do prikolice iz lokalnega računalnika:

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

Potem samo vstopimo tukaj v brskalniku. Za spremljanje aplikacije se lahko povežete tudi s Prometheusom spanje.

Posamezne vire Kubernetes lahko uporabite za konfiguracijo prometnih politik, kot so nadzor dostopa, omejevanje hitrosti in prekinitev tokokroga, za to glejte dokumentacijo

Zaključek

NGINX Service Mesh je na voljo za brezplačen prenos na portal F5. Poskusite v svojem razvojnem in testnem okolju ter pišite nam o rezultatih.

Če želite preizkusiti NGINX Plus Ingress Controller, ga aktivirajte brezplačno poskusno obdobje za 30 dni, oz Kontaktiraj nas za razpravo o vaših primerih uporabe.

Prevod Pavel Demkovich, inženir podjetja Southbridge. Upravljanje sistema za 15 rubljev na mesec. In kot ločen oddelek - center za usposabljanje Slurm, praksa in nič drugega kot praksa.

Vir: www.habr.com

Dodaj komentar