Ir pieejams NGINX Service Mesh

Ir pieejams NGINX Service Mesh

Mēs esam priecÄ«gi iepazÄ«stināt ar priekÅ”skatÄ«juma versiju NGINX pakalpojumu tÄ«kls (NSM) ā€” komplekss viegls pakalpojumu tÄ«kls, kas izmanto uz NGINX Plus balstÄ«tu datu plakni, lai pārvaldÄ«tu konteineru trafiku Kubernetes vidēs.

NSM ir bezmaksas Lejupielādēt Å”eit. Mēs ceram, ka jÅ«s to izmēģināsit izstrādātāju un testÄ“Å”anas vidēs un gaidÄ«sim jÅ«su atsauksmes vietnē GitHub.

Mikropakalpojumu metodoloÄ£ijas ievieÅ”ana ir saistÄ«ta ar grÅ«tÄ«bām, pieaugot piegādes apjomam un sarežģītÄ«bai. Saziņa starp pakalpojumiem kļūst sarežģītāka, atkļūdoÅ”anas problēmas kļūst grÅ«tākas, un arvien vairāk pakalpojumu pārvaldÄ«bai ir nepiecieÅ”ams vairāk resursu.

NSM atrisina Ŕīs problēmas, nodroÅ”inot jums:

  • DroŔība, kas tagad ir svarÄ«gāks nekā jebkad agrāk. Datu pārkāpums uzņēmumam var izmaksāt miljoniem dolāru gadā, zaudējot ieņēmumus un reputāciju. NSM nodroÅ”ina, ka visi savienojumi tiek Å”ifrēti, izmantojot mTLS, tāpēc nav sensitÄ«vu datu, ko tÄ«klā var nozagt hakeri. Piekļuves kontrole ļauj iestatÄ«t politikas pakalpojumu saziņai ar citiem pakalpojumiem.
  • Satiksmes vadÄ«ba. Piegādājot jaunu lietojumprogrammas versiju, iespējams, vēlēsities sākt ar tās ienākoŔās trafika ierobežoÅ”anu kļūdas gadÄ«jumā. Izmantojot NSM viedo konteineru trafika pārvaldÄ«bu, varat iestatÄ«t trafika ierobežoÅ”anas politiku jauniem pakalpojumiem, kas laika gaitā palielinās trafiku. Citas funkcijas, piemēram, ātruma ierobežojums un automātiskie slēdži, sniedz jums pilnÄ«gu kontroli pār visu jÅ«su pakalpojumu satiksmes plÅ«smu.
  • Vizualizācija. TÅ«kstoÅ”iem pakalpojumu pārvaldÄ«ba var bÅ«t atkļūdoÅ”anas un vizualizācijas murgs. NSM palÄ«dz tikt galā ar Å”o situāciju, izmantojot iebÅ«vēto Grafana informācijas paneli, kas parāda visas NGINX Plus pieejamās funkcijas. Un arÄ« ieviestā Open Tracing ļauj detalizēti uzraudzÄ«t darÄ«jumus.
  • HibrÄ«da piegādes, ja jÅ«su uzņēmums, tāpat kā vairums citu, neizmanto infrastruktÅ«ru, kas pilnÄ«bā darbojas Kubernetes. NSM nodroÅ”ina, ka mantotās lietojumprogrammas netiek atstātas bez uzraudzÄ«bas. Ar ieviestā NGINX Kubernetes Ingress Controller palÄ«dzÄ«bu mantotie pakalpojumi varēs sazināties ar tÄ«kla pakalpojumiem un otrādi.

NSM nodroÅ”ina arÄ« lietojumprogrammu droŔību nulles uzticamÄ«bas vidēs, pārredzami piemērojot Å”ifrÄ“Å”anu un autentifikāciju konteineru trafikai. Tas arÄ« nodroÅ”ina darÄ«jumu redzamÄ«bu un analÄ«zi, palÄ«dzot ātri un precÄ«zi uzsākt izvietoÅ”anu un novērst problēmas. Tas nodroÅ”ina arÄ« detalizētu satiksmes kontroli, ļaujot DevOps komandām izvietot un optimizēt lietojumprogrammu daļas, vienlaikus ļaujot izstrādātājiem izveidot un viegli savienot savas izplatÄ«tās lietojumprogrammas.

Kā darbojas NGINX Service Mesh?

NSM sastāv no vienotas datu plaknes horizontālai satiksmei (no pakalpojuma uz pakalpojumu) un iegulta NGINX Plus ieejas kontrollera vertikālai satiksmei, ko pārvalda viena vadības plakne.

VadÄ«bas plakne ir Ä«paÅ”i izstrādāta un optimizēta NGINX Plus datu plaknei, un tā nosaka satiksmes kontroles noteikumus, kas ir sadalÄ«ti pa NGINX Plus blakusvāģiem.

NSM katram tÄ«kla pakalpojumam ir uzstādÄ«ti blakusvāģu starpniekserveri. Tie saskaras ar Ŕādiem atvērtā pirmkoda risinājumiem:

  • Grafana, Prometheus parametru vizualizācija, iebÅ«vētais NSM panelis palÄ«dz jums darbā;
  • Kubernetes Ingress Controllers, lai pārvaldÄ«tu ienākoÅ”o un izejoÅ”o trafiku tÄ«klā;
  • SPIRE, CA sertifikātu pārvaldÄ«bai, izplatÄ«Å”anai un atjaunināŔanai tÄ«klā;
  • NATS, mērogojama sistēma ziņojumu, piemēram, marÅ”ruta atjauninājumu, nosÅ«tÄ«Å”anai no vadÄ«bas plaknes uz blakusvāģiem;
  • Open Tracing, izplatÄ«ta atkļūdoÅ”ana (atbalstÄ«ts Zipkin un Jaeger);
  • Prometheus apkopo un saglabā NGINX Plus blakusvāģu raksturlielumus, piemēram, pieprasÄ«jumu skaitu, savienojumus un SSL rokasspiedienus.

Funkcijas un komponenti

NGINX Plus kā datu plakne aptver blakusvāģa starpniekserveri (horizontālā satiksme) un ieejas kontrolleri (vertikālā), pārtverot un pārvaldot konteineru satiksmi starp pakalpojumiem.

Funkcijas ietver:

  • savstarpēja TLS (mTLS) autentifikācija;
  • Slodzes balansÄ“Å”ana;
  • Bojājumu tolerance;
  • Ātruma ierobežojums;
  • Ķēdes pārrāvums;
  • zili zaļā un kanāriju izvietoÅ”ana;
  • Piekļuves kontrole.

Tiek palaists NGINX Service Mesh

Lai palaistu NSM, jums ir nepiecieŔams:

  • piekļuve Kubernetes videi. NGINX Service Mesh tiek atbalstÄ«ts daudzās Kubernetes platformās, tostarp Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere un parastajos Kubernetes klasteros, kas izvietoti aparatÅ«ras serveros;
  • Instruments kubectl, kas instalēta maŔīnā, no kuras tiks instalēts NSM;
  • Piekļuve NGINX Service Mesh izlaiÅ”anas pakotnēm. Pakotnē ir NSM attēli, kas nepiecieÅ”ami Kubernetes klasterÄ« pieejamo konteineru augÅ”upielādei privātajā reÄ£istrā. Iepakojumā ir arÄ« nginx-meshctl, kas nepiecieÅ”ams NSM izvietoÅ”anai.

Lai izvietotu NSM ar noklusējuma iestatÄ«jumiem, palaidiet Å”o komandu. IzvietoÅ”anas laikā tiek parādÄ«ti ziņojumi, kas norāda uz veiksmÄ«gu komponentu instalÄ“Å”anu, un, visbeidzot, ziņojums, kas norāda, ka NSM darbojas atseviŔķā nosaukumvietā (jums vispirms ir download un ievieto to reÄ£istrā, apm. tulkotājs):

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

Lai iegūtu vairāk opciju, tostarp papildu iestatījumus, palaidiet Ŕo komandu:

$ nginx-meshctl deploy ā€“h

Pārbaudiet, vai vadības plakne nosaukumvietā darbojas pareizi nginx-siets, jūs varat darīt Ŕādi:

$ 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

AtkarÄ«bā no izvietoÅ”anas iestatÄ«jumiem, kas nosaka manuālās vai automātiskās iesmidzināŔanas politikas, NGINX blakusvāģu starpniekserveri lietojumprogrammām tiks pievienoti pēc noklusējuma. Lai atspējotu automātisko pievienoÅ”anu, izlasiet Å”eit

Piemēram, ja mēs izvietojam lietojumprogrammu miegs vārdu telpā noklusējuma, un pēc tam pārbaudiet Pod ā€” mēs redzēsim divus darbojoÅ”os konteinerus, lietojumprogrammu miegs un ar to saistÄ«tais blakusvāģis:

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

Mēs varam arÄ« uzraudzÄ«t lietojumprogrammu miegs NGINX Plus panelÄ«, izpildot Å”o komandu, lai piekļūtu blakusvāģim no vietējās maŔīnas:

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

Tad mēs vienkārÅ”i ieejam Å”eit pārlÅ«kprogrammā. Varat arÄ« izveidot savienojumu ar Prometheus, lai uzraudzÄ«tu lietojumprogrammu miegs.

Varat izmantot atseviŔķus Kubernetes resursus, lai konfigurētu satiksmes politikas, piemēram, piekļuves kontroli, ātruma ierobežoÅ”anu un ķēdes pārtraukumus. dokumentācija

Secinājums

NGINX Service Mesh ir pieejams bezmaksas lejupielādei vietnē portāls F5. Izmēģiniet to savā izstrādātāja un testa vidē un rakstiet mums par rezultātiem.

Lai izmēģinātu NGINX Plus ieejas kontrolieri, aktivizējiet bezmaksas izmēģinājuma periods uz 30 dienām vai Sazinies ar mums lai apspriestu lietoÅ”anas gadÄ«jumus.

Tulkojis Pāvels Demkovičs, uzņēmuma inženieris Southbridge. Sistēmas administrÄ“Å”ana par RUB 15 000 mēnesÄ«. Un kā atseviŔķa nodaļa - mācÄ«bu centrs Slurm, prakse un nekas cits kā prakse.

Avots: www.habr.com

Pievieno komentāru