Nou kontan prezante yon vèsyon preview
NSM gratis
Aplikasyon metodoloji mikwosèvis yo chaje ak difikilte pandan echèl livrezon an ap grandi, ansanm ak konpleksite li yo. Kominikasyon ant sèvis yo vin pi konplike, pwoblèm debogaj yo vin pi difisil, e plis ak plis sèvis mande plis resous pou jere.
NSM rezoud pwoblèm sa yo lè li ba ou:
- Безопасность, ki kounye a pi enpòtan pase tout tan. Yon vyolasyon done ka koute yon konpayi dè milyon de dola chak ane nan pèdi revni ak repitasyon. NSM asire ke tout koneksyon yo ankripte lè l sèvi avèk mTLS, kidonk pa gen okenn done sansib ki ka vòlè pa entru sou rezo a. Kontwòl aksè pèmèt ou mete règleman sou fason sèvis yo kominike ak lòt sèvis yo.
- jesyon trafik. Lè w ap voye yon nouvo vèsyon nan yon aplikasyon, ou ka vle kòmanse pa mete restriksyon sou trafik fèk ap rantre nan li nan ka ta gen yon erè. Avèk jesyon trafik kontenè entèlijan NSM a, ou ka mete yon politik restriksyon trafik pou nouvo sèvis ki pral ogmante trafik sou tan. Lòt karakteristik, tankou limit vitès ak disjoncteurs, ba ou kontwòl total sou sikilasyon tout sèvis ou yo.
- Vizyalizasyon. Jere dè milye de sèvis kapab yon kochma debogaj ak vizyalizasyon. NSM ede fè fas ak sitiyasyon sa a ak yon tablodbò Grafana entegre ki montre tout karakteristik ki disponib nan NGINX Plus. Epi tou aplike Open Tracing la pèmèt ou kontwole tranzaksyon an detay.
- Livrezon ibrid, si konpayi ou a, tankou pifò lòt moun, pa sèvi ak enfrastrikti kouri antyèman sou Kubernetes. NSM asire ke aplikasyon eritaj yo pa rete poukont yo. Avèk èd NGINX Kubernetes Ingress Controller aplike a, sèvis eritaj yo pral kapab kominike ak sèvis may, ak vis vèrsa.
NSM tou asire sekirite aplikasyon nan anviwònman konfyans zewo lè li aplike transparans chifreman ak otantifikasyon nan trafik veso. Li tou bay tranzaksyon vizibilite ak analiz, ede ou rapidman ak presizyon lanse deplwaman ak rezoud pwoblèm. Li bay tou kontwòl trafik granulaire, sa ki pèmèt ekip DevOps yo deplwaye ak optimize pati nan aplikasyon yo pandan y ap pèmèt devlopè yo bati ak konekte fasilman aplikasyon distribiye yo.
Ki jan sèvis may NGINX travay?
NSM konsiste de yon avyon done inifye pou trafik orizontal (sèvis-a-sèvis) ak yon NGINX Plus Ingress Controller entegre pou trafik vètikal, jere pa yon sèl avyon kontwòl.
Avyon kontwòl la espesyalman fèt ak optimize pou avyon done NGINX Plus la epi li defini règ kontwòl trafik distribye atravè sidecars NGINX Plus.
Nan NSM, sidecars proxy yo enstale pou chak sèvis nan may la. Yo koòdone ak solisyon sous louvri sa yo:
- Grafana, vizyalizasyon paramèt Prometheus, panèl NSM entegre ede w ak travay ou;
- Kubernetes Ingress Controllers, pou jere trafik fèk ap rantre ak sòtan nan may la;
- SPIRE, CA pou jere, distribye ak mete ajou sètifika nan may la;
- NATS, yon sistèm évolutive pou voye mesaj, tankou mizajou sou wout, soti nan avyon kontwòl nan sidecars;
- Open Tracing, distribye debogaj (Zipkin ak Jaeger sipòte);
- Prometheus, kolekte epi estoke karakteristik nan sidecars NGINX Plus, tankou kantite demann, koneksyon ak SSL handshakes.
Fonksyon ak konpozan
NGINX Plus kòm yon avyon done kouvri sidecar proxy (trafik orizontal) ak kontwolè Ingress (vètikal), entèsepte ak jere trafik veso ant sèvis yo.
Karakteristik yo enkli:
- Otantifikasyon TLS mityèl (mTLS);
- balans chaj;
- tolerans fay;
- Limit vitès;
- Awondisman kraze;
- Blue-vèt ak deplwaman Canary;
- Aksè kontwòl.
Lanse NGINX sèvis may
Pou kouri NSM ou bezwen:
- aksè nan anviwònman an Kubernetes. NGINX Service Mesh sipòte sou anpil platfòm Kubernetes, tankou Amazon Elastic Container Service pou Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, ak gwoup Kubernetes regilye yo deplwaye sou sèvè pyès ki nan konpitè;
- Zouti
kubectl
, enstale sou machin nan kote NSM pral enstale; - Aksè nan pakè lage NGINX Service Mesh. Pake a gen imaj NSM ki nesesè pou telechaje nan yon rejis prive pou resipyan ki disponib nan gwoup Kubernetes la. Pake a gen ladan tou
nginx-meshctl
, bezwen deplwaye NSM.
Pou deplwaye NSM ak paramèt default, kouri lòd sa a. Pandan deplwaman, mesaj yo parèt ki endike enstalasyon siksè konpozan yo epi, finalman, yon mesaj ki endike ke NSM ap kouri nan yon espas non separe (ou bezwen premye.
$ 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.
Pou plis opsyon, ki gen ladan anviwònman avanse, kouri lòd sa a:
$ nginx-meshctl deploy –h
Tcheke ke plan kontwòl la ap travay kòrèkteman nan espas non an nginx-may, ou ka fè sa:
$ 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
Tou depan de paramèt deplwaman yo ki mete politik piki manyèl oswa otomatik yo, NGINX sidecars proxys yo pral ajoute nan aplikasyon yo pa default. Pou enfim ajoute otomatik, li
Pou egzanp, si nou deplwaye aplikasyon an dòmi nan espas non default, ak Lè sa a tcheke Pod la - nou pral wè de kouri kontenè, aplikasyon an dòmi ak sidecar ki asosye a:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Nou kapab tou kontwole aplikasyon an dòmi nan panèl NGINX Plus, kouri lòd sa a pou jwenn aksè nan sidecar nan machin lokal ou a:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Lè sa a, nou jis antre
Ou ka itilize resous Kubernetes endividyèl yo pou konfigirasyon règleman trafik yo, tankou kontwòl aksè, limit pousantaj ak kraze sikwi, pou sa a gade.
Konklizyon
NGINX Service Mesh disponib pou telechaje gratis nan
Pou eseye NGINX Plus Ingress Controller, aktive
Tradiksyon pa Pavel Demkovich, enjenyè konpayi
Sous: www.habr.com