د NGINX خدمت میش شتون لري

د NGINX خدمت میش شتون لري

موږ خوښ یو چې د مخکتنې نسخه وړاندې کوو د NGINX خدمت میش (NSM)، یو بنډل شوی د سپک وزن خدمت میش چې د NGINX Plus-based ډیټا الوتکه کاروي ترڅو د Kubernetes چاپیریال کې د کانټینر ترافیک اداره کړي.

NSM وړیا دی دلته کښته کول. موږ امید لرو چې تاسو به دا د dev او ازموینې چاپیریال لپاره هڅه وکړئ - او ستاسو نظرونو ته سترګې په لار یو په GitHub کې.

د مایکرو خدماتو میتودولوژي پلي کول له ستونزو ډک دي ځکه چې د تحویل اندازه وده کوي ، او همدارنګه پیچلتیا. د خدماتو ترمنځ اړیکه خورا پیچلې کیږي، د ډیبګ کولو ستونزې ډیرې ستونزمنې کیږي، او ډیر او ډیر خدمتونه د مدیریت لپاره ډیرو سرچینو ته اړتیا لري.

NSM تاسو ته د چمتو کولو له لارې دا ستونزې حل کوي:

  • امنیت، کوم چې اوس د هر وخت څخه ډیر مهم دی. د معلوماتو سرغړونې کولی شي یو شرکت په کال کې ملیونونه ډالر له لاسه ورکړل شوي عاید او شهرت کې مصرف کړي. NSM ډاډ ورکوي چې ټولې اړیکې د mTLS په کارولو سره کوډ شوي دي، نو داسې هیڅ حساس معلومات شتون نلري چې په شبکه کې د هیکرانو لخوا غلا شي. د لاسرسي کنټرول تاسو ته اجازه درکوي چې څنګه خدمتونه د نورو خدماتو سره اړیکه ونیسي پالیسي ترتیب کړئ.
  • د ترافیکو مدیریت. کله چې د غوښتنلیک نوې نسخه لیږدئ، تاسو ممکن د غلطۍ په صورت کې دې ته د راتلونکو ټرافیک محدودولو سره پیل کړئ. د NSM د هوښیار کانټینر ترافیک مدیریت سره ، تاسو کولی شئ د نوي خدماتو لپاره د ترافیک محدودیت پالیسي ترتیب کړئ چې د وخت په تیریدو سره ترافیک ډیر کړي. نور ځانګړتیاوې، لکه د سرعت محدودیت او سرکټ ماتونکي، تاسو ته ستاسو د ټولو خدماتو ټرافيکي جریان بشپړ کنټرول درکوي.
  • لید. د زرګونو خدماتو اداره کول د ډیبګ کولو او لید لید خوب کیدی شي. NSM د دې وضعیت سره د یو جوړ شوي ګرافانا ډشبورډ سره معامله کې مرسته کوي چې په NGINX پلس کې موجود ټول ځانګړتیاوې ښیې. او همدارنګه پلي شوي خلاص تعقیب تاسو ته اجازه درکوي په تفصیل سره معاملې وڅاري.
  • هایبرډ تحویليکه ستاسو شرکت، لکه د نورو نورو په څیر، زیربنا نه کاروي په بشپړ ډول په Kubernetes کې. NSM ډاډ ورکوي چې د میراث غوښتنلیکونه بې پامه نه پاتې کیږي. د پلي شوي NGINX Kubernetes Ingress کنټرولر په مرسته، د میراث خدمتونه به وکوالی شي د میش خدماتو سره اړیکه ونیسي، او برعکس.

NSM د کانټینر ترافیک ته په شفاف ډول د کوډ کولو او تصدیق کولو په کارولو سره د صفر باور چاپیریال کې د غوښتنلیک امنیت هم تضمینوي. دا د راکړې ورکړې لید او تحلیل هم چمتو کوي، تاسو سره مرسته کوي په چټکه او دقیق ډول د ګومارنې پیل او ستونزې حل کړئ. دا د دانه ترافیک کنټرول هم چمتو کوي ، د DevOps ټیمونو ته اجازه ورکوي چې د غوښتنلیکونو برخې ځای په ځای کړي او مطلوب کړي پداسې حال کې چې پراختیا کونکو ته وړتیا ورکوي ترڅو خپل توزیع شوي غوښتنلیکونه رامینځته او په اسانۍ سره وصل کړي.

د NGINX خدمت میش څنګه کار کوي؟

NSM د افقی (خدمت څخه تر خدمت) ټرافیک لپاره یو متحد ډیټا الوتکه او د عمودی ترافیک لپاره د NGINX پلس انګریس کنټرولر لري چې د یو واحد کنټرول الوتکې لخوا اداره کیږي.

د کنټرول الوتکه په ځانګړي ډول د NGINX Plus ډیټا الوتکې لپاره ډیزاین او مطلوبه شوې او د NGINX Plus سایډ کارونو کې توزیع شوي د ترافیک کنټرول مقررات تعریفوي.

په NSM کې، په میش کې د هر خدمت لپاره د سایډ کار پراکسي نصب شوي. دوی د لاندې خلاصې سرچینې حلونو سره انٹرفیس کوي:

  • Grafana، Prometheus پیرامیټر لید، د NSM پینل جوړ شوی ستاسو په کار کې مرسته کوي؛
  • د کوبرنیټس انګریس کنټرولرونه، په میش کې د راتلوونکي او وتلو ترافیک اداره کولو لپاره؛
  • SPIRE، CA په میش کې د سندونو اداره کولو، ویشلو او تازه کولو لپاره؛
  • NATS، د پیغامونو لیږلو لپاره د توزیع وړ سیسټم، لکه د لارې تازه کول، د کنټرول الوتکې څخه سایډ کار ته؛
  • خلاص تعقیب ، توزیع شوی ډیبګینګ (زپکین او جیجر ملاتړ شوی)؛
  • Prometheus، د NGINX Plus sidecars څخه ځانګړتیاوې راټولوي او ذخیره کوي، لکه د غوښتنو شمیر، اړیکې او د SSL لاسونه.

دندې او برخې

NGINX Plus د ډیټا الوتکې په توګه د سایډ کار پراکسي (افقي ترافیک) او د انګریس کنټرولر (عمودي) پوښي ، د خدماتو ترمینځ د کانټینر ترافیک مداخله او اداره کوي.

ځانګړتیاوې عبارت دي له:

  • دوه اړخیز TLS (mTLS) تصدیق؛
  • د بار توازن؛
  • د خطا زغم؛
  • د سرعت محدودیت؛
  • د سرک ماتول؛
  • نیلي شنه او کانري ځای پرځای کول؛
  • د لاسرسي کنټرول.

د NGINX خدمت میش په لاره اچول

د NSM چلولو لپاره تاسو اړتیا لرئ:

  • د Kubernetes چاپیریال ته لاسرسی. د NGINX خدمت میش په ډیری کبرنیټ پلیټ فارمونو کې ملاتړ کیږي ، پشمول د کوبرنیټس (EKS) لپاره د ایمیزون لچک لرونکي کانټینر خدمت ، Azure Kubernetes خدمت (AKS) ، د ګوګل کوبرنیټس انجن (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. دا په خپل dev او ازموینې چاپیریال کې هڅه وکړئ او د پایلو په اړه موږ ته ولیکئ.

د NGINX Plus Ingress Controller هڅه کولو لپاره، فعال کړئ د وړیا آزموینې موده د 30 ورځو لپاره، یا موږ سره اړیکه ونیسئ ستاسو د کارونې قضیې په اړه بحث کولو لپاره.

د شرکت انجنیر پاول ډیمکوویچ لخوا ژباړه ساوتریج. د سیسټم اداره په میاشت کې د 15 RUB لپاره. او د جلا څانګې په توګه - د روزنې مرکز سلم، تمرین او هیڅ شی نه مګر تمرین.

سرچینه: www.habr.com

Add a comment