NGINX سروس میش دستیاب ہے۔

NGINX سروس میش دستیاب ہے۔

ہمیں پیش نظارہ ورژن پیش کرنے پر خوشی ہے۔ NGINX سروس میش (NSM)، ایک بنڈل ہلکا پھلکا سروس میش جو NGINX پلس پر مبنی ڈیٹا طیارہ استعمال کرتا ہے تاکہ Kubernetes کے ماحول میں کنٹینر ٹریفک کو منظم کرے۔

NSM مفت ہے۔ یہاں ڈاؤن لوڈ کریں۔. ہمیں امید ہے کہ آپ اسے دیو اور ٹیسٹ کے ماحول کے لیے آزمائیں گے - اور آپ کے تاثرات کا انتظار رہے گا۔ GitHub پر.

مائیکرو سروسز کے طریقہ کار کا نفاذ مشکلات سے بھرا ہوا ہے کیونکہ ترسیل کا پیمانہ بڑھتا ہے اور ساتھ ہی اس کی پیچیدگی بھی۔ خدمات کے درمیان مواصلت زیادہ پیچیدہ ہو جاتی ہے، ڈیبگنگ کے مسائل مزید مشکل ہو جاتے ہیں، اور زیادہ سے زیادہ سروسز کو منظم کرنے کے لیے مزید وسائل کی ضرورت ہوتی ہے۔

NSM آپ کو فراہم کر کے ان مسائل کو حل کرتا ہے:

  • سیکورٹی، جو اب پہلے سے کہیں زیادہ اہم ہے۔ ڈیٹا کی خلاف ورزی کی وجہ سے کمپنی کو سالانہ لاکھوں ڈالر کا نقصان آمدنی اور ساکھ میں پڑ سکتا ہے۔ NSM اس بات کو یقینی بناتا ہے کہ تمام کنکشنز کو mTLS کا استعمال کرتے ہوئے انکرپٹ کیا گیا ہے، لہذا ایسا کوئی حساس ڈیٹا نہیں ہے جسے نیٹ ورک پر ہیکرز کے ذریعے چوری کیا جا سکے۔ رسائی کنٹرول آپ کو پالیسیاں ترتیب دینے کی اجازت دیتا ہے کہ خدمات کس طرح دوسری خدمات کے ساتھ بات چیت کرتی ہیں۔
  • ٹریفک مینجمنٹ. کسی ایپلیکیشن کا نیا ورژن بھیجتے وقت، آپ غلطی کی صورت میں اس پر آنے والی ٹریفک کو محدود کرکے شروع کرنا چاہتے ہیں۔ NSM کے ذہین کنٹینر ٹریفک مینجمنٹ کے ساتھ، آپ نئی خدمات کے لیے ٹریفک پابندی کی پالیسی مرتب کر سکتے ہیں جو وقت کے ساتھ ساتھ ٹریفک میں اضافہ کرے گی۔ دیگر خصوصیات، جیسے رفتار کو محدود کرنا اور سرکٹ بریکرز، آپ کو اپنی تمام سروسز کے ٹریفک کے بہاؤ پر مکمل کنٹرول فراہم کرتے ہیں۔
  • تصور. ہزاروں خدمات کا نظم کرنا ڈیبگنگ اور ویژولائزیشن ڈراؤنا خواب ہو سکتا ہے۔ NSM اس صورتحال سے نمٹنے میں ایک بلٹ ان Grafana ڈیش بورڈ کے ساتھ مدد کرتا ہے جو NGINX Plus میں دستیاب تمام خصوصیات کو ظاہر کرتا ہے۔ اور لاگو شدہ اوپن ٹریسنگ بھی آپ کو لین دین کی تفصیل سے نگرانی کرنے کی اجازت دیتی ہے۔
  • ہائبرڈ ترسیلاگر آپ کی کمپنی، دوسروں کی طرح، مکمل طور پر Kubernetes پر چلنے والے انفراسٹرکچر کا استعمال نہیں کرتی ہے۔ NSM اس بات کو یقینی بناتا ہے کہ وراثت کی درخواستوں پر توجہ نہ دی جائے۔ نافذ کردہ NGINX Kubernetes Ingress کنٹرولر کی مدد سے، میراثی خدمات میش سروسز کے ساتھ بات چیت کرنے کے قابل ہوں گی، اور اس کے برعکس۔

NSM کنٹینر ٹریفک میں شفاف طریقے سے انکرپشن اور تصدیق کو لاگو کرکے صفر اعتماد والے ماحول میں ایپلیکیشن سیکیورٹی کو بھی یقینی بناتا ہے۔ یہ لین دین کی مرئیت اور تجزیہ بھی فراہم کرتا ہے، جس سے آپ کو تیزی سے اور درست طریقے سے تعیناتیوں اور مسائل کو حل کرنے میں مدد ملتی ہے۔ یہ دانے دار ٹریفک کنٹرول بھی فراہم کرتا ہے، جس سے DevOps ٹیموں کو ایپلی کیشنز کے کچھ حصوں کو تعینات اور بہتر بنانے کی اجازت ملتی ہے جبکہ ڈویلپرز کو ان کی تقسیم شدہ ایپلی کیشنز کو بنانے اور آسانی سے منسلک کرنے کے قابل بناتا ہے۔

NGINX سروس میش کیسے کام کرتی ہے؟

NSM افقی (سروس سے-سروس) ٹریفک کے لیے ایک متحد ڈیٹا طیارہ اور عمودی ٹریفک کے لیے ایک ایمبیڈڈ NGINX پلس انگریس کنٹرولر پر مشتمل ہے، جس کا انتظام ایک واحد کنٹرول طیارے کے ذریعے کیا جاتا ہے۔

کنٹرول طیارہ خاص طور پر NGINX Plus ڈیٹا جہاز کے لیے ڈیزائن اور بہتر بنایا گیا ہے اور NGINX Plus سائڈ کاروں میں تقسیم کیے جانے والے ٹریفک کنٹرول کے قوانین کی وضاحت کرتا ہے۔

NSM میں، سائیڈ کار پراکسی میش میں ہر سروس کے لیے نصب کی جاتی ہیں۔ وہ درج ذیل اوپن سورس حل کے ساتھ انٹرفیس کرتے ہیں۔

  • Grafana، Prometheus پیرامیٹر ویژولائزیشن، بلٹ ان NSM پینل آپ کے کام میں مدد کرتا ہے۔
  • Kubernetes Ingress کنٹرولرز، میش میں آنے والی اور جانے والی ٹریفک کے انتظام کے لیے؛
  • میش میں سرٹیفکیٹس کے انتظام، تقسیم اور اپ ڈیٹ کے لیے SPIRE, CA؛
  • NATS، پیغامات بھیجنے کے لیے ایک قابل توسیع نظام، جیسے کہ روٹ اپ ڈیٹ، کنٹرول ہوائی جہاز سے سائڈ کاروں تک؛
  • اوپن ٹریسنگ، تقسیم شدہ ڈیبگنگ (زپکن اور جیگر سپورٹ شدہ)؛
  • Prometheus، NGINX Plus sidecars سے خصوصیات کو جمع اور ذخیرہ کرتا ہے، جیسے درخواستوں کی تعداد، کنکشن اور SSL ہینڈ شیکس۔

افعال اور اجزاء

NGINX Plus بطور ڈیٹا پلین سائڈ کار پراکسی (افقی ٹریفک) اور انگریس کنٹرولر (عمودی) کا احاطہ کرتا ہے، خدمات کے درمیان کنٹینر ٹریفک کو روکتا ہے اور اس کا انتظام کرتا ہے۔

خصوصیات میں شامل ہیں:

  • باہمی TLS (mTLS) کی توثیق؛
  • وزن کو متوازن کرنا؛
  • غلطی کی رواداری؛
  • رفتار کی حد؛
  • سرکٹ توڑنا؛
  • نیلے سبز اور کینری تعیناتیاں؛
  • رسائی کنٹرول۔

NGINX سروس میش لانچ کرنا

NSM چلانے کے لیے آپ کو ضرورت ہے:

  • Kubernetes ماحول تک رسائی۔ NGINX سروس میش بہت سے Kubernetes پلیٹ فارمز پر تعاون یافتہ ہے، بشمول Amazon Elastic Container Service for Kubernetes (EKS)، Azure Kubernetes Service (AKS)، Google Kubernetes Engine (GKE)، VMware vSphere، اور ہارڈ ویئر سرورز پر تعینات باقاعدہ Kubernetes کلسٹرز؛
  • آلہ۔ kubectl، اس مشین پر نصب ہے جس سے NSM نصب کیا جائے گا۔
  • NGINX سروس میش ریلیز پیکجز تک رسائی۔ پیکیج میں NSM تصاویر شامل ہیں جو کوبرنیٹس کلسٹر میں دستیاب کنٹینرز کے لیے نجی رجسٹری میں اپ لوڈ کرنے کے لیے درکار ہیں۔ پیکیج پر بھی مشتمل ہے۔ nginx-meshctl، NSM کو تعینات کرنے کی ضرورت ہے۔

پہلے سے طے شدہ ترتیبات کے ساتھ NSM کو تعینات کرنے کے لیے، درج ذیل کمانڈ کو چلائیں۔ تعیناتی کے دوران، پیغامات دکھائے جاتے ہیں جو اجزاء کی کامیاب تنصیب کی نشاندہی کرتے ہیں اور، آخر میں، ایک پیغام جو اس بات کی نشاندہی کرتا ہے کہ NSM ایک علیحدہ نام کی جگہ پر چل رہا ہے (آپ کو پہلے ڈاؤن لوڈ، اتارنا اور اسے رجسٹری میں رکھیں، تقریبا. مترجم):

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

مزید اختیارات کے لیے، بشمول جدید ترتیبات، یہ کمانڈ چلائیں:

$ nginx-meshctl deploy –h

چیک کریں کہ کنٹرول ہوائی جہاز نام کی جگہ پر صحیح طریقے سے کام کرتا ہے۔ nginx-mesh، آپ یہ کر سکتے ہیں:

$ 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

دستی یا خودکار انجیکشن پالیسیاں ترتیب دینے والی تعیناتی کی ترتیبات پر منحصر ہے، NGINX sidecars پراکسیز کو بطور ڈیفالٹ ایپلی کیشنز میں شامل کیا جائے گا۔ خودکار اضافہ کو غیر فعال کرنے کے لیے، پڑھیں یہاں

مثال کے طور پر، اگر ہم ایپلیکیشن کو تعینات کرتے ہیں۔ سو نام کی جگہ میں پہلے سے طے شدہ، اور پھر پوڈ کو چیک کریں - ہم دو چلنے والے کنٹینرز دیکھیں گے، ایپلیکیشن سو اور متعلقہ سائڈ کار:

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

ہم درخواست کی نگرانی بھی کر سکتے ہیں۔ سو NGINX پلس پینل میں، اپنی مقامی مشین سے سائڈ کار تک رسائی کے لیے اس کمانڈ کو چلا رہے ہیں:

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

پھر ہم صرف اندر جاتے ہیں۔ یہاں براؤزر میں آپ ایپلیکیشن کی نگرانی کے لیے پرومیتھیس سے بھی رابطہ کر سکتے ہیں۔ سو.

آپ ٹریفک پالیسیاں ترتیب دینے کے لیے انفرادی Kubernetes وسائل استعمال کر سکتے ہیں، جیسے کہ رسائی کنٹرول، شرح کو محدود کرنا اور سرکٹ توڑنا، اس کے لیے دیکھیں دستاویزات

حاصل يہ ہوا

NGINX سروس میش پر مفت ڈاؤن لوڈ کے لیے دستیاب ہے۔ پورٹل F5. اسے اپنے دیو اور ٹیسٹ کے ماحول میں آزمائیں اور نتائج کے بارے میں ہمیں لکھیں۔.

NGINX Plus Ingress Controller کو آزمانے کے لیے، ایکٹیویٹ کریں۔ مفت آزمائشی مدت 30 دن کے لیے، یا ہم سے رابطہ کریں۔ آپ کے استعمال کے معاملات پر بحث کرنے کے لیے۔

کمپنی انجینئر پاول ڈیمکووچ کا ترجمہ ساؤتھ برج. سسٹم ایڈمنسٹریشن RUB 15 ماہانہ۔ اور ایک علیحدہ ڈویژن کے طور پر - ایک تربیتی مرکز گندگی، مشق اور مشق کے سوا کچھ نہیں۔

ماخذ: www.habr.com

نیا تبصرہ شامل کریں