د کوبرنیټس لپاره د انګریس کنټرولرونو عمومي کتنه او پرتله کول

د کوبرنیټس لپاره د انګریس کنټرولرونو عمومي کتنه او پرتله کول

کله چې د یو ځانګړي غوښتنلیک لپاره د کوبرنیټس کلستر په لاره اچولو سره، تاسو اړتیا لرئ پوه شئ چې غوښتنلیک پخپله، سوداګرۍ، او پراختیا کونکي دې سرچینې ته څه کوي. د دې معلوماتو سره ، تاسو کولی شئ د معمارۍ پریکړه پیل کړئ او په ځانګړي توګه د ځانګړي انګریس کنټرولر غوره کړئ ، چې له دې څخه نن ورځ لوی شمیر شتون لري. د ډیری مقالو / اسنادو او نورو ته د تګ پرته د شته اختیارونو لومړني نظر ترلاسه کولو لپاره ، موږ دا عمومي کتنه چمتو کړې ، پشمول د اصلي (تولید چمتو) د ننوتلو کنټرولر.

موږ امید لرو چې دا به د معماري حل په غوره کولو کې د همکارانو سره مرسته وکړي - لږترلږه دا به د نورو مفصلو معلوماتو او عملي تجربو ترلاسه کولو لپاره د پیل ټکی شي. مخکې، موږ نور ورته مواد په جال کې مطالعه کړل، او په عجیب ډول، یو بشپړ یا لږ بشپړ، او تر ټولو مهم - جوړښت - بیاکتنه ونه موندله. نو راځئ چې دا تشه ډکه کړو!

معیارونه

په اصولو کې، د پرتله کولو او کومې ګټورې پایلې ترلاسه کولو لپاره، تاسو اړتیا لرئ چې نه یوازې د موضوع ساحه پوهه کړئ، بلکې د معیارونو یو ځانګړی لیست هم ولرئ چې د څیړنې ویکتور به ټاکي. د Ingress / Kubernetes کارولو ټولو احتمالي قضیو تحلیل کولو پرته ، موږ هڅه وکړه چې د کنټرولرانو لپاره خورا عمومي اړتیاوې روښانه کړو - چمتو اوسئ چې په هر حالت کې تاسو باید خپل ټول توضیحات او توضیحات په جلا توګه مطالعه کړئ.

مګر زه به د هغه ځانګړتیاو سره پیل وکړم چې دومره پیژندل شوي چې دوی په ټولو حلونو کې پلي کیږي او په پام کې نه نیول کیږي:

  • د خدماتو متحرک کشف (د خدماتو کشف)؛
  • د ایس ایس ایل ختمول؛
  • د ویب ساکټونو سره کار کول.

اوس د پرتله کولو ټکو لپاره:

ملاتړ شوي پروتوکولونه

یو له اساسي انتخاب معیارونو څخه. ستاسو سافټویر ممکن په معیاري HTTP کې کار ونکړي، یا دا ممکن په یوځل کې په څو پروتوکولونو کار کولو ته اړتیا ولري. که ستاسو قضیه غیر معیاري وي، ډاډ ترلاسه کړئ چې دا فاکتور په پام کې ونیسئ ترڅو تاسو وروسته د کلستر بیا تنظیمولو ته اړتیا ونلرئ. د ټولو کنټرولرانو لپاره، د ملاتړ شوي پروتوکولونو لیست توپیر لري.

په اصل کې سافټویر

د غوښتنلیکونو ډیری توپیرونه شتون لري چې کنټرولر یې پر بنسټ والړ دی. مشهور یې نګینکس، ټرافیک، هاپروکسي، سفیر دي. په عمومي حالت کې، دا ممکن د ټرافیک ترلاسه کولو او لیږدولو څرنګوالي باندې ډیر اغیزه ونلري، مګر دا تل ګټور دی چې د "د هود لاندې" د احتمالي نزاکتونو او ځانګړتیاوو په اړه پوه شي.

د ټرافیکو لار

د څه پراساس دا ممکنه ده چې یو ځانګړي خدمت ته د ترافیک سمت په اړه پریکړه وکړئ؟ معمولا دا کوربه او لاره دي، مګر اضافي امکانات شتون لري.

په یوه کلستر کې د نوم ځای

د نوم ځای (نوم ځای) - په کوبرنیټس کې د منطقي سرچینو ویشلو وړتیا (د مثال په توګه ، په مرحله کې ، تولید او داسې نور). دلته د انګریس کنټرولرونه شتون لري چې باید په هر نوم ځای کې په جلا توګه نصب شي (او بیا دا کولی شي ترافیک مستقیم کړي یوازې د دې ځای پوزې ته). او دلته هغه (او د دوی واضح اکثریت) شتون لري چې په ټوله نړۍ کې د ټول کلستر لپاره کار کوي - په دوی کې ټرافيک د کلستر هر پوډ ته لارښوونه کیږي، پرته له دې چې د نوم ځای په پام کې ونیول شي.

د پورته جریانونو لپاره نمونې

ترافیک څنګه د غوښتنلیک ، خدماتو صحي مثالونو ته لارښود کیږي؟ د فعال او غیر فعال چکونو سره اختیارونه شتون لري، بیا هڅه کوي، سرکټ ماتونکي (د نورو جزیاتو لپاره، وګورئ، د مثال په توګه، د اسټیو په اړه مقاله)، دودیز روغتیا معاینات ، او داسې نور. یو خورا مهم پیرامیټر که تاسو د شتون لپاره لوړې اړتیاوې لرئ او په وخت سره د توازن څخه د ناکام خدماتو لرې کول.

د الګوریتمونو توازن

ډیری اختیارونه شتون لري: له دودیز څخه ګرده روبین بهرني ته rdp- کوکياو همدارنګه د انفرادي ځانګړتیاوو په څیر چپچپا ناستې.

تصدیق کول

کنټرولر د کوم واک ورکولو سکیمونو ملاتړ کوي؟ بنسټیز، هضم، تصدیق، بهرنی-تصویر - زه فکر کوم چې دا اختیارونه باید پیژندل شوي وي. دا یو مهم معیار دی که چیرې ډیری پراختیا کونکي (او/یا یوازې خصوصي) لوپونه شتون ولري چې د Ingress له لارې لاسرسی کیږي.

د ترافیکو ویش

ایا کنټرولر د عام ډول کارول شوي ټرافيکي توزیع میکانیزمونو ملاتړ کوي لکه د کانري رول آوټ (کینري)، A / B ازموینه، د ټرافيکي عکس العمل (عکس کول / سیوري کول)؟ دا د غوښتنلیکونو لپاره واقعیا دردونکې موضوع ده چې د تولیدي ازموینې لپاره دقیق او دقیق ترافیک مدیریت ته اړتیا لري ، د محصول بګ آف لاین (یا لږترلږه زیان سره) ، د ترافیک تحلیل او داسې نور.

تادیه شوي ګډون

ایا د کنټرولر لپاره یو تادیه شوی اختیار شتون لري، د پرمختللي فعالیت او / یا تخنیکي مالتړ سره؟

د ګرافیکي کاروونکي انٹرفیس (ویب UI)

ایا د کنټرولر ترتیب اداره کولو لپاره کوم GUI شتون لري؟ په عمده توګه د "لاسي" او / یا د هغو کسانو لپاره چې د Ingress'a ترتیب کې ځینې بدلونونو ته اړتیا لري، مګر د "خام" ټیمپلیټونو سره کار کول ناشونی دی. دا ګټور کیدی شي که چیرې پراختیا کونکي وغواړي په الوتنه کې د ترافیک سره ځینې تجربې ترسره کړي.

د JWT تایید

د پای غوښتنلیک ته د کارونکي جواز او اعتبار لپاره د JSON ویب ټوکن جوړ شوي تایید شتون.

د ترتیب تنظیم کولو امکانات

د ټیمپلیټ توزیع کول د میکانیزمونو درلودلو په معنی چې تاسو ته اجازه درکوي خپل لارښودونه ، بیرغونه او نور د معیاري ترتیب کولو ټیمپلیټونو کې اضافه کړئ.

د DDOS د ساتنې بنسټیز میکانیزمونه

د ساده نرخ محدودیت الګوریتمونه یا د پتې ، سپین لیستونو ، هیوادونو او نورو پراساس ډیر پیچلي ترافیک فلټر کولو اختیارونه.

د تعقیب غوښتنه وکړئ

د انګریس څخه ځانګړي خدماتو / پوډونو ته د غوښتنو نظارت ، تعقیب او ډیبګ کولو وړتیا ، او په مثالي ډول د خدماتو / پوډونو ترمینځ هم.

waff

ملاتړ د غوښتنلیک فایروال.

کنټرولونکي

د کنټرولرانو لیست په اساس جوړ شوی رسمي Kubernetes اسناد и دا میز. موږ ځینې یې له بیاکتنې څخه د ځانګړتیا یا ټیټ پراخوالي (د پراختیا لومړنۍ مرحله) له امله لرې کړل. پاتې نور لاندې بحث کیږي. راځئ چې د حلونو عمومي توضیحاتو سره پیل وکړو او د لنډیز میز سره دوام ورکړو.

د Kubernetes څخه ننوتل

وېب پاڼه: github.com/kubernetes/ingress-nginx
جواز: اپاچی 2.0

دا د کبرنیټس لپاره رسمي کنټرولر دی او د ټولنې لخوا رامینځته کیږي. په ښکاره ډول د نوم څخه، دا د نګینکس پر بنسټ والړ دی او د لوا فلګونو مختلف سیټ لخوا بشپړ شوی چې د اضافي ځانګړتیاو پلي کولو لپاره کارول کیږي. پخپله د نګینکس د شهرت او د کنټرولر په توګه د کارولو په وخت کې د لږ تر لږه بدلونونو له امله، دا اختیار ممکن د اوسط انجنیر (د ویب تجربې سره) لپاره تنظیم کولو لپاره ترټولو اسانه او اسانه وي.

د NGINX Inc.

وېب پاڼه: github.com/nginxinc/kubernetes-ingress
جواز: اپاچی 2.0

د نګینکس پراختیا کونکو رسمي محصول. پر بنسټ یو تادیه شوی نسخه لري NGINX Plus. اصلي نظر د لوړې کچې ثبات دی ، دوامداره شاته مطابقت ، د کوم بهرني ماډلونو نشتوالی او اعلان شوی سرعت (د رسمي کنټرولر په پرتله) ، د لوا ردولو له امله ترلاسه شوی.

وړیا نسخه د پام وړ کمه شوې ، پشمول حتی کله چې د رسمي کنټرولر سره پرتله کیږي (د ورته لوا ماډلونو نشتوالي له امله). په ورته وخت کې، تادیه شوی یو کافي پراخه اضافي فعالیت لري: د ریښتیني وخت میټریکونه ، د JWT اعتبار ، فعال روغتیایی معاینات ، او نور ډیر څه. د NGINX Ingress یوه مهمه ګټه د TCP / UDP ترافیک لپاره بشپړ ملاتړ دی (او د ټولنې نسخه کې هم!). منفي - د نشتوالی د ترافیک توزیع ځانګړتیا، چې په هرصورت، "د پراختیا کونکو لپاره لوړ لومړیتوب لري،" مګر د پلي کولو لپاره وخت نیسي.

کانګ انګریس

وېب پاڼه: github.com/Kong/kubernetes-ingress-controller
جواز: اپاچی 2.0

محصول د کانګ شرکت لخوا رامینځته شوی. په دوه نسخو کې: سوداګریز او وړیا. د nginx پر بنسټ، کوم چې د لوی لوی لوی ماډل سره پراخ شوی.

په پیل کې، دا د API غوښتنو پروسس او روټینګ باندې تمرکز درلود، د بیلګې په توګه. د API ګیټ وے په توګه، مګر دا مهال دا د بشپړ انګریس کنټرولر شوی. اصلي ګټې: ډیری اضافي ماډلونه (پشمول د دریمې ډلې پراختیا کونکو څخه) چې نصب او تنظیم کول اسانه دي او د دې په مرسته د اضافي ب featuresو پراخه لړۍ پلي کیږي. په هرصورت، جوړ شوي فعالیتونه دمخه ډیری امکانات وړاندې کوي. د کار ترتیب د CRD سرچینو په کارولو سره ترسره کیږي.

د محصول یوه مهمه ځانګړتیا - په ورته شکل کې کار کول (د کراس نوم ځای پرځای) یوه جنجالي موضوع ده: د ځینو لپاره دا به د زیان په څیر ښکاري (تاسو باید د هر کنټور لپاره شرکتونه تولید کړئ)، او د یو چا لپاره دا ځانګړتیا ده ( بоد انزوا لوړه کچه، لکه که یو کنټرولر مات شوی وي، نو ستونزه یوازې په سرکټ پورې محدوده ده).

ټرافیک

وېب پاڼه: github.com/containous/traefik
جواز: MIT

یو پراکسي چې په اصل کې د مایکرو خدماتو او د دوی متحرک چاپیریال لپاره د غوښتنې روټینګ سره کار کولو لپاره رامینځته شوی. له همدې امله ، ډیری ګټورې ب featuresې: پرته له ریبوټ کولو ترتیب تازه کول ، د لوی شمیر بیلانس میتودونو ملاتړ ، ویب انٹرفیس ، میټریک فارورډینګ ، د مختلف پروتوکولونو ملاتړ ، REST API ، کانري ریلیزونه ، او نور ډیر څه. بله ښه خصوصیت د بکس څخه بهر د لیټز کوډ کولو سندونو لپاره ملاتړ دی. نیمګړتیا دا ده چې د لوړ شتون (HA) تنظیم کولو لپاره ، کنټرولر به د خپل KV ذخیره نصب او وصل کولو ته اړتیا ولري.

HAProxy

وېب پاڼه: github.com/jcmoraisjr/haproxy-ingress
جواز: اپاچی 2.0

HAProxy د اوږدې مودې لپاره د پراکسي او ترافیک توازن کونکي په توګه پیژندل شوی. د Kubernetes کلستر د یوې برخې په توګه، دا د "نرم" ترتیب کولو تازه معلومات وړاندې کوي (د ټرافیک له لاسه ورکولو پرته)، د DNS پر بنسټ د خدماتو کشف، د API په کارولو سره متحرک ترتیب. دا د CM ځای په ځای کولو سره د تشکیل ټیمپلیټ په بشپړ ډول دودیز کولو لپاره زړه راښکونکي کیدی شي ، په بیله بیا پدې کې د Sprig کتابتون دندو کارولو وړتیا. په عموم کې ، د حل اصلي ټینګار په لوړ سرعت ، د مصرف شوي سرچینو کې د هغې اصلاح او موثریت دی. د کنټرولر ګټه د مختلف بیلانس میتودونو ریکارډ شمیر ملاتړ دی.

Voyager

وېب پاڼه: github.com/appscode/voyager
جواز: اپاچی 2.0

د HAproxy کنټرولر پراساس ، کوم چې د یو نړیوال حل په توګه موقعیت لري چې په لوی شمیر چمتو کونکو کې د پراخه ځانګړتیاو ملاتړ کوي. په L7 او L4 کې د ترافیک توازن لپاره یو فرصت وړاندیز شوی ، او په ټوله کې د TCP L4 ترافیک توازن کول د حل یو له کلیدي ځانګړتیاو څخه بلل کیدی شي.

کڅوړه

وېب پاڼه: github.com/heptio/contour
جواز: اپاچی 2.0

دا حل نه یوازې د انویلو پر بنسټ دی: دا د دې لخوا رامینځته شوی یوځای د دې مشهور پراکسي لیکوالانو سره. یو مهم خصوصیت د IngressRoute CRD سرچینو په کارولو سره د Ingress سرچینو جلا کنټرول وړتیا ده. د هغو سازمانونو لپاره چې ډیری پرمختیایی ټیمونه ورته کلستر کاروي، دا د ګاونډیو لوپونو کې د ټرافیک سره د کار کولو امنیت اعظمي کولو کې مرسته کوي او د انګریس سرچینو بدلولو پر مهال د غلطیو څخه ساتنه کوي.

دا د توازن میتودونو پراخه سیټ هم وړاندیز کوي (د غوښتنې عکس العمل ، اتومات تکرار ، د غوښتنې نرخ محدودیت ، او نور ډیر څه شتون لري) ، د ترافیک جریان او ناکامیو تفصيلي څارنه. شاید د یو چا لپاره دا به د چپچینې غونډو لپاره د ملاتړ نشتوالی د پام وړ نیمګړتیا وي (که څه هم کار لا دمخه روان دی).

Istio Ingress

وېب پاڼه: istio.io/docs/tasks/traffic-management/ingress
جواز: اپاچی 2.0

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

سفیر

وېب پاڼه: github.com/datawire/ambassador
جواز: اپاچی 2.0

د انویلو پر بنسټ یو بل حل. دا وړیا او سوداګریزې نسخې لري. دا د "کوبرنیټس په بشپړ ډول اصلي" په توګه موقعیت لري ، کوم چې ورته ګټې راوړي (د K8s کلستر میتودونو او ادارو سره سخت ادغام).

د پرتله کولو میز

نو، د مقالې پای دا لوی جدول دی:

د کوبرنیټس لپاره د انګریس کنټرولرونو عمومي کتنه او پرتله کول

دا د نږدې لید لپاره د کلیک کولو وړ دی، او په بڼه کې هم شتون لري د ګوګل پاڼې.

د لنډیز لپاره

د دې مقالې موخه دا ده چې ستاسو په ځانګړې قضیه کې د کوم انتخاب غوره کولو په اړه نور بشپړ پوهاوی (په هرصورت، هیڅ ډول بشپړ نه وي!). د معمول په څیر ، هر کنټرولر خپلې ګټې او زیانونه لري ...

د Kubernetes څخه کلاسیک انګریس د دې شتون او ثابت لپاره ښه دی، په کافي اندازه بډایه ځانګړتیاوې - په عمومي حالت کې، دا باید "د سترګو لپاره کافي" وي. په هرصورت، که چیرې د ثبات، د ځانګړتیاوو او پراختیا کچې لپاره اړتیاوې زیاتې وي، نو تاسو باید د NGINX Plus او تادیه شوي ګډون سره Ingress ته پاملرنه وکړئ. کانګ د پلگ انونو خورا بډایه سیټ لري (او په وینا یې هغه فرصتونه چې دوی چمتو کوي) ، او په تادیه شوي نسخه کې حتی نور هم شتون لري. دا د API ګیټ وے په توګه د کار کولو لپاره کافي فرصتونه لري ، د CRD سرچینو پراساس متحرک تشکیلات ، او همدارنګه لومړني Kubernetes خدمات.

د توازن او اختیار کولو میتودونو لپاره د زیاتو اړتیاو سره، Traefik او HAProxy ته یو نظر وګورئ. دا د خلاصې سرچینې پروژې دي، چې په تیرو کلونو کې ثابت شوي، خورا باثباته او په فعاله توګه وده کوي. کونټور اوس د څو کلونو لپاره بهر شوی، مګر دا لاهم ډیر ځوان ښکاري او یوازې د انووای په سر کې بنسټیز ځانګړتیاوې لري. که چیرې د غوښتنلیک په مخ کې د WAF شتون / سرایت لپاره اړتیاوې شتون ولري ، نو تاسو باید د کوبرنیټس یا HAProxy څخه ورته انګریس ته پاملرنه وکړئ.

او د ځانګړتیاوو له مخې ترټولو بډایه هغه محصولات دي چې د سفیر په سر کې جوړ شوي، په ځانګړې توګه اسټیو. داسې ښکاري چې دا یو جامع حل دی چې "هر څه کولی شي"، چې په هرصورت، د نورو حلونو په پرتله د ترتیب / لانچ / ادارې لپاره د پام وړ لوړ ننوتلو حد هم معنی لري.

موږ د معیاري کنټرولر په توګه د Kubernetes څخه Ingress غوره کړی او اوس هم کاروو، کوم چې 80-90٪ اړتیاوې پوښي. دا خورا د اعتماد وړ، د تنظیم کولو او پراخولو لپاره اسانه دی. په عموم کې، د ځانګړو اړتیاو په نشتوالي کې، دا باید د ډیری کلسترونو / غوښتنلیکونو سره سمون ولري. د ورته نړیوال او نسبتا ساده محصولاتو څخه، Traefik او HAProxy سپارښتنه کیدی شي.

PS

زموږ په بلاګ کې هم ولولئ:

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

Add a comment