NGINX Service Mesh on saadaval

NGINX Service Mesh on saadaval

Meil on hea meel tutvustada eelversiooni NGINX Service Mesh (NSM), kergekaaluline teenuse mesh, mis kasutab NGINX Plusi andmeplaani konteinerite liikluse haldamiseks Kubernetes'i keskkondades.

NSM on tasuta saadaval siit alla laadida. Loodame, et proovite seda kasutada arendus- ja testkeskkondades — ning ootame teie tagasisidet. GitHub'is.

Mikroteenuste metodoloogia juurutamine toob endaga kaasa vÀljakutseid, kui tarnimine laieneb ja muutub keerulisemaks. Teenuste vaheline suhtlus muutub keerulisemaks, tÔrkeotsinguga on raskem toime tulla, jÀrjest rohkem teenuseid nÔuab rohkem ressursse haldamiseks.

NSM lahendab need probleemid, pakkudes teile eelkÔige:

  • Turvalisus, mis on nĂŒĂŒd olulisem kui kunagi varem. Andmeleke vĂ”ib maksta ettevĂ”ttele iga-aastaselt miljoneid dollareid tulude ja maine kaotamise nĂ€ol. NSM tagab kĂ”igi ĂŒhenduste krĂŒpteerimise mTLS abil – seega ei ole tundlikke andmeid, mida hĂ€kkerid vĂ”iksite veebis varastada. JuurdepÀÀsukontroll vĂ”imaldab teil mÀÀrata poliitikad, kuidas teenused omavahel suhtlevad.
  • Liiklustugevdus. Uue rakenduse versiooni tarnimisel vĂ”iksite alguses piirata selle sissetulevat liiklust vĂ”imalike vigade vĂ€ltimiseks. NSM-i konteinerite nutikas liikluse haldamine vĂ”imaldab teil mÀÀrata liikluse piiramisreeglid uutele teenustele, mis kasvavad aja jooksul. Teised funktsioonid, nagu kiiruspiirang ja circuit breakers, annavad teile tĂ€ieliku kontrolli liikluse haldamise ĂŒle kĂ”igi teie teenuste jaoks.
  • Visualiseerimine. Tuhandeid teenuseid haldamine vĂ”ib olla tĂ”eliselt keeruline vigade otsimise ja visualiseerimise osas. NSM aitab sellistes olukordades, pakkudes sisseehitatud Grafana juhtpaneeli, kus kuvatakse kĂ”ik NGINX Plusi omadused. Samuti on integreeritud Open Tracing, mis vĂ”imaldab detailset jĂ€lgimist tehingute ĂŒle.
  • HĂŒbriidset tarnimist, kui teie ettevĂ”te, nagu enamik teisi, ei kasuta tĂ€ielikult Kubernetesel pĂ”hinevat infrastruktuuri. NSM tagab, et vanad rakendused ei jÀÀ tĂ€helepanuta. NGINX Kubernetes Ingress Controller-i integreerimisega saavad vanad teenused suhelda mesh-teenustega ja vastupidi.

NSM tagab ka rakenduste turvalisuse nullusalduslike keskkondade hulgas, rakendades lĂ€bipaistvalt krĂŒpteerimist ja konteinerite liikluse autentimist. Samuti vĂ”imaldab see jĂ€lgida ja analĂŒĂŒsida tehinguid, aidates kiiresti ja tĂ€pselt kĂ€ivitada juurutusi ja lahendada probleeme. Lisaks pakub see detailset liikluse kontrolli, vĂ”imaldades DevOps meeskondadel juurutada ja optimeerida rakenduste komponente, samal ajal vĂ”imaldades arendajatel luua ja hĂ”lpsasti ĂŒhendada jaotatud rakendusi.

Kuidas on ĂŒles ehitatud NGINX Service Mesh?

NSM koosneb ĂŒhendatud andmeplaanist horisontaalse (teenus-teenusele) liikluse jaoks ja integreeritud NGINX Plus sissepÀÀsu kontrollereist vertikaalse liikluse jaoks, mis on hallatud ĂŒhise kontrollplaani kaudu.

Kontrollplaan on spetsiaalselt loodud ja optimeeritud NGINX Plus andmeplaani jaoks, mÀÀratleb liikluse juhtimise reeglid, mis on jaotatud NGINX Plus sidecaride vahel.

NSM sidecarid on paigaldatud iga teenuse jaoks mesh-is. Need suhtlevad jÀrgmiste avatud lÀhtekoodiga lahendustega:

  • Grafana, Prometheuse parameetrite visualiseerimine, sisseehitatud NSM armatuurlauad aitavad teid töös;
  • Kubernetes Ingress Controllers, sissetuleva ja vĂ€ljaminev liiklus mesh-i haldamiseks;
  • SPIRE, CA sertifikaatide haldamiseks, levitamiseks ja vĂ€rskendamiseks mesh-is;
  • NATS, skaleeritav sĂ”numite edastamise sĂŒsteem, nĂ€iteks marsruutide vĂ€rskendused control plane'ist sidecar'ide juurde;
  • Open Tracing, jaotatud hĂ€ireraport (toetatakse Zipkini ja Jaeger'i);
  • Prometheus, omaduste kogumine ja salvestamine NGINX Plus sidecar'idelt, nĂ€iteks pĂ€ringute arv, ĂŒhendused ja SSL handshake'id.

Funktsioonid ja komponendid

NGINX Plus andmeplaanina katab sidecar proxy (horisontaalne liiklus) ja Ingress controller (vertikaalne), edastades ja hallates konteinerite liiklust teenuste vahel.

Funktsioonid hÔlmavad:

  • TLS (mTLS) ĂŒksteise autentimist;
  • Koormuse tasandamine;
  • Vea taluvus;
  • Kiiruspiirang;
  • Circuit breaking;
  • Sinine-roheline ja kanarbiku juurutamine;
  • JuurdepÀÀsukontroll.

NGINX Service Meshi kÀivitamine

NGINX Service Meshi kÀivitamiseks on vajalik:

  • juurdepÀÀs Kubernetes'i keskkonnale. NGINX Service Mesh on toetatud mitmetes Kubernetes platvormides, sealhulgas Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere ja tavalised Kubernetes klastrid, mis on juurutatud "rauda" serverites;
  • Tööriista kubectl, installeeritud masinasse, kust NSM paigaldatakse;
  • JuurdepÀÀs NGINX Service Meshi vĂ€ljaannete pakettidele. Paketis on NSMi pildid, mida on vaja konteinerite suletud registry jaoks, mis on saadaval Kubernetes'i klastris. Pakett sisaldab ka nginx-meshctl, mis on vajalik NSM-i juurutamiseks.

NSM-i juurutamiseks vaikeseadistustega kÀivitage jÀrgmine kÀsk. Juurutamise ajal kuvatakse sÔnumid komponentide eduka installimise kohta ja lÔpuks sÔnum, et NSM töötab eraldi nimede ruumis (esialgu tuleb see lae alla ja paigutada registry, tÔlkija mÀrk.):

$ 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 Spire'i podide töötamist... tehtud.
Asetatud Spire.
Asetatud NATS server.
Loodud liiklusreeglite CRD-d.
Asetatud Mesh API.
Asetatud Metrics API Server.
Asetatud Prometheus Server nginx-mesh/prometheus-server.
Asetatud Grafana nginx-mesh/grafana.
Asetatud 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 seadete, sealhulgas laiendatud seadete saamiseks kÀivitage see kÀsk:

$ nginx-meshctl deploy –h

Kontrollige, et kontrolltase töötab korrektselt nimepindades nginx-mesh, seda saab teha nii:

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

SĂ”ltuvalt juurutamise parameetritest, mis mÀÀravad kĂ€sitsi vĂ”i automaatse sisestamise poliitikad, lisatakse NGINX sidecar'ide vahetĂŒkid rakendustele automaatselt. Automaatse lisamise vĂ€lja lĂŒlitamiseks lugege siit

NĂ€iteks, kui me juurutame rakenduse uni nimeserveris default, ja seejĂ€rel kontrollime Pod'i — nĂ€eme kahte töötavat konteinerit, rakendus uni ja sellega seotud sidecar:

$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NIMI                     VALMIS   OLEK      KORDUSED   VANUS
sleep-674f75ff4d-gxjf2   2/2     Töötamine  0          5h23m

Saame samuti jÀlgida rakendust uni NGINX Plus paneelis, kÀivitage see kÀsk, et saada juurdepÀÀs sidecar'ile oma lokaalsest masinast:

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

SeejĂ€rel lihtsalt siseneme siia brauserisse. Samuti saate ĂŒhendada Prometheus'e, et jĂ€lgida rakendust uni.

VÔite kasutada eraldi Kubernetes'i ressursse liikluspoliitikate seadistamiseks, nÀiteks juurdepÀÀsu kontrolle, kiiruspiiranguid ja circuit breaking'i, selle jaoks vaadake dokumentatsiooni

KokkuvÔte

NGINX Service Mesh on tasuta allalaetav F5 portealis. Proovige seda oma dev ja test keskkondades ning kohtuge meiega tulemuste arutamiseks..

Katsudes NGINX Plus Ingress Controller'i, aktiveerige tasuta prooviperiood 30 pĂ€evaks, vĂ”i vĂ”tke meiega ĂŒhendust oma kasutusjuhtude arutamiseks.

TĂ”lge on autoritooted Pavel Demkovichilt, ettevĂ”tte insenerilt Southbridge. SĂŒsteemihaldus 15 000 ₜ kuus. Ja eraldi osakonnana — koolituskeskus SlöÀrm, praktika ja mitte miski muu kui praktika.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster