We are pleased kanggo nampilake versi pratinjau
NSM gratis
Implementasi metodologi microservices kebak kangelan amarga ukuran pangiriman mundhak, uga kerumitan. Komunikasi antarane layanan dadi luwih rumit, masalah debugging dadi luwih angel, lan luwih akeh layanan mbutuhake sumber daya liyane kanggo ngatur.
NSM ngrampungake masalah kasebut kanthi menehi sampeyan:
- Keamanan, sing saiki luwih penting tinimbang sadurunge. Pelanggaran data bisa ngrugekake perusahaan jutaan dolar saben taun kanthi asil lan reputasi sing ilang. NSM mesthekake yen kabeh sambungan dienkripsi nggunakake mTLS, supaya ora ana data sensitif sing bisa dicolong dening peretas liwat jaringan. Kontrol akses ngidini sampeyan nyetel kabijakan babagan cara layanan komunikasi karo layanan liyane.
- manajemen lalu lintas. Nalika ngirim aplikasi versi anyar, sampeyan bisa uga pengin miwiti kanthi matesi lalu lintas mlebu yen ana kesalahan. Kanthi manajemen lalu lintas wadhah cerdas NSM, sampeyan bisa nyetel kabijakan watesan lalu lintas kanggo layanan anyar sing bakal nambah lalu lintas liwat wektu. Fitur liyane, kayata watesan kacepetan lan pemutus sirkuit, menehi kontrol lengkap babagan aliran lalu lintas kabeh layanan sampeyan.
- Visualisasi. Ngatur ewu layanan bisa dadi ngipi elek debugging lan visualisasi. NSM mbantu ngatasi kahanan iki kanthi dashboard Grafana sing dibangun sing nampilake kabeh fitur sing kasedhiya ing NGINX Plus. Lan uga Open Tracing sing ditindakake ngidini sampeyan ngawasi transaksi kanthi rinci.
- Pangiriman hibrida, yen perusahaan sampeyan, kaya umume liyane, ora nggunakake infrastruktur sing mlaku ing Kubernetes. NSM mesthekake yen aplikasi warisan ora ditinggalake. Kanthi bantuan saka NGINX Kubernetes Ingress Controller, layanan warisan bakal bisa komunikasi karo layanan bolong, lan kosok balene.
NSM uga njamin keamanan aplikasi ing lingkungan kapercayan nul kanthi ngetrapake enkripsi lan otentikasi kanthi transparan kanggo lalu lintas wadhah. Iki uga nyedhiyakake visibilitas lan analisis transaksi, mbantu sampeyan kanthi cepet lan kanthi akurat ngluncurake penyebaran lan ngatasi masalah. Uga nyedhiyakake kontrol lalu lintas granular, ngidini tim DevOps nyebarake lan ngoptimalake bagean aplikasi nalika ngidini pangembang mbangun lan nyambungake aplikasi sing disebarake kanthi gampang.
Kepiye cara kerja NGINX Service Mesh?
NSM kasusun saka pesawat data manunggal kanggo lalu lintas horisontal (layanan-kanggo-layanan) lan NGINX Plus Ingress Controller ditempelake kanggo lalu lintas vertikal, ngatur dening bidang kontrol siji.
Pesawat kontrol dirancang lan dioptimalake khusus kanggo pesawat data NGINX Plus lan nemtokake aturan kontrol lalu lintas sing disebar ing sidecars NGINX Plus.
Ing NSM, sidecars proxy diinstal kanggo saben layanan ing bolong. Padha antarmuka karo solusi open source ing ngisor iki:
- Grafana, visualisasi parameter Prometheus, panel NSM dibangun ing mbantu sampeyan nggarap karya;
- Kubernetes Ingress Controllers, kanggo ngatur lalu lintas mlebu lan metu ing bolong;
- SPIRE, CA kanggo ngatur, nyebarke lan nganyari sertifikat ing bolong;
- NATS, sistem sing bisa diukur kanggo ngirim pesen, kayata nganyari rute, saka pesawat kontrol menyang sidecars;
- Bukak Tracing, debugging sing disebarake (Zipkin lan Jaeger didhukung);
- Prometheus, ngumpulake lan nyimpen karakteristik saka sidecars NGINX Plus, kayata jumlah panjalukan, sambungan lan jabat tangan SSL.
Fungsi lan komponen
NGINX Plus minangka pesawat data nyakup proxy sidecar (lalu lintas horisontal) lan pengontrol Ingress (vertikal), nyegat lan ngatur lalu lintas wadhah ing antarane layanan.
Fitur kalebu:
- Mutual TLS (mTLS) authentication;
- Ngimbangi beban;
- toleransi kesalahan;
- watesan kacepetan;
- Circuit breaking;
- Penyebaran biru-ijo lan kenari;
- Kontrol akses.
Ngluncurake NGINX Service Mesh
Kanggo mbukak NSM sampeyan kudu:
- akses menyang lingkungan Kubernetes. NGINX Service Mesh didhukung ing akeh platform Kubernetes, kalebu Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, lan kluster Kubernetes biasa sing disebarake ing server hardware;
- Instrumen
kubectl
, diinstal ing mesin saka ngendi NSM bakal diinstal; - Akses menyang paket rilis NGINX Service Mesh. Paket kasebut ngemot gambar NSM sing dibutuhake kanggo diunggah menyang pendaptaran pribadi kanggo wadhah sing kasedhiya ing kluster Kubernetes. Paket kasebut uga ngemot
nginx-meshctl
, dibutuhake kanggo masang NSM.
Kanggo masang NSM kanthi setelan gawan, jalanake printah ing ngisor iki. Sajrone panyebaran, pesen ditampilake sing nuduhake sukses instalasi komponen lan, pungkasane, pesen sing nuduhake NSM mlaku ing ruang jeneng sing kapisah (sampeyan kudu
$ 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.
Kanggo opsi liyane, kalebu setelan lanjut, jalanake printah iki:
$ nginx-meshctl deploy βh
Priksa manawa bidang kontrol bisa digunakake kanthi bener ing ruang jeneng nginx-mesh, sampeyan bisa nindakake iki:
$ 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
Gumantung ing setelan panyebaran sing nyetel kabijakan injeksi manual utawa otomatis, proksi NGINX sidecars bakal ditambahake menyang aplikasi kanthi standar. Kanggo mateni otomatis nambah, maca
Contone, yen kita masang aplikasi turu ing namespace standar, banjur mriksa Pod - kita bakal weruh loro kontaner mlaku, aplikasi turu lan sidecar sing gegandhengan:
$ kubectl apply βf sleep.yaml
$ kubectl get pods βn default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Kita uga bisa ngawasi aplikasi kasebut turu ing panel NGINX Plus, jalanake perintah iki kanggo ngakses sidecar saka mesin lokal sampeyan:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Banjur kita mung mlebu
Sampeyan bisa nggunakake sumber daya Kubernetes individu kanggo ngatur kabijakan lalu lintas, kayata kontrol akses, watesan tarif lan sirkuit breaking, kanggo ndeleng iki.
kesimpulan
NGINX Service Mesh kasedhiya kanggo download gratis ing
Kanggo nyoba NGINX Plus Ingress Controller, aktifake
Terjemahan dening Pavel Demkovich, insinyur perusahaan
Source: www.habr.com