NGINX Service Mesh on saadaval

NGINX Service Mesh on saadaval

Meil on hea meel tutvustada eelversiooni NGINX Service Mesh (NSM), kerge service mesh, mis kasutab NGINX Plusi pÔhinevat andmeplaani konteinerite liikluse haldamiseks Kubernetes keskkondades.

NSM-i saab tasuta siit alla laadida. Loodame, et proovite seda dev ja test keskkondades — ja ootame teie tagasisidet GitHubis.

Mikroteenuste rakendamine on seotud vĂ€ljakutsetega tarnete suurendamisel ja keerukuse kasvu tĂ”ttu. Teenuste vaheline suhtlus on keerulisem, silumisprobleemid muutuvad raskemaks ning ĂŒha rohkem teenuseid nĂ”uab suuremaid ressursse haldamiseks.

NSM lahendab need probleemid, pakkudes teile eelkÔige:

  • Turvalisus, mis on nĂŒĂŒd olulisem kui kunagi varem. Andmelekke tagajĂ€rjed vĂ”ivad maksma minna ettevĂ”tetele miljoneid dollareid aastas tulu ja reputatsiooni kaotuse nĂ€ol. NSM tagab kĂ”ikide ĂŒhenduste krĂŒpteerimise mTLS-iga — nii et tundlikke andmeid, mida hĂ€kkerid vĂ”isid ĂŒle vĂ”rgu varastada, pole lihtsalt olemas. JuurdepÀÀsukontroll vĂ”imaldab teil mÀÀrata poliitikad, kuidas teenused omavahel suhtlevad.
  • Liikluse haldamine. Uue rakenduse versiooni vĂ€ljaandmisel vĂ”iksite alguses piirata selle sisenemist liiklust, et vĂ€ltida vĂ”imalikke vigu. NSM-i arukate konteinerite liikluse halduse abil saate mÀÀrata liikumise piirangute poliitika uutele teenustele, mis suurendab liiklust ajas. Muud funktsioonid, nagu kiiruspiirangud ja circuit breakers, annavad teile tĂ€ieliku kontrolli kĂ”ikide teie teenuste liikluse haldamise ĂŒle.
  • Visualiseerimine. Tuhandete teenuste haldamine vĂ”ib olla silumis- ja visualiseerimisĂ”udus. NSM aitab sellises olukorras integreeritud Grafana juhtpaneeli abil, kus kuvatakse kĂ”ik NGINX Plusi saadaval olevad omadused. Samuti vĂ”imaldab sisse ehitatud Open Tracing pĂ”hjalikult jĂ€lgida tehingute kulgu.
  • HĂŒbriidtarned, kui teie ettevĂ”te, nagu enamik teisi, ei kasuta tĂ€ielikult Kubernetesel pĂ”hinevat infrastruktuuri. NSM tagab, et vanad rakendused ei jÀÀ tĂ€helepanuta. Sisse ehitatud NGINX Kubernetes Ingress Controller vĂ”imaldab vanadel teenustel suhelda mesh teenustega ja vastupidi.

NSM tagab ka rakenduste turvalisust null usaldusvÀÀrsuse keskkondades, rakendades lĂ€bipaistvalt konteinerite liikluse krĂŒpteerimist ja autentimist. Samuti vĂ”imaldab see tehingute jĂ€lgimist ja analĂŒĂŒsi, aidates kiiresti ja tĂ€pselt kĂ€ivitada juurutusi ning lahendada probleeme. Lisaks tagab see pĂ”hjaliku liikluse kontrolli, vĂ”imaldades DevOpsi meeskondadel juurutada ja optimeerida rakenduste osi, samas andes arendajatele vĂ”imaluse luua ja kergesti ĂŒhendada nende hajutatud rakendusi.

Kuidas töötab NGINX Service Mesh?

NSM koosneb integreeritud andmeplaadist horisontaalse (teenus-teenusele) liikluse jaoks ja integreeritud NGINX Plus Ingress Controller'ist vertikaalse liikluse jaoks, mida juhib ĂŒhine juhtplaan.

Juhtplaan on spetsiaalselt loodud ja optimeeritud NGINX Plus andmeplaandi jaoks, mÀÀrates liikluse juhtimise reeglid, mis on jaotatud NGINX Plus sidecar'ide vahel.

NSM sidecar'id paigaldatakse igale teenusele mesh'is. Need suhtlevad jÀrgmiste avatud lÀhtekoodiga lahendustega:

  • Grafana, Prometheuse parameetrite visualiseerimine, sisseehitatud NSM paneel aitab teil töötada;
  • Kubernetes Ingress Controller'id, et hallata sisenevat ja vĂ€ljaminevat liiklust mesh'is;
  • SPIRE, CA sertifikaatide haldamiseks, jagamiseks ja uuendamiseks mesh'is;
  • NATS, skaleeritav sĂ”numite saatmise sĂŒsteem, nĂ€iteks marsruutide uuendused, juhtplaanist sidecar'ideni;
  • Open Tracing, hajutatud silumine (toetatakse Zipkini ja Jaegerit);
  • Prometheus, NGINX Plus sidecar'idelt parameetrite kogumine ja talletamine, nĂ€iteks pĂ€ringute arvu, ĂŒhenduste ja SSL-i kĂ€epigistuste arv.

Funktsioonid ja komponendid

NGINX Plus andmeplaana katab sidecar proxy (horisontaalne liiklus) ja Ingress controller (vertikaalne), katab ja haldab konteinerite liiklust teenuste vahel.

Funktsioonid hÔlmavad:

  • TLS-i vastastikune autentimine (mTLS);
  • Laadimise tasakaalustamine;
  • Veakindlus;
  • Kiiruspiiramine;
  • Circuit breaking;
  • Sinine-roheline ja kanarjane juurutamine;
  • Juhtimise kontroll.

NGINX Service Mesh'i kÀivitamine

NSM-i kÀivitamiseks on vajalik:

  • LigipÀÀs Kubernetes'i keskkonnale. NGINX Service Mesh'i toetatakse paljudel Kubernetes'i platvormidel, sealhulgas Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere ja tavapĂ€rastes Kubernetes'i klastrites, mis on juurutatud "raudserveritel";
  • Tööriist kubectl, paigaldatud masinas, kust NSM paigaldatakse;
  • PÀÀs NGINX Service Meshi vĂ€ljaandepakettidesse. Pakett sisaldab NSM-i pilte, mida on vaja konteinerite privaatregistrisse laadimiseks, mis on saadaval Kubernetesi klastris. Pakett sisaldab ka nginx-meshctl, mis on vajalik NSM-i juurutamiseks.

NSM-i juurutamiseks vaikeseadetega kÀivitage jÀrgmine kÀsk. Juurutamise ajal kuvatakse sÔnumeid komponentide eduka installimise kohta ja lÔpuks on sÔnum, et NSM töötab eraldi nimede ruumis (alguseks tuleb see alla laadida ja laadida registrisse, tÔlkija mÀrkus):

$ 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}"
Loodud nimede ruum "nginx-mesh".
Loodud SpiffeID CRD.
Ootame, kuni Spire'i podid on töötavad...valmis.
Juurutatud Spire.
Juurutatud NATS server.
Loodud liikluspoliitika CRD-d.
Juurutatud Mesh API.
Juurutatud Metrics API Server.
Juurutatud Prometheus Server nginx-mesh\/prometheus-server.
Juurutatud Grafana nginx-mesh\/grafana.
Juurutatud jÀlgimisserver nginx-mesh\/zipkin.
KĂ”ik ressursid loodud. Testime ĂŒhendust Service Mesh API Serveriga...

Ühendatud NGINX Service Mesh API-ga edukalt.
NGINX Service Mesh töötab.

TÀpsemate parameetrite, sealhulgas laiendatud seadistuste saamiseks kÀivitage see kÀsk:

$ nginx-meshctl deploy –h

Kontrollige, et juhtimislennuk töötab korrektselt nimede ruumis nginx-mesh, saate seda teha:

$ kubectl get pods –n nginx-mesh
NIMI                                 VALMIS   SEISUND    UUENDUSED   VANUS
grafana-6cc6958cd9-dccj6             1\/1     Töötav   0          2d19h
mesh-api-6b95576c46-8npkb            1\/1     Töötav   0          2d19h
nats-server-6d5c57f894-225qn         1\/1     Töötav   0          2d19h
prometheus-server-65c95b788b-zkt95   1\/1     Töötav   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1\/1     Töötav   0          2d19h
spire-agent-5cf87                    1\/1     Töötav   0          2d19h
spire-agent-rr2tt                    1\/1     Töötav   0          2d19h
spire-agent-vwjbv                    1\/1     Töötav   0          2d19h
spire-server-0                       2\/2     Töötav   0          2d19h
zipkin-6f7cbf5467-ns6wc              1\/1     Töötav   0          2d19h

SĂ”ltuvalt juurutusparameetritest, mis seadistavad kĂ€sitsi vĂ”i automaatse sĂŒstimise poliitikaid, lisatakse NGINX-i sidecar'id rakendustele vaikimisi. Automaatse lisamise keelamiseks lugege siin

NĂ€iteks kui me juurutame rakenduse sleep nimede ruumis SeejĂ€rel kĂ€ivitame exec kĂ€su ja ootame 5000 sekundit, et jĂ€tkata jĂ€lgimist:, ja siis kontrollime Pod'i — nĂ€eme kahte töötavat konteinerit, rakenduse sleep ja sellega seotud sidecar'i:

$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NIMI                     VALMIS   SEISUND    UUENDUSED   VANUS
sleep-674f75ff4d-gxjf2   2\/2     Töötav   0          5h23m

Samuti saame jÀlgida rakendust sleep NGINX Plus paneelil, kÀivitades selle kÀsu, et saada juurdepÀÀs sidecar'ile oma lokaalsest masinast:

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

SeejĂ€rel lihtsalt avame siia brauseris. Samuti saate ĂŒhendada Prometheus'ega, et jĂ€lgida rakendust sleep.

Saate kasutada eraldi Kubernetes'i ressursse liiklussuunamisreeglite seadistamiseks, nÀiteks juurdepÀÀsu kontrollimiseks, kiiruspiiramiseks ja circuit breaking'iks. Selle jaoks vaadake dokumentatsioon

KokkuvÔte

NGINX Service Mesh on tasuta allalaadimiseks saadaval F5 portaalis. Proovige seda oma dev ja test keskkondades ning andke meile oma tulemustest teada.

NGINX Plus Ingress Controller'i proovimiseks aktiveerige tasuta prooviperiood 30 pĂ€evaks vĂ”i vĂ”tke meiega ĂŒhendust oma kasutusvĂ”imaluste arutamiseks.

TĂ”lke autoriks on Pavel Demkovich, ettevĂ”tte insener Southbridge. SĂŒsteemihaldus 15 000 ₜ kuus. Ja eraldi ĂŒksusena — koolitus- ja praktiline keskus SlĂŒrm, praktika ja mitte midagi muud kui praktika.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster