Saadaval on NGINX Service Mesh

Saadaval on NGINX Service Mesh

Meil on hea meel esitada eelvaade NGINX teenindusvõrk (NSM), ühendatud kerge teenindusvõrk, mis kasutab NGINX Plusi-põhist andmetasandit konteineriliikluse haldamiseks Kubernetese keskkondades.

NSM on tasuta Download siin. Loodame, et proovite seda arendus- ja testkeskkondade jaoks ning ootame teie tagasisidet GitHubis.

Mikroteenuste metoodika rakendamine on täis raskusi nii pakkumise ulatuse kasvu kui ka nende keerukusega. Teenuste vaheline suhtlus muutub keerulisemaks, silumisprobleemid muutuvad keerulisemaks, üha enamate teenuste haldamine nõuab rohkem ressursse.

NSM lahendab need probleemid, pakkudes teile:

  • turvalisusmis on praegu tähtsam kui kunagi varem. Andmete rikkumine võib ettevõttele igal aastal maksta miljoneid dollareid tulu ja maine kaotamiseks. NSM krüpteerib kõik ühendused mTLS-i abil, seega pole lihtsalt tundlikke andmeid, mida häkkerid saaksid võrgu kaudu varastada. Juurdepääsukontroll võimaldab teil määrata reeglid, kuidas teenused suhtlevad teiste teenustega.
  • liikluskorraldus. Rakenduse uue versiooni tarnimisel võiksite alustada tõrke korral selle sissetuleva liikluse piiramisest. NSM Intelligent Container Traffic Management abil saate määrata uutele teenustele liikluspiirangu poliitika, mis aja jooksul liiklust suurendab. Muud funktsioonid, nagu kiiruse piiramine ja kaitselülitid, annavad teile täieliku kontrolli kõigi oma teenuste liiklusvoo üle.
  • Visualiseerimine. Tuhandete teenuste haldamine võib olla silumine ja visualiseerimine õudusunenägu. NSM aitab selle olukorraga toime tulla sisseehitatud Grafana armatuurlauaga, mis kuvab kõik NGINX Plusis saadaolevad funktsioonid. Ja ka juurutatud Open Tracing võimaldab teil tehinguid üksikasjalikult jälgida.
  • Hübriidtarned, kui teie ettevõte, nagu enamik teisi, ei kasuta täielikult Kubernetes töötavat infrastruktuuri. NSM tagab, et vanad rakendused ei jääks järelevalveta. Sisseehitatud NGINX Kubernetes Ingress Controlleri abil saavad vanad teenused suhelda võrguteenustega ja vastupidi.

NSM kaitseb ka rakendusi null-usalduskeskkondades, krüpteerides ja autentides konteineriliiklust läbipaistvalt. See pakub ka tehingute nähtavust ja analüüsi, mis aitab teil kiiresti ja täpselt käivitada juurutusi ning lahendada probleeme. See pakub ka täpset liiklusjuhtimist, võimaldades DevOpsi meeskondadel rakenduste osi juurutada ja optimeerida, võimaldades samal ajal arendajatel oma hajutatud rakendusi luua ja hõlpsasti ühendada.

Kuidas on NGINX Service Mesh korraldatud?

NSM koosneb ühtsest andmetasandist horisontaalse (teenus-teenindus) liikluse jaoks ja manustatud NGINX Plus sisendkontrollerist vertikaalse liikluse jaoks, mida haldab üks juhttasand.

Juhttasand on spetsiaalselt loodud ja optimeeritud NGINX Plusi andmetasandi jaoks, määratleb liikluskorralduse reeglid, mis on jaotatud NGINX Plusi külgkorvide vahel.

NSM-i külgkorvides on võrgu iga teenuse jaoks määratud puhverserverid. Nad suhtlevad järgmiste avatud lähtekoodiga lahendustega:

  • Grafana, Prometheuse parameetrite visualiseerimine, sisseehitatud NSM-paneel aitab teid tööl;
  • Kubernetes Ingress Controllers, et hallata võrgus sissetulevat ja väljaminevat liiklust;
  • SPIRE, CA sertifikaatide haldamiseks, levitamiseks ja uuendamiseks võrgus;
  • NATS, skaleeritav süsteem teadete (nt marsruudi uuendused) saatmiseks juhttasandilt külgkorvidesse;
  • Open Tracing, hajutatud silumine (toetavad Zipkin ja Jaeger);
  • Prometheus, NGINX Plusi külgkorvide omaduste kogumine ja salvestamine, nagu taotluste arv, ühendused ja SSL-käepigistus.

Omadused ja komponendid

NGINX Plus andmetasandina hõlmab külgkorvi puhverserverit (horisontaalne liiklus) ja sisendkontrollerit (vertikaalne), mis peatab ja haldab konteineriliiklust teenuste vahel.

Funktsioonide hulka kuuluvad:

  • Vastastikune TLS-i autentimine (mTLS);
  • Koormuse tasakaalustamine;
  • Veataluvus;
  • Kiirusepiirang;
  • vooluahela katkestamine;
  • sinakasroheline ja kanaarilindude kasutuselevõtt;
  • Juurdepääsu kontroll.

NGINX Service Meshi käivitamine

NSM-i käivitamiseks vajate:

  • juurdepääs Kubernetese keskkonnale. NGINX Service Meshi toetavad paljud Kubernetese platvormid, sealhulgas Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere ja riistvaraserverites juurutatud tavalised Kubernetese klastrid;
  • Vahend kubectlinstallitud masinasse, kust NSM installitakse;
  • Juurdepääs NGINX Service Meshi väljalaskepakettidele. Pakett sisaldab Kubernetese klastris saadaolevate konteinerite privaatsesse registrisse üleslaadimiseks vajalikke NSM-pilte. Pakend sisaldab ka nginx-meshctlvaja NSM-i juurutamiseks.

NSM-i juurutamiseks vaikeseadetega käivitage järgmine käsk. Juurutamise ajal näete teateid selle kohta, et komponendid on edukalt installitud ja lõpuks teadet, et NSM töötab eraldi nimeruumis (peate esmalt alla laadima ja sisestage registrisse, u. tõlkija):

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

Rohkemate valikute, sealhulgas täpsemate sätete jaoks käivitage see käsk:

$ nginx-meshctl deploy –h

Kontrollige, kas juhttasand töötab nimeruumis õigesti nginxi võrk, saate seda teha:

$ 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

NGINX-i külgkorvide puhverserverid lisatakse vaikerakendustele olenevalt juurutusseadetest, mis määravad käsitsi või automaatse süstimise poliitikad. Automaatse lisamise keelamiseks lugege siin

Näiteks kui juurutame rakenduse uni nimeruumis vaikimisija seejärel kontrollige Podit – näeme kahte töötavat konteinerit, rakendust uni ja sellega seotud külgkorv:

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

Samuti saame rakendust jälgida uni NGINX Plus paneelil, käivitades selle käsu, et pääseda ligi oma kohalikust masinast külgkorvile:

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

Siis me lihtsalt läheme kliki siia brauseris. Rakenduse jälgimiseks saate ühenduse luua ka Prometheusega uni.

Saate kasutada üksikuid Kubernetese ressursse liikluspoliitikate konfigureerimiseks, nagu juurdepääsukontroll, kiiruse piiramine ja voolukatkestus, vt dokumentatsioon

Järeldus

NGINX Service Mesh on tasuta allalaadimiseks saadaval aadressil portaal F5. Proovige seda oma arendus- ja testkeskkondades ning kirjutage meile tulemustest.

NGINX Plus Ingress Controlleri proovimiseks aktiveerige tasuta prooviperiood 30 päevaks või Võta meiega ühendust et arutada oma kasutusjuhtumeid.

Tõlkinud Pavel Demkovich, ettevõtte insener Southbridge. Süsteemihaldus 15 000 ₽ kuus. Ja eraldi divisjonina - koolituskeskus Slurm, harjutada ja mitte midagi peale praktika.

Allikas: www.habr.com

Lisa kommentaar