NGINX Service Mesh sadia

NGINX Service Mesh sadia

Kami resep nampilkeun versi sawangan NGINX Service Mesh (NSM), bolong jasa ringan anu dibuntel anu ngagunakeun pesawat data basis NGINX Plus pikeun ngatur lalu lintas wadah di lingkungan Kubernetes.

NSM gratis ngundeur di dieu. Kami ngarepkeun anjeun bakal nyobian éta pikeun lingkungan dev sareng uji - sareng ngarepkeun tanggapan anjeun dina GitHub.

Palaksanaan metodologi microservices pinuh ku kasusah nalika skala pangiriman tumuwuh, kitu ogé pajeulitna. Komunikasi antara jasa jadi leuwih kompleks, masalah debugging jadi leuwih hese, sarta beuki loba jasa merlukeun leuwih sumberdaya pikeun ngatur.

NSM ngarengsekeun masalah ieu ku nyayogikeun anjeun:

  • kasalametan, nu ayeuna leuwih penting ti kantos. Pelanggaran data tiasa ngarugikeun perusahaan jutaan dolar per taun dina pendapatan sareng reputasi anu leungit. NSM mastikeun yén sadaya sambungan énkripsi nganggo mTLS, janten henteu aya data sénsitip anu tiasa dipaling ku peretas dina jaringan. Kontrol aksés ngidinan Anjeun pikeun nyetel kawijakan pikeun kumaha ladenan komunikasi sareng ladenan séjén.
  • Manajemén Lalu Lintas. Nalika ngirimkeun vérsi énggal tina aplikasi, anjeun panginten badé ngamimitian ku ngawatesan lalu lintas anu asup ka éta bisi aya kasalahan. Kalayan manajemén lalu lintas wadah calakan NSM, anjeun tiasa nyetél kawijakan larangan lalu lintas pikeun jasa anyar anu bakal ningkatkeun lalu lintas kana waktosna. Fitur séjén, sapertos ngawatesan laju sareng pemutus sirkuit, masihan anjeun kadali pinuh kana aliran lalu lintas sadaya jasa anjeun.
  • Visualisasi. Ngatur rébuan jasa tiasa janten debugging sareng ngimpina visualisasi. NSM ngabantosan kaayaan ieu kalayan dasbor Grafana diwangun-di anu nampilkeun sadaya fitur anu aya dina NGINX Plus. Sareng ogé Open Tracing anu dilaksanakeun ngamungkinkeun anjeun ngawas transaksi sacara rinci.
  • Pangiriman hibrid, upami perusahaan anjeun, sapertos sabagéan ageung batur, henteu nganggo infrastruktur jalan sapinuhna dina Kubernetes. NSM mastikeun yén aplikasi warisan teu ditinggalkeun tanpa dijaga. Kalayan bantosan NGINX Kubernetes Ingress Controller anu dilaksanakeun, jasa warisan bakal tiasa komunikasi sareng jasa bolong, sareng sabalikna.

NSM ogé mastikeun kaamanan aplikasi dina lingkungan amanah enol ku cara nerapkeun énkripsi sareng auténtikasi sacara transparan kana lalu lintas wadah. Éta ogé nyayogikeun pisibilitas sareng analisa transaksi, ngabantosan anjeun gancang sareng akurat ngaluncurkeun panyebaran sareng ngungkulan masalah. Éta ogé nyayogikeun kontrol lalu lintas granular, ngamungkinkeun tim DevOps nyebarkeun sareng ngaoptimalkeun bagian-bagian aplikasi bari ngamungkinkeun para pamekar ngawangun sareng gampang nyambungkeun aplikasi anu disebarkeun.

Kumaha jalanna NGINX Service Mesh?

NSM diwangun ku hiji pesawat data hasil ngahijikeun Tatar pikeun horizontal (jasa-ka-jasa) lalulintas sarta embedded NGINX Ditambah Ingress Controller pikeun lalulintas nangtung, dikelola ku pesawat kontrol tunggal.

Pesawat kontrol dirarancang khusus sareng dioptimalkeun pikeun pesawat data NGINX Plus sareng netepkeun aturan kontrol lalu lintas anu disebarkeun ka sidecars NGINX Plus.

Dina NSM, proksi sidecars dipasang pikeun tiap jasa dina bolong. Aranjeunna ngahubungkeun sareng solusi open source ieu:

  • Grafana, Prometheus visualisasi parameter, diwangun-di panel NSM mantuan Anjeun sareng karya anjeun;
  • Kubernetes Ingress Controllers, pikeun ngatur lalulintas asup jeung kaluar dina bolong;
  • SPIRE, CA pikeun ngatur, nyebarkeun jeung ngamutahirkeun sertipikat dina bolong;
  • NATS, sistem scalable pikeun ngirim pesen, sapertos apdet rute, ti pesawat kontrol ka sidecars;
  • Buka Tracing, debugging disebarkeun (Zipkin sareng Jaeger dirojong);
  • Prometheus, ngumpulkeun sareng nyimpen ciri tina sidecars NGINX Plus, sapertos jumlah pamundut, sambungan sareng sasalaman SSL.

Fungsi jeung komponén

NGINX Plus salaku pesawat data nyertakeun sidecar proxy (lalulintas horizontal) jeung Ingress controller (vertikal), intercepting jeung ngatur lalulintas wadahna antara jasa.

Fitur di antarana:

  • Auténtikasi silih TLS (mTLS);
  • Balancing beban;
  • Kasalahan toleransi;
  • wates speed;
  • Pegatna sirkuit;
  • deployments biru-héjo jeung kenari;
  • Kontrol aksés.

Ngaluncurkeun NGINX Service Mesh

Для запуска NSM нужно:

  • aksés ka lingkungan Kubernetes. NGINX Service Mesh dirojong dina seueur platform Kubernetes, kalebet Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, sareng klaster Kubernetes biasa anu dipasang dina server hardware;
  • Instrumén kubectl, dipasang dina mesin ti mana NSM bakal dipasang;
  • Aksés ka pakét pelepasan NGINX Service Mesh. Paket ngandung gambar NSM diperlukeun pikeun unggah ka pendaptaran swasta pikeun peti sadia dina klaster Kubernetes. bungkusan ogé ngandung nginx-meshctl, diperlukeun pikeun nyebarkeun NSM.

Pikeun nyebarkeun NSM nganggo setélan standar, jalankeun paréntah di handap ieu. Salami panyebaran, pesen dipintonkeun nunjukkeun pamasangan komponén anu suksés sareng, tungtungna, pesen anu nunjukkeun yén NSM dijalankeun dina rohangan ngaran anu misah (anjeun kedah скачать sareng nempatkeun éta dina 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.

Pikeun langkung seueur pilihan, kalebet setélan canggih, jalankeun paréntah ieu:

$ nginx-meshctl deploy –h

Pariksa yén pesawat kontrol jalan bener dina namespace nu nginx-bolong, anjeun tiasa ngalakukeun ieu:

$ 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 kana setélan panyebaran anu nyetél kabijakan suntikan manual atanapi otomatis, proksi sidecar NGINX bakal ditambahkeun kana aplikasi sacara standar. Pikeun nganonaktipkeun tambihan otomatis, baca di dieu

Contona, upami urang nyebarkeun aplikasi sare dina spasi ngaran standar, lajeng pariksa Pod - urang bakal ningali dua wadah ngajalankeun, aplikasi sare jeung sidecar pakait:

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

Urang ogé bisa ngawas aplikasi sare dina panel NGINX Plus, ngajalankeun paréntah ieu pikeun ngaksés sidecar tina mesin lokal anjeun:

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

Teras we kantun lebet di dieu dina browser. Anjeun oge bisa nyambung ka Prometheus pikeun ngawas aplikasi sare.

Anjeun tiasa nganggo sumber daya Kubernetes individu pikeun ngonpigurasikeun kawijakan lalu lintas, sapertos kontrol aksés, watesan laju sareng pemutus sirkuit, kanggo ieu tingali dokuméntasi

kacindekan

NGINX Service Mesh sayogi diunduh gratis di portal F5. Coba eta dina dev anjeun sarta lingkungan test na nulis ka kami ngeunaan hasil.

Pikeun nyobian NGINX Plus Ingress Controller, aktipkeun jaman percobaan bébas salila 30 poé, atawa Taros Kami pikeun ngabahas kasus pamakéan Anjeun.

Tarjamahan ku Pavel Demkovich, insinyur perusahaan Southbridge. Administrasi sistem pikeun RUB 15 per bulan. Jeung salaku division misah - puseur latihan Slurm, latihan jeung euweuh tapi latihan.

sumber: www.habr.com

Tambahkeun komentar