Mesh Karûbarê NGINX heye

Mesh Karûbarê NGINX heye

Em kêfxweş in ku guhertoyek pêşdîtinê pêşkêş dikin NGINX Service Mesh (NSM), tevnek karûbarê sivik a hevgirtî ku balafirek daneya-based NGINX Plus bikar tîne da ku seyrûsefera konteynerê li hawîrdorên Kubernetes îdare bike.

NSM belaş e vir barkirin. Em hêvî dikin ku hûn ê wê ji bo hawîrdorên dev û ceribandinê biceribînin - û li benda nerînên we bin li ser GitHub.

Pêkanîna metodolojiya mîkroxizmetê ji ber ku pîvana radestkirinê mezin dibe, û hem jî tevliheviya wê bi dijwariyan re tije ye. Têkiliya di navbera karûbaran de tevlihevtir dibe, pirsgirêkên debugkirinê dijwartir dibin, û bêtir û bêtir karûbar ji bo birêvebirinê bêtir çavkaniyan hewce dikin.

NSM van pirsgirêkan bi peydakirina we re çareser dike:

  • Ewlekariyê, ku niha ji her demê girîngtir e. Binpêkirina daneyê dikare salane bi mîlyonan dolar ji dahat û navûdengê winda bike. NSM piştrast dike ku hemî girêdan bi karanîna mTLS têne şîfre kirin, ji ber vê yekê daneya hesas tune ku ji hêla hackeran ve li ser torê were dizîn. Kontrola gihîştinê dihêle hûn polîtîkayên ji bo ku karûbar çawa bi karûbarên din re têkilî daynin bicîh bikin.
  • Rêveberiya Trafîkê. Dema ku hûn guhertoyek nû ya serîlêdanê dişînin, dibe ku hûn bixwazin dest bi sînordarkirina seyrûsefera hatina li ser wê di bûyera xeletiyekê de bikin. Bi rêveberiya seyrûsefera konteynerê ya hişmend a NSM re, hûn dikarin ji bo karûbarên nû ku dê bi demê re seyrûseferê zêde bikin polîtîkayek sînorkirina trafîkê saz bikin. Taybetmendiyên din, wek sînorkirina lezê û şkestên çerxerê, kontrola tam li ser herikîna trafîkê ya hemî karûbarên we dide we.
  • Dîtin. Birêvebirina bi hezaran karûbar dikare bibe kabûsek xeletkirin û dîtinê. NSM ji vê rewşê re bi dashboardek Grafana-ya çêkirî ya ku hemî taybetmendiyên di NGINX Plus de berdest nîşan dide re dibe alîkar. Û her weha şopandina vekirî ya hatî bicîh kirin dihêle hûn bi hûrgulî danûstandinan bişopînin.
  • Radestkirina Hybrid, heke pargîdaniya we, mîna pirên din, binesaziya ku bi tevahî li ser Kubernetes dixebite bikar neynin. NSM piştrast dike ku serîlêdanên mîrasê nehêle. Bi arîkariya NGINX Kubernetes Ingress Controller ve hatî bicîh kirin, karûbarên mîras dê karibin bi karûbarên mesh re têkilî daynin, û berevajî.

NSM di heman demê de ewlehiya serîlêdanê di hawîrdorên pêbaweriya sifir de bi zelalî sepandina şîfrekirin û pejirandinê li ser seyrûsefera konteynerê misoger dike. Ew di heman demê de xuyang û analîzkirina danûstendinê peyda dike, ji we re dibe alîkar ku hûn zû û rast dest pê bikin û pirsgirêkan çareser bikin. Di heman demê de ew kontrolkirina trafîkê ya granular peyda dike, ku dihêle tîmên DevOps beşên serîlêdanan bicîh bikin û xweşbîn bikin dema ku rê dide pêşdebiran ku sepanên xwe yên belavkirî ava bikin û bi hêsanî ve girêbidin.

Merivê Karûbarê NGINX çawa dixebite?

NSM ji balafirek daneya yekbûyî ya ji bo seyrûsefera horizontî (karûbar-bi-karûbar) û Kontrolkerek NGINX Plus ya têkçûyî ya ji bo seyrûsefera vertîkal, ku ji hêla balafirek kontrolê ve tête rêve kirin pêk tê.

Balafira kontrolê bi taybetî ji bo balafira daneya NGINX Plus hatî sêwirandin û xweşbîn kirin û qaîdeyên kontrolkirina trafîkê yên ku li ser kêlekên NGINX Plus têne belav kirin diyar dike.

Di NSM de, ji bo her karûbarek di nav mesh de, proxeyên sidecars têne saz kirin. Ew bi çareseriyên çavkaniya vekirî ya jêrîn re têkilî dikin:

  • Grafana, dîtbariya Parametreya Prometheus, panela NSM-ya çêkirî di xebata we de ji we re dibe alîkar;
  • Kubernetes Ingress Controllers, ji bo birêvebirina seyrûsefera hatin û derketinê di nav mesh de;
  • SPIRE, CA ji bo birêvebirin, belavkirin û nûvekirina sertîfîkayên di nav mesh;
  • NATS, pergalek berbelav ji bo şandina peyaman, wekî nûvekirina rê, ji balafira kontrolê berbi kêlekan;
  • Şopandina Vekirî, debugkirina belavkirî (Zipkin û Jaeger piştgirî kirin);
  • Prometheus, taybetmendiyên ji kêlekên NGINX Plus, wekî hejmara daxwaz, girêdan û destanên SSL berhev dike û hilîne.

Fonksiyon û pêkhateyên

NGINX Plus wekî balefirek daneyê proxya kêlekê (trafîka horizontî) û kontrolkera Ingress (vertîkal) vedigire, di navbera karûbaran de seyrûsefera konteynerê digire û rêve dibe.

Taybetmendî hene:

  • Nasnameya hevdu TLS (mTLS);
  • Balansa barkirinê;
  • Fault tolerance;
  • Sînorê lezê;
  • Circuit breaking;
  • Bicihkirina şîn-kesk û kanarya;
  • Kontrola gihîştinê.

Destpêkirina Mesh Karûbarê NGINX

Ji bo xebitandina NSM-ê hûn hewce ne:

  • gihîştina hawîrdora Kubernetes. Mesh Karûbarê NGINX li ser gelek platformên Kubernetes tê piştgirî kirin, di nav de Karûbarê Konteynirê Elastic Amazon ji bo Kubernetes (EKS), Karûbarê Azure Kubernetes (AKS), Google Kubernetes Engine (GKE), VMware vSphere, û komikên birêkûpêk ên Kubernetes ên ku li ser pêşkêşkerên hardware hatine bicîh kirin;
  • Instrument kubectl, li ser makîneya ku ji wê NSM were saz kirin;
  • Gihîştina pakêtên serbestberdana Mesh Karûbarê NGINX. Di pakêtê de wêneyên NSM-ê yên ku ji bo barkirina qeydek taybet a ji bo konteynerên ku di koma Kubernetes de peyda dibin hewce ne. Di pakêtê de jî heye nginx-meshctl, pêdivî ye ku NSM-ê bicîh bikin.

Ji bo bicîhkirina NSM-ê bi mîhengên xwerû, emrê jêrîn bimeşînin. Di dema bicihkirinê de, peyamên ku sazkirina serketî ya pêkhateyan destnîşan dikin têne xuyang kirin û, di dawiyê de, peyamek ku destnîşan dike ku NSM di nav cîhek cihê de dixebite (hûn hewce ne ku pêşî скачать û wê di qeydê de bi cîh bikin, approx. wergêr):

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

Ji bo vebijarkên bêtir, tevî mîhengên pêşkeftî, vê fermanê bimeşînin:

$ nginx-meshctl deploy –h

Kontrol bikin ku balafira kontrolê di cîhê navan de rast dixebite nginx-mesh, hûn dikarin vê yekê bikin:

$ 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

Li gorî mîhengên bicîhkirinê yên ku polîtîkayên derzîlêdanê bi destan an otomatîkî destnîşan dikin, dê proxeyên NGINX sidecars ji hêla xwerû ve li serîlêdanan werin zêdekirin. Ji bo neçalakkirina zêdekirina otomatîkî, bixwînin vir

Mînakî, heke em serîlêdanê bicîh bikin xew di navan de destçûnî, û dûv re Pod-ê kontrol bikin - em ê du konteyneran, serîlêdanê bibînin xew û kêleka girêdayî:

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

Em dikarin serlêdanê jî bişopînin xew di panela NGINX Plus de, vê fermanê bimeşînin da ku ji makîneya xweya herêmî bigihîjin kêlekê:

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

Hingê em tenê diçin hundur vir di gerokê de. Her weha hûn dikarin bi Prometheus ve girêdayî bin da ku serîlêdanê bişopînin xew.

Hûn dikarin çavkaniyên Kubernetes-ê yên takekesî bikar bînin da ku polîtîkayên trafîkê mîheng bikin, wek kontrolkirina gihîştinê, sînorkirina rêjeyê û qutkirina dorpêçê, ji bo vê binêre. belgekirin

encamê

NGINX Service Mesh ji bo dakêşana belaş li ser heye portal F5. Di hawîrdorên dev û ceribandina xwe de biceribînin û li ser encaman ji me re binivîsin.

Ji bo ceribandina NGINX Plus Ingress Controller, çalak bikin dema ceribandinê belaş ji bo 30 rojan, an Paqij bûn ji bo nîqaşkirina dozên karanîna we.

Werger ji hêla Pavel Demkovich, endezyarê pargîdaniyê ve Southbridge. Rêveberiya pergalê ji bo mehê 15 RUB. Û wekî dabeşek cuda - navendek perwerdehiyê Slurm, pratîk û ji bilî pratîkê tiştek nîne.

Source: www.habr.com

Add a comment