Mesh Layanan NGINX tersedia

Mesh Layanan NGINX tersedia

Kami dengan senang hati mempersembahkan versi pratinjau Jaring Layanan NGINX (NSM), sebuah paket mesh layanan ringan yang menggunakan data plane berbasis NGINX Plus untuk mengelola lalu lintas container di lingkungan Kubernetes.

NSM itu gratis unduh di sini. Kami harap Anda akan mencobanya untuk lingkungan pengembangan dan pengujian - dan menantikan tanggapan Anda di GitHub.

Penerapan metodologi layanan mikro penuh dengan kesulitan seiring dengan meningkatnya skala penyampaian dan kompleksitasnya. Komunikasi antar layanan menjadi lebih kompleks, masalah debugging menjadi lebih sulit, dan semakin banyak layanan memerlukan lebih banyak sumber daya untuk dikelola.

NSM memecahkan masalah ini dengan memberi Anda:

  • keamanan, yang sekarang lebih penting dari sebelumnya. Pelanggaran data dapat menyebabkan hilangnya pendapatan dan reputasi perusahaan sebesar jutaan dolar setiap tahunnya. NSM memastikan semua koneksi dienkripsi menggunakan mTLS, sehingga tidak ada data sensitif yang dapat dicuri oleh peretas melalui jaringan. Kontrol akses memungkinkan Anda menetapkan kebijakan tentang cara layanan berkomunikasi dengan layanan lain.
  • manajemen lalu lintas. Saat mengirimkan aplikasi versi baru, Anda mungkin ingin memulai dengan membatasi lalu lintas masuk ke aplikasi tersebut jika terjadi kesalahan. Dengan manajemen lalu lintas kontainer cerdas NSM, Anda dapat menetapkan kebijakan pembatasan lalu lintas untuk layanan baru yang akan meningkatkan lalu lintas seiring waktu. Fitur lainnya, seperti pembatas kecepatan dan pemutus arus, memberi Anda kendali penuh atas arus lalu lintas semua layanan Anda.
  • Visualisasi. Mengelola ribuan layanan bisa menjadi mimpi buruk debugging dan visualisasi. NSM membantu mengatasi situasi ini dengan dashboard Grafana bawaan yang menampilkan semua fitur yang tersedia di NGINX Plus. Dan juga Open Tracing yang diterapkan memungkinkan Anda memantau transaksi secara detail.
  • Pengiriman hibrida, jika perusahaan Anda, seperti kebanyakan perusahaan lainnya, tidak menggunakan infrastruktur yang sepenuhnya berjalan di Kubernetes. NSM memastikan bahwa aplikasi lama tidak dibiarkan begitu saja. Dengan bantuan NGINX Kubernetes Ingress Controller yang diterapkan, layanan lama akan dapat berkomunikasi dengan layanan mesh, dan sebaliknya.

NSM juga memastikan keamanan aplikasi di lingkungan zero trust dengan menerapkan enkripsi dan otentikasi secara transparan pada lalu lintas kontainer. Ini juga memberikan visibilitas dan analisis transaksi, membantu Anda meluncurkan penerapan dan memecahkan masalah dengan cepat dan akurat. Ini juga memberikan kontrol lalu lintas granular, memungkinkan tim DevOps untuk menerapkan dan mengoptimalkan bagian-bagian aplikasi sekaligus memungkinkan pengembang untuk membangun dan menghubungkan aplikasi terdistribusi mereka dengan mudah.

Bagaimana cara kerja NGINX Service Mesh?

NSM terdiri dari bidang data terpadu untuk lalu lintas horizontal (layanan-ke-layanan) dan Pengontrol Ingress NGINX Plus yang tertanam untuk lalu lintas vertikal, yang dikelola oleh satu bidang kontrol.

Bidang kontrol dirancang khusus dan dioptimalkan untuk bidang data NGINX Plus dan mendefinisikan aturan kontrol lalu lintas yang didistribusikan ke seluruh sidecar NGINX Plus.

Di NSM, proxy sidecar dipasang untuk setiap layanan di mesh. Mereka berinteraksi dengan solusi sumber terbuka berikut:

  • Grafana, visualisasi parameter Prometheus, panel NSM bawaan membantu pekerjaan Anda;
  • Pengontrol Ingress Kubernetes, untuk mengelola lalu lintas masuk dan keluar di mesh;
  • SPIRE, CA untuk mengelola, mendistribusikan dan memperbarui sertifikat di mesh;
  • NATS, sistem yang dapat diskalakan untuk mengirimkan pesan, seperti pembaruan rute, dari bidang kendali ke sespan;
  • Open Tracing, debugging terdistribusi (mendukung Zipkin dan Jaeger);
  • Prometheus, mengumpulkan dan menyimpan karakteristik dari sidecar NGINX Plus, seperti jumlah permintaan, koneksi, dan jabat tangan SSL.

Fungsi dan komponen

NGINX Plus sebagai pesawat data mencakup proksi sespan (lalu lintas horizontal) dan pengontrol Ingress (vertikal), mencegat dan mengelola lalu lintas kontainer antar layanan.

Fitur-fiturnya meliputi:

  • Otentikasi Saling TLS (mTLS);
  • Penyeimbang beban;
  • Toleransi kesalahan;
  • Batas kecepatan;
  • Pemutusan sirkuit;
  • Penyebaran biru-hijau dan kenari;
  • Kontrol akses.

Meluncurkan NGINX Service Mesh

Untuk menjalankan NSM, Anda memerlukan:

  • akses ke lingkungan Kubernetes. NGINX Service Mesh didukung di banyak platform Kubernetes, termasuk Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere, dan klaster Kubernetes reguler yang diterapkan di server perangkat keras;
  • Alat kubectl, diinstal pada mesin tempat NSM akan diinstal;
  • Akses ke paket rilis NGINX Service Mesh. Paket tersebut berisi image NSM yang diperlukan untuk diunggah ke registri pribadi untuk container yang tersedia di cluster Kubernetes. Paketnya juga berisi nginx-meshctl, diperlukan untuk menyebarkan NSM.

Untuk menyebarkan NSM dengan pengaturan default, jalankan perintah berikut. Selama penerapan, pesan ditampilkan yang menunjukkan keberhasilan instalasi komponen dan, terakhir, pesan yang menunjukkan bahwa NSM berjalan di namespace terpisah (Anda harus terlebih dahulu mendownload dan letakkan di registri, 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.

Untuk opsi lainnya, termasuk pengaturan lanjutan, jalankan perintah ini:

$ nginx-meshctl deploy –h

Periksa apakah bidang kontrol berfungsi dengan benar di namespace nginx-mesh, kamu bisa melakukan ini:

$ 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

Bergantung pada pengaturan penerapan yang menetapkan kebijakan injeksi manual atau otomatis, proksi sidecar NGINX akan ditambahkan ke aplikasi secara default. Untuk menonaktifkan penambahan otomatis, baca di sini

Misalnya kita men-deploy aplikasi tidur di ruang nama kegagalan, lalu periksa Podnya - kita akan melihat dua container yang sedang berjalan, yaitu application tidur dan sespan terkait:

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

Kita juga bisa memonitor aplikasinya tidur di panel NGINX Plus, jalankan perintah ini untuk mengakses sidecar dari mesin lokal Anda:

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

Lalu kita masuk saja di sini di peramban. Anda juga dapat terhubung ke Prometheus untuk memantau aplikasi tidur.

Anda dapat menggunakan sumber daya Kubernetes individual untuk mengonfigurasi kebijakan lalu lintas, seperti kontrol akses, pembatasan laju, dan pemutusan sirkuit, untuk hal ini lihat dokumentasi

Kesimpulan

NGINX Service Mesh tersedia untuk diunduh gratis di portal F5. Cobalah di lingkungan pengembangan dan pengujian Anda dan menulis kepada kami tentang hasilnya.

Untuk mencoba NGINX Plus Ingress Controller, aktifkan masa percobaan gratis selama 30 hari, atau Π΅ Π°ΠΌΠΈ untuk mendiskusikan kasus penggunaan Anda.

Terjemahan oleh Pavel Demkovich, insinyur perusahaan Southbridge. Administrasi sistem untuk RUB 15 per bulan. Dan sebagai divisi terpisah - pusat pelatihan Slurm, latihan dan hanya latihan.

Sumber: www.habr.com

Tambah komentar