NGINX Service Mesh disponibbli

NGINX Service Mesh disponibbli

Għandna pjaċir nippreżentaw verżjoni ta' preview NGINX Service Mesh (NSM), xibka ta’ servizz ħafif miġbura li juża pjan tad-dejta bbażat fuq NGINX Plus biex jimmaniġġja t-traffiku tal-kontejners f’ambjenti Kubernetes.

NSM huwa b'xejn niżżel hawn. Nittamaw li tipprovaha għal ambjenti ta' dev u test - u nistennew bil-ħerqa l-feedback tiegħek fuq GitHub.

L-implimentazzjoni tal-metodoloġija tal-mikroservizzi hija mimlija diffikultajiet hekk kif l-iskala tal-kunsinna tikber, kif ukoll il-kumplessità tagħha. Il-komunikazzjoni bejn is-servizzi ssir aktar kumplessa, il-problemi tad-debugging isiru aktar diffiċli, u aktar u aktar servizzi jeħtieġu aktar riżorsi biex jiġu mmaniġġjati.

NSM issolvi dawn il-problemi billi jipprovdilek:

  • sigurtà, li issa hija aktar importanti minn qatt qabel. Ksur tad-data jista 'jiswa lil kumpanija miljuni ta' dollari fis-sena fi dħul mitluf u reputazzjoni. NSM jiżgura li l-konnessjonijiet kollha huma encrypted bl-użu ta 'mTLS, għalhekk m'hemm l-ebda data sensittiva li tista' tinsteraq minn hackers fuq in-netwerk. Il-kontroll tal-aċċess jippermettilek li tistabbilixxi politiki dwar kif is-servizzi jikkomunikaw ma 'servizzi oħra.
  • Ġestjoni tat-Traffiku. Meta tibgħat verżjoni ġdida ta' applikazzjoni, tista' tkun trid tibda billi tirrestrinġi t-traffiku li jkun dieħel għaliha f'każ ta' żball. Bil-ġestjoni intelliġenti tat-traffiku tal-kontejners tal-NSM, tista 'tissettja politika ta' restrizzjoni tat-traffiku għal servizzi ġodda li se jżidu t-traffiku maż-żmien. Karatteristiċi oħra, bħal limitazzjoni tal-veloċità u circuit breakers, jagħtuk kontroll sħiħ fuq il-fluss tat-traffiku tas-servizzi kollha tiegħek.
  • Viżwalizzazzjoni. Il-ġestjoni ta' eluf ta' servizzi tista' tkun ħmar il-lejl ta' debugging u viżwalizzazzjoni. NSM jgħin biex tittratta din is-sitwazzjoni b'daxxbord ta' Grafana integrat li juri l-karatteristiċi kollha disponibbli f'NGINX Plus. U wkoll l-Open Tracing implimentat jippermettilek tissorvelja t-tranżazzjonijiet fid-dettall.
  • Kunsinni ibridi, jekk il-kumpanija tiegħek, bħal ħafna oħrajn, ma tużax infrastruttura li taħdem għal kollox fuq Kubernetes. L-NSM jiżgura li l-applikazzjonijiet legacy ma jitħallewx waħedhom. Bl-għajnuna tal-Kontrollur tal-Ingress NGINX Kubernetes implimentat, is-servizzi legacy se jkunu jistgħu jikkomunikaw mas-servizzi tal-malji, u viċi versa.

L-NSM jiżgura wkoll is-sigurtà tal-applikazzjoni f'ambjenti ta' zero trust billi japplika b'mod trasparenti kriptaġġ u awtentikazzjoni għat-traffiku tal-kontejners. Jipprovdi wkoll viżibilità u analiżi tat-tranżazzjonijiet, li jgħinek tniedi skjeramenti malajr u b'mod preċiż u ssolvi l-problemi. Jipprovdi wkoll kontroll granulari tat-traffiku, li jippermetti li timijiet DevOps jużaw u jottimizzaw partijiet tal-applikazzjonijiet filwaqt li jippermetti lill-iżviluppaturi jibnu u jgħaqqdu faċilment l-applikazzjonijiet distribwiti tagħhom.

Kif taħdem is-Service Mesh NGINX?

NSM jikkonsisti fi pjan tad-dejta unifikat għal traffiku orizzontali (minn servizz għal servizz) u Kontrollur tad-Dħul NGINX Plus inkorporat għat-traffiku vertikali, immexxi minn pjan ta 'kontroll wieħed.

Il-pjan ta 'kontroll huwa ddisinjat u ottimizzat speċifikament għall-pjan tad-dejta NGINX Plus u jiddefinixxi regoli ta' kontroll tat-traffiku mqassma fuq sidecars NGINX Plus.

Fl-NSM, sidecars proxies huma installati għal kull servizz fil-malja. Huma interface mas-soluzzjonijiet open source li ġejjin:

  • Grafana, viżwalizzazzjoni tal-parametri Prometheus, panel NSM integrat jgħinek fix-xogħol tiegħek;
  • Kubernetes Ingress Controllers, għall-ġestjoni tat-traffiku deħlin u ħerġin fil-malja;
  • SPIRE, CA għall-ġestjoni, id-distribuzzjoni u l-aġġornament taċ-ċertifikati fil-malja;
  • NATS, sistema skalabbli biex jintbagħtu messaġġi, bħal aġġornamenti tar-rotot, mill-ajruplan tal-kontroll għal sidecars;
  • Traċċar Miftuħ, debugging imqassam (appoġġa Zipkin u Jaeger);
  • Prometheus, jiġbor u jaħżen il-karatteristiċi minn sidecars NGINX Plus, bħan-numru ta 'talbiet, konnessjonijiet u handshakes SSL.

Funzjonijiet u komponenti

NGINX Plus bħala pjan tad-dejta jkopri proxy sidecar (traffiku orizzontali) u kontrollur Ingress (vertikali), li jinterċetta u jimmaniġġja t-traffiku tal-kontejners bejn is-servizzi.

Il-karatteristiċi jinkludu:

  • Awtentikazzjoni TLS reċiproka (mTLS);
  • Ibbilanċjar tat-tagħbija;
  • Tolleranza għall-ħsarat;
  • Limitu tal-veloċità;
  • Circuit breaking;
  • Skjeramenti blu-aħdar u kanarji;
  • Kontroll tal-aċċess.

Tnedija ta' NGINX Service Mesh

Biex tmexxi NSM għandek bżonn:

  • aċċess għall-ambjent Kubernetes. NGINX Service Mesh huwa appoġġjat fuq bosta pjattaformi Kubernetes, inkluż Amazon Elastic Container Service għal Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, u clusters Kubernetes regolari skjerati fuq servers tal-ħardwer;
  • Tool kubectl, installati fuq il-magna li minnha se jiġu installati NSM;
  • Aċċess għal pakketti ta 'rilaxx ta' NGINX Service Mesh. Il-pakkett fih immaġini NSM meħtieġa għat-tlugħ f'reġistru privat għal kontenituri disponibbli fil-cluster Kubernetes. Il-pakkett fih ukoll nginx-meshctl, meħtieġa għall-iskjerament NSM.

Biex tuża NSM b'settings default, mexxi l-kmand li ġej. Matul l-iskjerament, jintwerew messaġġi li jindikaw l-installazzjoni b'suċċess tal-komponenti u, fl-aħħar, messaġġ li jindika li NSM qed jaħdem fi spazju tal-isem separat (jeħtieġ l-ewwel download u poġġiha fir-reġistru, madwar. traduttur):

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

Għal aktar għażliet, inklużi settings avvanzati, mexxi dan il-kmand:

$ nginx-meshctl deploy –h

Iċċekkja li l-pjan ta' kontroll jaħdem sew fl-ispazju tal-isem nginx-malji, tista 'tħobb dan:

$ 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

Skont is-settings tal-iskjerament li jistabbilixxu politiki tal-injezzjoni manwali jew awtomatiċi, il-prokuri NGINX sidecars se jiżdiedu mal-applikazzjonijiet b'mod awtomatiku. Biex tiddiżattiva ż-żieda awtomatika, aqra hawn

Pereżempju, jekk niskjeraw l-applikazzjoni torqod fl-ispazju tal-isem inadempjenza, u mbagħad iċċekkja l-Pod - se naraw żewġ kontenituri li qed jaħdmu, l-applikazzjoni torqod u s-sidecar assoċjata:

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

Nistgħu wkoll jissorveljaw l-applikazzjoni torqod fil-pannell NGINX Plus, ħaddem dan il-kmand biex taċċessa l-sidecar mill-magna lokali tiegħek:

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

Imbagħad nidħlu biss hawn fil-browser. Tista 'wkoll tikkonnettja ma' Prometheus biex tissorvelja l-applikazzjoni torqod.

Tista' tuża riżorsi individwali ta' Kubernetes biex tikkonfigura l-politiki tat-traffiku, bħall-kontroll tal-aċċess, il-limitazzjoni tar-rata u t-tkissir taċ-ċirkwit, għal dan ara dokumentazzjoni

Konklużjoni

NGINX Service Mesh huwa disponibbli għal download b'xejn fuq portal F5. Ipprova fl-ambjenti dev u tat-test tiegħek u iktbilna dwar ir-riżultati.

Biex tipprova NGINX Plus Ingress Controller, attiva perjodu ta' prova b'xejn għal 30 jum, jew Ikkuntatjana biex tiddiskuti l-każijiet tal-użu tiegħek.

Traduzzjoni minn Pavel Demkovich, inġinier tal-kumpanija Southbridge. Amministrazzjoni tas-sistema għal RUB 15 fix-xahar. U bħala diviżjoni separata - ċentru ta 'taħriġ Slurm, prattika u xejn ħlief prattika.

Sors: www.habr.com

Żid kumment