NGINX سروس ميش دستياب آهي

NGINX سروس ميش دستياب آهي

اسان هڪ ڏيک نسخو پيش ڪرڻ تي راضي آهيون NGINX سروس ميش (NSM)، هڪ بنڊل لائيٽ ويٽ سروس ميش جيڪو ڪبرنيٽس ماحول ۾ ڪنٽينر ٽرئفڪ کي منظم ڪرڻ لاءِ NGINX پلس تي ٻڌل ڊيٽا جهاز استعمال ڪري ٿو.

NSM مفت آهي هتي ڊائونلوڊ ڪريو. اسان کي اميد آهي ته توهان ان کي ديو ۽ ٽيسٽ ماحول لاءِ آزمائيندا - ۽ توهان جي راءِ جو انتظار ڪندا GitHub تي.

مائڪرو سروسز جي طريقيڪار تي عمل درآمد مشڪلاتن سان ڀريل آهي جيئن ترسيل جي پيماني تي وڌندي آهي، انهي سان گڏ ان جي پيچيدگي. خدمتن جي وچ ۾ ڪميونيڪيشن وڌيڪ پيچيده ٿي ويندو آهي، ڊيبگنگ جا مسئلا وڌيڪ مشڪل ٿي ويندا آهن، ۽ وڌيڪ ۽ وڌيڪ خدمتن کي منظم ڪرڻ لاءِ وڌيڪ وسيلن جي ضرورت هوندي آهي.

NSM توهان کي مهيا ڪندي انهن مسئلن کي حل ڪري ٿو:

  • حفاظت، جيڪو هاڻي هميشه کان وڌيڪ اهم آهي. ڊيٽا جي ڀڃڪڙي هڪ ڪمپني کي ساليانو ڪروڙين ڊالر خرچ ڪري سگهي ٿي گم ٿيل آمدني ۽ شهرت ۾. NSM انهي ڳالهه کي يقيني بڻائي ٿو ته سڀئي ڪنيڪشن mTLS استعمال ڪندي انڪرپٽ ٿيل آهن، تنهنڪري ڪو به حساس ڊيٽا نه آهي جيڪو چوري ڪري سگهجي ٿو نيٽ ورڪ تي هيڪرز. رسائي ڪنٽرول توهان کي پاليسيون سيٽ ڪرڻ جي اجازت ڏئي ٿي ته ڪيئن خدمتون ٻين خدمتن سان گفتگو ڪن ٿيون.
  • ٽرئفڪ جو انتظام. جڏهن هڪ ايپليڪيشن جو نئون نسخو موڪلڻ، توهان شايد شروع ڪرڻ چاهيو ٿا ته ايندڙ ٽرئفڪ کي محدود ڪري ان کي غلطي جي صورت ۾. NSM جي ذهين ڪنٽينر ٽرئفڪ مئنيجمينٽ سان، توهان نئين خدمتن لاءِ ٽريفڪ پابندي واري پاليسي مقرر ڪري سگهو ٿا جيڪا وقت سان گڏ ٽرئفڪ کي وڌائيندي. ٻيون خاصيتون، جهڙوڪ رفتار کي محدود ڪرڻ ۽ سرڪٽ برڪرز، توهان کي توهان جي سڀني خدمتن جي ٽرئفڪ جي وهڪري تي مڪمل ڪنٽرول ڏيو.
  • زير نظر. هزارين خدمتن کي منظم ڪرڻ هڪ ڊيبگنگ ۽ بصري خواب ٿي سگهي ٿو. NSM هن صورتحال کي حل ڪرڻ ۾ مدد ڪري ٿو هڪ تعمير ٿيل گرافانا ڊيش بورڊ سان جيڪو ڏيکاري ٿو NGINX پلس ۾ موجود سڀئي خاصيتون. ۽ پڻ لاڳو ٿيل اوپن ٽريڪنگ توهان کي تفصيل سان ٽرانزيڪشن جي نگراني ڪرڻ جي اجازت ڏئي ٿي.
  • هائبرڊ پهچائڻ، جيڪڏهن توهان جي ڪمپني، ٻين وانگر، مڪمل طور تي Kubernetes تي هلندڙ انفراسٽرڪچر استعمال نه ڪندي. NSM انهي ڳالهه کي يقيني بڻائي ٿو ته ميراثي ايپليڪيشنون اڻڄاتل نه رهجي وڃن. لاڳو ٿيل NGINX Kubernetes Ingress ڪنٽرولر جي مدد سان، ميراثي خدمتون ميش سروسز سان رابطو ڪرڻ جي قابل ٿي وينديون، ۽ ان جي برعڪس.

NSM پڻ ڪنٽينر ٽريفڪ کي شفاف طور تي انڪرپشن ۽ تصديق لاڳو ڪندي صفر اعتماد واري ماحول ۾ ايپليڪيشن سيڪيورٽي کي يقيني بڻائي ٿو. اهو پڻ مهيا ڪري ٿو ٽرانزيڪشن جي نمائش ۽ تجزيو، توهان کي جلدي ۽ صحيح طور تي شروع ڪرڻ ۾ مدد ڪندي ۽ مسئلن کي حل ڪرڻ. اهو پڻ گرينولر ٽرئفڪ ڪنٽرول مهيا ڪري ٿو، DevOps ٽيمن کي ايپليڪيشنن جي حصن کي ترتيب ڏيڻ ۽ بهتر ڪرڻ جي اجازت ڏئي ٿو جڏهن ته ڊولپرز کي انهن جي ورهايل ايپليڪيشنن کي ٺاهڻ ۽ آساني سان ڳنڍڻ جي قابل بڻائي ٿي.

NGINX سروس ميش ڪيئن ڪم ڪندو آهي؟

NSM افقي (خدمت کان-سروس) ٽريفڪ لاءِ هڪ متحد ڊيٽا جهاز تي مشتمل آهي ۽ عمودي ٽرئفڪ لاءِ هڪ ايمبيڊڊ NGINX پلس انگريس ڪنٽرولر، هڪ واحد ڪنٽرول جهاز ذريعي منظم.

ڪنٽرول جهاز خاص طور تي NGINX پلس ڊيٽا جهاز لاءِ ٺهيل ۽ بهتر ڪيو ويو آهي ۽ NGINX پلس سائڊ ڪارز ۾ ورهايل ٽرئفڪ ڪنٽرول ضابطن کي بيان ڪري ٿو.

NSM ۾، سائڊ ڪارز پروڪسز ميش ۾ هر خدمت لاء نصب ٿيل آهن. اهي هيٺين اوپن سورس حلن سان انٽرفيس ڪن ٿا:

  • Grafana, Prometheus parameter visualization, build-in NSM پينل توھان جي ڪم ۾ مدد ڪري ٿو.
  • Kubernetes Ingress ڪنٽرولرز، ميش ۾ ايندڙ ۽ ٻاهرئين ٽرئفڪ کي منظم ڪرڻ لاء؛
  • SPIRE، CA ميش ۾ سرٽيفڪيٽ جي انتظام، تقسيم ۽ تازه ڪاري لاء؛
  • NATS، پيغام موڪلڻ لاءِ اسڪيلبل سسٽم، جهڙوڪ روٽ اپڊيٽ، ڪنٽرول جهاز کان سائڊ ڪارز تائين؛
  • اوپن ٽريڪنگ، ورهايل ڊيبگنگ (زپڪن ۽ جيجر جي حمايت ڪئي وئي)؛
  • Prometheus، گڏ ڪري ٿو ۽ NGINX پلس سائڊ ڪارز کان خاصيتون گڏ ڪري ٿو، جهڙوڪ درخواستن جو تعداد، ڪنيڪشن ۽ SSL هٿ ملائڻ.

ڪم ۽ اجزاء

NGINX پلس هڪ ڊيٽا جهاز جي طور تي سائڊ ڪار پراکسي (افقي ٽرئفڪ) ۽ انگريس ڪنٽرولر (عمودي) تي مشتمل آهي، خدمتن جي وچ ۾ ڪنٽينر ٽرئفڪ کي مداخلت ۽ انتظام ڪرڻ.

خاصيتون شامل آهن:

  • باهمي 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-meshctlNSM کي ترتيب ڏيڻ جي ضرورت آهي.

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 سائڊ ڪارز پراکسيز کي ڊفالٽ طور ايپليڪيشنن ۾ شامل ڪيو ويندو. خودڪار شامل ڪرڻ کي بند ڪرڻ لاء، پڙهو هتي

مثال طور، جيڪڏهن اسان ايپليڪيشن کي ترتيب ڏيون ٿا ننڊ نالي جي جڳهه ۾ رٿيل، ۽ پوءِ پوڊ چيڪ ڪريو - اسان ڏسنداسين ٻه هلندڙ ڪنٽينر، ايپليڪيشن ننڊ ۽ لاڳاپيل سائڊ ڪار:

$ 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

پوءِ اسان اندر وڃون ٿا هتي برائوزر ۾. توھان پڻ ڳنڍي سگھو ٿا Prometheus ايپليڪيشن کي مانيٽر ڪرڻ لاء ننڊ.

توھان ٽريفڪ پاليسين کي ترتيب ڏيڻ لاءِ انفرادي Kubernetes وسيلا استعمال ڪري سگھو ٿا، جھڙوڪ رسائي ڪنٽرول، شرح کي محدود ڪرڻ ۽ سرڪٽ ٽوڙڻ، ھن لاءِ ڏسو دستاويز

ٿڪل

NGINX سروس ميش دستياب آهي مفت ڊائون لوڊ تي پورٽل F5. ان کي ڪوشش ڪريو پنھنجي dev ۽ ٽيسٽ ماحول ۾ ۽ نتيجن بابت اسان کي لکو.

ڪوشش ڪرڻ لاءِ NGINX Plus Ingress Controller، چالو ڪريو مفت آزمائشي مدت 30 ڏينهن لاء، يا اسان سان رابطو ڪريو توهان جي استعمال جي ڪيسن تي بحث ڪرڻ لاء.

Pavel Demkovich پاران ترجمو، ڪمپني انجنيئر سائبربر. سسٽم انتظاميه RUB 15 هر مهيني لاء. ۽ هڪ الڳ ڊويزن جي طور تي - هڪ تربيتي مرڪز ٻَڌَ، مشق ۽ مشق کانسواءِ ڪجھ به نه.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو