موږ د پوسټونو لړۍ پیل کوو چې د اسټیو خدمت میش ځینې ډیری وړتیاوې ښیې کله چې د Red Hat OpenShift او Kubernetes سره یوځای کیږي.
لومړۍ برخه، نن:
- راځئ چې د Kubernetes sidecar کانټینرونو مفهوم تشریح کړو او د دې لړۍ پوسټونو لیټ موټیف جوړ کړو: "تاسو اړتیا نلرئ په خپل کوډ کې هیڅ شی بدل کړئ".
- راځئ چې د اسټیو بنسټیز شی معرفي کړو - د روټینګ قواعد. د اسټیو نورې ټولې ب featuresې په دوی باندې رامینځته شوي ، ځکه چې دا هغه مقررات دي چې تاسو ته اجازه درکوي مایکرو خدماتو ته ترافیک مستقیم کړئ ، د خدماتو کوډ ته بهر د YAML فایلونو په کارولو سره. موږ د کانري د ځای پرځای کولو سکیم هم په پام کې نیسو. د نوي کال بونس - په اسټیو کې 10 متقابل درسونه
دویمه برخه، ډیر ژر به تاسو ته ووایم:
- اسټیو څنګه د سرکټ بریکر سره په ګډه پول ایجیکشن پلي کوي او دا به وښیې چې څنګه اسټیو تاسو ته اجازه درکوي د توازن سرکټ څخه مړ یا ضعیف فعالیت کونکي پوډ لرې کړئ.
- موږ به د لومړي پوسټ څخه د سرکټ بریکر موضوع هم وګورو ترڅو وګورو چې اسټیو دلته څنګه کارول کیدی شي. موږ به تاسو ته وښیو چې څنګه د خدماتو کوډ کې د لږ بدلون پرته د YAML ترتیب کولو فایلونو او ترمینل کمانډونو په کارولو سره ترافیک روټ کړئ او د شبکې غلطۍ اداره کړئ.
دریمه برخه:
- د تعقیب او څارنې په اړه یوه کیسه، کوم چې دمخه جوړ شوي یا په اسانۍ سره په اسټیو کې اضافه شوي. موږ به تاسو ته وښیو چې څنګه د پرومیټیوس ، جیجر ، او ګرافانا په څیر وسیلې وکاروئ د OpenShift پیمانه کولو سره په اسانۍ سره د مایکرو سرویس معمارۍ اداره کولو لپاره.
- موږ د غلطیو د څارنې او سمبالولو څخه په عمدي توګه سیسټم ته د هغوی معرفي کولو ته حرکت کوو. په بل عبارت، موږ زده کوو چې څنګه د سرچینې کوډ بدلولو پرته د غلطۍ انجیکشن ترسره کړو، کوم چې د ازموینې له نظره خورا مهم دی - ځکه چې که تاسو د دې لپاره پخپله کوډ بدل کړئ، د اضافي غلطیتونو د معرفي کولو خطر شتون لري.
په نهایت کې ، د اسټیو خدماتو میش په وروستي پوسټ کې:
- راځئ چې تیاره اړخ ته لاړ شو. په دقیق ډول ، موږ به د ډارک لانچ سکیم کارول زده کړو ، کله چې کوډ په مستقیم ډول د تولید ډیټا کې ځای په ځای شوی او ازمول کیږي ، مګر په هیڅ ډول د سیسټم عملیات اغیزه نه کوي. دا هغه ځای دی چې د ټرافیک ویشلو لپاره د اسټیو وړتیا په کار کې راځي. او پرته له دې چې په هیڅ ډول د جنګي سیسټم عملیات اغیزه وکړي د ژوندي تولید ډیټا آزموینې وړتیا د تصدیق ترټولو قانع کونکي میتود دی.
- په تیاره لانچ کې رامینځته کول ، موږ به تاسو ته وښیو چې څنګه د خطر کمولو لپاره د کانري ډیپلومینټ ماډل وکاروو او تولید ته د نوي کوډ ترلاسه کول اسانه کړو. د کانري ګمارنه پخپله له نوي څخه لرې ده ، مګر اسټیو تاسو ته اجازه درکوي دا سکیم یوازې د ساده YAML فایلونو سره پلي کړئ.
- په نهایت کې ، موږ به تاسو ته وښیو چې څنګه د اسټیو ایګریس کارولو لپاره هغه خلکو ته خدماتو ته لاسرسی ورکړئ څوک چې ستاسو له کلسترونو څخه بهر دي ترڅو د انټرنیټ سره کار کولو پرمهال د اسټیو وړتیاو څخه کار واخلي.
نو، دلته موږ ځو ...
د اسټیو نظارت او مدیریت وسیلې - هرڅه چې تاسو ورته اړتیا لرئ د خدماتو میش کې د مایکرو خدماتو تنظیم کولو ته اړتیا لرئ
د اسټیو خدمت میش څه شی دی؟
د خدماتو میش دندې پلي کوي لکه د ترافیک نظارت ، د لاسرسي کنټرول ، کشف ، امنیت ، د خطا زغم او نور ګټور شیان د خدماتو ډلې لپاره. Istio تاسو ته اجازه درکوي دا ټول د خدماتو کوډ کې د لږ بدلون پرته ترسره کړئ. د جادو راز په څه کې دی؟ اسټیو خپل پراکسي هر خدمت ته د سایډ کار کانټینر په شکل کې ضمیمه کوي (سایډ کار د موټرسایکل سایډ کار دی) ، وروسته لدې چې دې خدمت ته ټول ترافیک د پراکسي له لارې تیریږي ، کوم چې د مشخصو پالیسیو لخوا لارښود کیږي ، پریکړه کوي چې څنګه ، کله او ایا دا ترافیک باید په بشپړه توګه خدمت ته ورسیږي. اسټیو دا هم ممکنه کوي چې پرمختللي DevOps تخنیکونه پلي کړي لکه د کانري ګمارنې، سرکټ ماتونکي، غلط انجیکشن او ډیری نور.
Istio څنګه د کانټینرونو او کبرنیټ سره کار کوي
د اسټیو خدمت میش د مایکرو خدماتو رامینځته کولو او اداره کولو لپاره اړین هرڅه پلي کول دي: نظارت ، تعقیب ، سرکټ ماتونکي ، روټینګ ، د بار توازن کول ، غلط انجیکشن ، بیا هڅه کول ، وخت پای ته رسیدل ، عکس اخیستل ، د لاسرسي کنټرول ، د نرخ محدودیت او نور ډیر څه. او که څه هم نن ورځ دلته یو ټن کتابتونونه شتون لري چې دا دندې په مستقیم ډول په کوډ کې پلي کړي ، د اسټیو سره تاسو کولی شئ ټول ورته شیان ترلاسه کړئ پرته لدې چې ستاسو په کوډ کې کوم څه بدل کړئ.
د سایډکار ماډل په وینا، اسټیو د لینکس کانټینر کې چلوي، کوم چې په یو کې موقعیت لري
هغه څه چې مهم دي دا دي چې د مایکرو خدماتو عملیاتي برخه په هیڅ ډول پخپله د کوډ سره تړاو نلري، پدې معنی چې د دوی عملیات په خوندي ډول د معلوماتي ټیکنالوژۍ متخصصینو ته لیږدول کیدی شي. په حقیقت کې ، ولې پراختیا کونکی باید د سرکټ ماتونکو او غلط انجیکشن لپاره مسؤل وي؟ غبرګون، هو، مګر دوی پروسس کړئ او دوی یې جوړ کړئ؟ که تاسو دا ټول د کوډ څخه لرې کړئ، پروګرام کونکي به وکوالی شي د غوښتنلیک فعالیت باندې بشپړ تمرکز وکړي. او کوډ به پخپله لنډ او ساده شي.
د خدمت میش
اسټیو، کوم چې د دوی د کوډ څخه بهر د مایکرو خدماتو اداره کولو لپاره فعالیتونه پلي کوي، د خدماتو میش مفهوم دی. په بل عبارت، دا د یو یا ډیرو بائنریونو همغږي شوې ډله ده چې د شبکې دندو میش جوړوي.
Istio څنګه د مایکرو خدماتو سره کار کوي
دا هغه څه دي چې د سایډ کار کانټینرونو کار په ترکیب کې ښکاري
اوس تاسو کولی شئ په ترتیب کې د اسټیو تنظیمات بدل کړئ ، د مثال په توګه ، د غلط انجیکشن تنظیم کولو لپاره ، ملاتړ
او ایا تاسو به د دې لپاره خورا ګران پیسې ورکړئ؟
په بشپړ ډول نه. اسټیو خورا ګړندی دی او په کې لیکل شوی
پخپله یې ماسټر کړئ
د Red Hat پراختیا کونکي تجربې ټیم په ژوره توګه لاسونه جوړ کړي
په اسټیو کې 10 متقابل درسونه
بلاک 1 - د پیل کونکو لپاره
د اسټیو پیژندنه
د 30 دقیقې
راځئ چې د خدماتو میش سره آشنا شو، زده کړئ چې څنګه په OpenShift Kubernetes کلستر کې Istio نصب کړئ.
په اسټیو کې د مایکرو خدماتو ځای په ځای کول
د 30 دقیقې
موږ د پسرلي بوټ او Vert.x سره درې مایکرو خدماتو ځای په ځای کولو لپاره اسټیو کاروو.
بلاک 2 - منځنۍ کچه
په اسټیو کې څارنه او تعقیب
د 60 دقیقې
موږ به د اسټیو جوړ شوي د څارنې وسیلې ، دودیز میټریکونه ، او د پرومیتیس او ګرافانا له لارې OpenTracing وپلټو.
په اسټیو کې ساده لاره
د 60 دقیقې
د ساده قواعدو په کارولو سره په اسټیو کې د روټینګ اداره کولو څرنګوالي زده کړئ.
د لارې پرمختللی مقررات
د 60 دقیقې
راځئ چې د اسټیو سمارټ روټینګ ، د لاسرسي کنټرول ، د بار توازن او نرخ محدودیت ته یو نظر وګورو.
بلاک 3 - پرمختللی کارن
په اسټیو کې غلط انجیکشن
د 60 دقیقې
موږ په توزیع شوي غوښتنلیکونو کې د ناکامۍ اداره کولو سناریوګانې مطالعه کوو ، د HTTP غلطۍ رامینځته کول او د شبکې ځنډونه ، او د چاپیریال بیا رغولو لپاره د ګډوډي انجینرۍ کارول زده کوو.
په اسټیو کې د سرکټ بریکر
د 30 دقیقې
موږ د فشار ازموینې سایټونو لپاره محاصره نصب کوو او زده کوو چې څنګه د بیا پیل کولو ، سرکټ بریکر او پول انجیکشن په کارولو سره د شاتنۍ غلطۍ زغم ډاډمن کړو.
Egress او Istio
د 10 دقیقې
موږ د خارجي APIs او خدماتو سره د داخلي خدماتو متقابل عمل لپاره قواعد رامینځته کولو لپاره د Egress لارې کاروو.
Istio او Kiali
د 15 دقیقې
د کیالي کارولو زده کړئ ترڅو د خدماتو میش عمومي لید ترلاسه کړئ او د غوښتنې او ډیټا جریان وپلټئ.
په اسټیو کې دوه اړخیز TLS
د 15 دقیقې
موږ د اسټیو ګیټ وے او مجازی خدمت رامینځته کوو ، بیا موږ دوه اړخیز TLS (mTLS) او د هغې تنظیمات په تفصیل سره مطالعه کوو.
بلاک 3.1 - ژور ډوب: د مایکرو خدماتو لپاره د اسټیو خدمت میش
کتاب څه شی دی:
- د خدمت میش څه شی دی؟
- د اسټیو سیسټم او د مایکرو سرویس معمارۍ کې د هغې رول.
- د لاندې ستونزو د حل لپاره د اسټیو کارول:
- د خطا زغم؛
- لاره اچول
- د ګډوډۍ ازموینه؛
- امنیت؛
- د ټریسونو، میټریکونو او ګرافانا په کارولو سره د ټیلی میټري راټولول.
د خدماتو میشونو او اسټیو په اړه د مقالو لړۍ
د اسټیو روټینګ قواعد: د خدماتو غوښتنې لارښود کول چیرې چې دوی ورته اړتیا لري په اسیو کې د سرکټ ماتونکي: د حوض انجیکشن اداره کول په اسټیو کې سرکټ بریکر: کله چې ناکامي یو اختیار وي په اسټیو کې تعقیب او څارنه: چیرې چې هرڅه حرکت کوي او څومره ژر په اسټیو کې ګډوډي انجینري: دا څنګه اراده وه په اسټیو کې تیاره لانچ: پټ خدمتونه په اسټیو کې د کانري ګمارل: د کمیسیون کولو ساده کول اسټیو ایګریس: د سووینیر پلورنځي له لارې وتل
دا پخپله هڅه وکړئ
د پوسټونو دا لړۍ د اسټیو نړۍ کې ژور ډوبولو لپاره ندي. موږ یوازې غواړو تاسو مفهوم ته معرفي کړو او شاید تاسو ته وهڅوئ چې د ځان لپاره اسټیو هڅه وکړئ. دا په بشپړه توګه وړیا ده، او Red Hat ټول هغه وسیلې چمتو کوي چې تاسو یې د OpenShift، Kubernetes، Linux کانټینرونو، او Istio سره پیل کولو ته اړتیا لرئ، په شمول:
د اسټیو روټینګ قواعد: د خدماتو غوښتنې لارښود کول چیرې چې دوی ورته اړتیا لري
د روټینګ قواعد هغه قواعد دي چې په حقیقت کې د لارې انتخاب ټاکي. د سیسټم پیچلتیا کچې ته په پام سره، د دې مقرراتو عمومي عملیاتي اصول ساده پاتې دي: غوښتنې د ځانګړو پیرامیټونو او HTTP سرلیک ارزښتونو پراساس لیږدول کیږي.
راځئ چې مثالونه وګورو:
Kubernetes ډیفالټ: کوچنی "50/50"
زموږ په مثال کې، موږ به وښیو چې څنګه په OpenShift کې د مایکرو سرویس دوه نسخې په یو وخت کې وکاروو، راځئ چې دوی ته v1 او v2 ووایو. هره نسخه په خپل Kubernetes پوډ کې پرمخ ځي، او د ډیفالټ په واسطه دا په مساوي ډول متوازن راؤنډ رابین روټینګ پرمخ وړي. هر پوډ د خپلو مایکرو سرویس مثالونو د شمیر پراساس د غوښتنو برخه ترلاسه کوي ، په بل عبارت ، نقلونه. Istio تاسو ته اجازه درکوي چې دا توازن په لاسي ډول بدل کړئ.
راځئ چې ووایو موږ په OpenShift کې زموږ د سپارښتنې خدماتو دوه نسخې ځای پرځای کړې، سپارښتنې-v1 او سپارښتنه-v2.
په انځور کې. شکل 1 ښیي کله چې هر خدمت په یوه مثال کې ښودل کیږي، د دوی تر منځ په مساوي ډول د بدیل غوښتنه کوي: 1-2-1-2-... دا څنګه د کوبرنیټس روټینګ په ډیفالټ کار کوي:
د نسخو تر منځ وزن لرونکی ویش
په انځور کې. شکل 2 ښیې چې څه پیښیږي که تاسو د v2 خدماتو نقلونو شمیر له یو څخه دوه ته لوړ کړئ (دا د oc پیمانې سره ترسره کیږي — replicas=2 ځای پرځای کول/سپارښتنه-v2 کمانډ). لکه څنګه چې تاسو لیدلی شئ، د v1 او v2 ترمنځ غوښتنې اوس د یو څخه تر دریو تناسب ویشل شوي دي: 1-2-2-1-2-2-…:
د اسټیو په کارولو سره نسخه له پامه غورځول
اسټیو دا اسانه کوي چې د غوښتنو توزیع په هغه طریقه بدل کړو چې موږ ورته اړتیا لرو. د مثال په توګه، ټول ټرافیک یوازې د سپارښتنې-v1 ته د لاندې Istio yaml فایل په کارولو سره واستوئ:
دلته تاسو باید دې ته پاملرنه وکړئ: پوډونه د لیبلونو سره سم غوره شوي. زموږ مثال لیبل v1 کاروي. د "وزن: 100" پیرامیټر پدې معنی دی چې 100٪ ترافیک به ټولو خدماتو پوډونو ته لیږدول کیږي چې د v1 لیبل لري.
د نسخو ترمنځ لارښود ویش (د کانري ګمارنه)
بیا ، د وزن پیرامیټر په کارولو سره ، تاسو کولی شئ دواړه پوډونو ته ترافیک مستقیم کړئ ، په هر یو کې د چلولو د مایکرو سرویس مثالونو شمیر په پام کې نیولو سره. د مثال په توګه، دلته موږ د ټرافیک 90٪ v1 ته او 10٪ v2 ته لارښوونه کوو:
د ګرځنده کاروونکو لپاره جلا لاره
په پایله کې، موږ به وښیو چې څنګه د ګرځنده کاروونکي ترافیک مجبور کړو چې خدمت v2 ته واستول شي، او هرڅوک v1 ته. د دې کولو لپاره، موږ د غوښتنې سرلیک کې د کارونکي اجنټ ارزښت تحلیل کولو لپاره منظم بیانونه کاروو:
اوس ستاسو وار دی
د سرلیکونو د پارس کولو لپاره د منظم بیانونو مثال باید تاسو هڅوي چې د اسټیو روټینګ مقرراتو خپل کارونې ومومئ. سربیره پردې ، دلته امکانات خورا پراخه دي ، ځکه چې د سرلیک ارزښتونه د غوښتنلیک سرچینې کوډ کې رامینځته کیدی شي.
او په یاد ولرئ چې Ops، نه دیو
هرڅه چې موږ په پورته مثالونو کې ښودلي د سرچینې کوډ کې د لږ بدلون پرته ترسره کیږي، ښه، پرته له هغه قضیو څخه چې د ځانګړي غوښتنې سرلیکونو رامینځته کولو ته اړتیا وي. Istio به د پراختیا کونکو لپاره دواړه ګټور وي، څوک چې د بیلګې په توګه، د ازموینې په مرحله کې د کارولو وړ وي، او د IT سیسټمونو په عملیاتو کې متخصصینو ته، د چا لپاره چې دا به په تولید کې ډیره مرسته وکړي.
نو راځئ چې د دې لړۍ پوسټونو لیټموټیف تکرار کړو: تاسو اړتیا نلرئ په خپل کوډ کې هیڅ شی بدل کړئ. د نوي عکسونو جوړولو یا نوي کانټینرونو پیل کولو ته اړتیا نشته. دا ټول د کوډ څخه بهر پلي کیږي.
خپل تخیل وکاروئ
یوازې د منظم بیانونو په کارولو سره د سرلیک تحلیل امکانات تصور کړئ. غواړئ خپل لوی پیرودونکي ستاسو ځانګړي نسخې ته واستوئ
دا پخپله هڅه وکړئ
د اسټیو ، کبرنیټس او اوپن شیفټ په اړه لوستل یو شی دی ، مګر ولې هرڅه پخپله نه لمس کوئ؟ ټیم
په راتلونکي پوسټ کې: موږ ستونزې په ښکلي ډول حل کوو
نن تاسو ولیدل چې د اسټیو روټینګ قواعد څه کولی شي. اوس ورته شی تصور کړئ، مګر یوازې د غلطۍ سمبالولو په تړاو. دا دقیقا هغه څه دي چې موږ به یې په راتلونکي پوسټ کې خبرې وکړو.
سرچینه: www.habr.com