NGINX Service Mesh kasedhiya

NGINX Service Mesh kasedhiya

We are pleased kanggo nampilake versi pratinjau NGINX Service Mesh (NSM), bolong layanan entheng bundled sing nggunakake pesawat data basis NGINX Plus kanggo ngatur lalu lintas kontainer ing lingkungan Kubernetes.

NSM gratis download kene. Muga-muga sampeyan bakal nyoba kanggo lingkungan dev lan uji coba - lan ngenteni saran sampeyan ing GitHub.

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 ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ lan sijine ing pendaptaran, kira-kira. penerjemah):

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

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 kene ing browser. Sampeyan uga bisa nyambung menyang Prometheus kanggo ngawasi aplikasi kasebut turu.

Sampeyan bisa nggunakake sumber daya Kubernetes individu kanggo ngatur kabijakan lalu lintas, kayata kontrol akses, watesan tarif lan sirkuit breaking, kanggo ndeleng iki. dokumentasi

kesimpulan

NGINX Service Mesh kasedhiya kanggo download gratis ing portal F5. Coba ing lingkungan dev lan test lan nulis kanggo kita bab asil.

Kanggo nyoba NGINX Plus Ingress Controller, aktifake wektu nyoba free kanggo 30 dina, utawa Hubungi kita kanggo ngrembug kasus panggunaan sampeyan.

Terjemahan dening Pavel Demkovich, insinyur perusahaan jembatan kidul. Administrasi sistem kanggo RUB 15 saben wulan. Lan minangka divisi kapisah - pusat latihan Slurm, laku lan ora liya mung laku.

Source: www.habr.com

Add a comment