Galimas „NGINX Service Mesh“.

Galimas „NGINX Service Mesh“.

Džiaugiamės galėdami pristatyti peržiūros versiją NGINX paslaugų tinklelis (NSM), susietas lengvas paslaugų tinklelis, kuris naudoja NGINX Plus pagrįstą duomenų plokštumą konteinerių srautui Kubernetes aplinkoje valdyti.

NSM yra nemokama Atsisiųsti čia. Tikimės, kad išbandysite ją kūrimo ir bandymo aplinkose ir lauksime jūsų atsiliepimų „GitHub“..

Mikropaslaugų metodikos diegimas yra kupinas sunkumų, nes auga tiekimo mastas ir sudėtingumas. Ryšys tarp paslaugų tampa sudėtingesnis, derinimo problemos tampa sunkesnės, o vis daugiau paslaugų reikalauja daugiau išteklių valdyti.

NSM išsprendžia šias problemas suteikdama jums:

  • saugumas, kuri dabar svarbiau nei bet kada. Duomenų pažeidimas gali kainuoti įmonei milijonus dolerių kasmet prarastų pajamų ir reputacijos. NSM užtikrina, kad visi ryšiai būtų užšifruoti naudojant mTLS, todėl tinkle nėra jokių jautrių duomenų, kuriuos įsilaužėliai galėtų pavogti. Prieigos kontrolė leidžia nustatyti paslaugų bendravimo su kitomis paslaugomis politiką.
  • Eismo valdymas. Siunčiant naują programos versiją, galbūt norėsite pradėti apribodami įeinantį srautą, jei įvyktų klaida. Naudodami išmanųjį NSM konteinerių srauto valdymą, galite nustatyti srauto apribojimo politiką naujoms paslaugoms, kurios laikui bėgant padidins srautą. Kitos funkcijos, pvz., greičio ribojimas ir grandinės pertraukikliai, leidžia visiškai valdyti visų paslaugų srautą.
  • Vizualizacija. Tūkstančių paslaugų valdymas gali būti derinimo ir vizualizavimo košmaras. NSM padeda susidoroti su šia situacija su integruotu „Grafana“ prietaisų skydeliu, kuriame rodomos visos „NGINX Plus“ funkcijos. Taip pat įdiegtas Open Tracing leidžia išsamiai stebėti operacijas.
  • Hibridiniai pristatymai, jei jūsų įmonė, kaip ir dauguma kitų, nenaudoja infrastruktūros, veikiančios tik Kubernetes. NSM užtikrina, kad senos programos nebus paliktos be priežiūros. Su įdiegto NGINX Kubernetes Ingress Controller pagalba senosios paslaugos galės bendrauti su tinklelio paslaugomis ir atvirkščiai.

NSM taip pat užtikrina programų saugumą nulinio pasitikėjimo aplinkoje, skaidriai taikydama šifravimą ir autentifikavimą konteinerių srautui. Tai taip pat suteikia operacijų matomumą ir analizę, padedančią greitai ir tiksliai pradėti diegimą ir šalinti problemas. Tai taip pat suteikia detalų srauto valdymą, leidžiantį „DevOps“ komandoms įdiegti ir optimizuoti programų dalis, o kūrėjai gali kurti ir lengvai prijungti paskirstytas programas.

Kaip veikia „NGINX Service Mesh“?

NSM susideda iš vieningos duomenų plokštumos, skirtos horizontaliam (paslaugų ir paslaugų) srautui, ir integruoto NGINX Plus įėjimo valdiklio vertikaliam srautui, valdomo viena valdymo plokštuma.

Valdymo plokštuma yra specialiai sukurta ir optimizuota NGINX Plus duomenų plokštumai ir apibrėžia eismo valdymo taisykles, paskirstytas NGINX Plus šoninėse priekabėse.

NSM tinkle kiekvienai paslaugai įdiegiami šoninių priekabų tarpiniai serveriai. Jie sąveikauja su šiais atvirojo kodo sprendimais:

  • Grafana, Prometheus parametrų vizualizacija, įmontuotas NSM skydelis padeda jums dirbti;
  • Kubernetes Ingress Controllers, skirtas valdyti įeinantį ir išeinantį srautą tinkle;
  • SPIRE, CA sertifikatų valdymui, platinimui ir atnaujinimui tinkle;
  • NATS, keičiamo dydžio sistema, skirta pranešimams, pvz., maršruto atnaujinimams, siųsti iš valdymo plokštumos į šonines priekabas;
  • Open Tracing, paskirstytas derinimas (palaikoma Zipkin ir Jaeger);
  • „Prometheus“ renka ir saugo NGINX Plus šoninių priekabų charakteristikas, tokias kaip užklausų skaičius, jungtys ir SSL rankos paspaudimai.

Funkcijos ir komponentai

NGINX Plus, kaip duomenų plokštuma, apima šoninio priekabos tarpinį serverį (horizontalus srautas) ir įėjimo valdiklį (vertikalus), perima ir valdo konteinerių srautą tarp paslaugų.

Funkcijos apima:

  • Abipusis TLS (mTLS) autentifikavimas;
  • Apkrovos balansavimas;
  • Gedimų tolerancija;
  • Greičio apribojimas;
  • Grandinės pertraukimas;
  • Mėlynai žalios ir kanarinės spalvos dislokacijos;
  • Prieigos kontrolė.

Paleidžiamas „NGINX Service Mesh“.

Norėdami paleisti NSM, jums reikia:

  • prieiga prie Kubernetes aplinkos. „NGINX Service Mesh“ palaikoma daugelyje „Kubernetes“ platformų, įskaitant „Amazon Elastic Container Service for Kubernetes“ (EKS), „Azure Kubernetes Service“ (AKS), „Google Kubernetes Engine“ (GKE), „VMware vSphere“ ir įprastus „Kubernetes“ grupes, įdiegtas aparatinės įrangos serveriuose;
  • Įrankis kubectl, įdiegta mašinoje, iš kurios bus įdiegtas NSM;
  • Prieiga prie NGINX Service Mesh išleidimo paketų. Pakete yra NSM vaizdų, reikalingų Kubernetes klasteryje esančių konteinerių įkėlimui į privatų registrą. Pakuotėje taip pat yra nginx-meshctl, reikalingas NSM diegti.

Norėdami įdiegti NSM su numatytaisiais parametrais, paleiskite šią komandą. Diegimo metu rodomi pranešimai, nurodantys sėkmingą komponentų įdiegimą, ir galiausiai pranešimas, nurodantis, kad NSM veikia atskiroje vardų erdvėje (pirmiausia turite atsisiųsti ir įdėkite jį į registrą, apytiksliai vertėjas):

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

Norėdami gauti daugiau parinkčių, įskaitant išplėstinius nustatymus, paleiskite šią komandą:

$ nginx-meshctl deploy –h

Patikrinkite, ar valdymo plokštuma tinkamai veikia vardų erdvėje nginx tinklelis, galite tai padaryti:

$ 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

Atsižvelgiant į diegimo nustatymus, kurie nustato rankinio arba automatinio įpurškimo politiką, NGINX šoninių priekabų tarpiniai serveriai bus įtraukti į programas pagal numatytuosius nustatymus. Norėdami išjungti automatinį pridėjimą, skaitykite čia

Pavyzdžiui, jei diegiame programą miegoti vardų erdvėje numatytasis, tada patikrinkite Pod - pamatysime du veikiančius konteinerius, programą miegoti ir susijusi šoninė priekaba:

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

Taip pat galime stebėti aplikaciją miegoti NGINX Plus skydelyje paleiskite šią komandą, kad pasiektumėte šoninę priekabą iš vietinio įrenginio:

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

Tada mes tiesiog įeiname čia naršyklėje. Taip pat galite prisijungti prie „Prometheus“, kad galėtumėte stebėti programą miegoti.

Galite naudoti atskirus Kubernetes išteklius srauto politikai konfigūruoti, pvz., prieigos kontrolę, greičio ribojimą ir grandinės pertraukimą. dokumentacija

išvada

NGINX Service Mesh galima nemokamai atsisiųsti adresu portalas F5. Išbandykite tai savo kūrimo ir bandymo aplinkoje ir parašykite mums apie rezultatus.

Norėdami išbandyti „NGINX Plus Ingress Controller“, suaktyvinkite nemokamas bandomasis laikotarpis 30 dienų arba свяжитесь с нами aptarti savo naudojimo atvejus.

Vertė Pavelas Demkovichas, įmonės inžinierius Southbridge. Sistemos administravimas už 15 000 RUB per mėnesį. Ir kaip atskiras padalinys – mokymo centras Slurm, praktika ir tik praktika.

Šaltinis: www.habr.com

Добавить комментарий