په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ

په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ
د Kubernetes په بشپړ ډول ماسټر کولو لپاره، تاسو اړتیا لرئ چې د کلستر سرچینو اندازه کولو لپاره مختلفې لارې وپیژنئ: لخوا د سیسټم پراختیا کونکو په وینادا د Kubernetes یو له مهمو دندو څخه دی. موږ د افقی او عمودی اتوماتیک کولو او د کلستر بیا راژوندي کولو میکانیزمونو په اړه د لوړې کچې عمومي کتنه چمتو کړې، او همدارنګه د دوی د اغیزمن کارولو څرنګوالي په اړه سپارښتنې.

مقاله Kubernetes Autoscaling 101: د کلستر آټوسکلر، افقی آټو سکیلر، او عمودی پوډ آټو سکیلر د ټیم لخوا ژباړل شوی چې په اتوماتیک ډول یې پلي کړی Kubernetes aaS له Mail.ru څخه.

ولې د اندازه کولو په اړه فکر کول مهم دي

کوبنیټس - د سرچینو مدیریت او آرکیسټریشن لپاره وسیله. البته، دا ښه ده چې د پوډونو د ځای پرځای کولو، څارنې او اداره کولو په زړه پورې ځانګړتیاوو سره ټینکر وکړئ (یو پوډ د کانټینرونو یوه ډله ده چې د غوښتنې په ځواب کې پیل کیږي).

په هرصورت، تاسو باید د لاندې پوښتنو په اړه هم فکر وکړئ:

  1. څنګه ماډلونه او غوښتنلیکونه اندازه کړئ؟
  2. څنګه کانتینرونه فعال او موثر وساتل شي؟
  3. د کاروونکو څخه د کوډ او کاري بارونو دوامداره بدلونونو ته څنګه ځواب ووایی؟

د منابعو او فعالیت د توازن لپاره د Kubernetes کلسترونو ترتیب کول ستونزمن کیدی شي او د Kubernetes د داخلي کارونو متخصص پوهه ته اړتیا لري. ستاسو د غوښتنلیک یا خدماتو کاري بار کولی شي د ورځې په اوږدو کې یا حتی د یو ساعت په اوږدو کې بدلون ومومي، نو توازن د یوې روانې پروسې په توګه غوره ګڼل کیږي.

Kubernetes د اتوماتیک کولو کچه

اغیزمن اتوماتیک کول د دوو کچو ترمنځ همغږي ته اړتیا لري:

  1. د پوډ کچه، په شمول افقی (افقی پوډ آټوسکلر، HPA) او عمودی آټوکیلر (عمودی پوډ آټوسکلر، VPA). دا ستاسو د کانټینرونو لپاره د شته سرچینو اندازه کول دي.
  2. د کلستر کچه، چې د کلستر آټوسکلر (CA) لخوا اداره کیږي، کوم چې په کلستر کې د نوډونو شمیر زیاتوي یا کموي.

افقی آټوسکلر (HPA) ماډل

لکه څنګه چې نوم وړاندیز کوي، HPA د پوډ نقلونو شمیر اندازه کوي. ډیری ډیوپس د نقلونو شمیر بدلولو لپاره د محرک په توګه CPU او د حافظې بار کاروي. په هرصورت، دا ممکنه ده چې د سیسټم پر بنسټ اندازه کړئ دودیز میترونه، د دوی ترکیبونه یا حتی بهرني میټریکونه.

د لوړې کچې HPA عملیاتي ډیاګرام:

  1. HPA په دوامداره توګه د 30 ثانیو په ډیفالټ وقفه کې د نصب کولو پرمهال مشخص شوي میټریک ارزښتونه چیک کوي.
  2. HPA هڅه کوي د ماډلونو شمیر زیات کړي که چیرې ټاکل شوي حد ته ورسیږي.
  3. HPA د ځای په ځای کولو / نقل کنټرولر کې د عکسونو شمیر تازه کوي.
  4. د ځای په ځای کولو / نقل کولو کنټرولر بیا کوم اړین اضافي ماډلونه ځای په ځای کوي.

په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ
HPA د ماډل پلي کولو پروسه پیل کوي کله چې میټریک حد ته ورسیږي

کله چې د HPA کاروئ، لاندې په پام کې ونیسئ:

  • د ډیفالټ HPA چیک وقفه 30 ثانیې ده. دا د بیرغ لخوا تنظیم شوی افقي-پوډ-آټوسکلر-همغږي-دوره په کنټرولر مدیر کې.
  • اصلي نسبي تېروتنه 10٪ ده.
  • د ماډلونو په شمیر کې د وروستي زیاتوالي وروسته، HPA تمه لري چې میټریکونه په دریو دقیقو کې ثبات ومومي. دا وقفه د بیرغ لخوا ټاکل کیږي افقي-پوډ-آټوسکلر-اپسکل-ځنډ.
  • د ماډلونو په شمیر کې د وروستي کمښت وروسته، HPA د ثبات لپاره پنځه دقیقې انتظار کوي. دا وقفه د بیرغ لخوا ټاکل کیږي افقی-پوډ-آټوسکلر-ډون سکیل-ځنډ.
  • HPA د نقل کولو کنټرولرونو پرځای د ځای په ځای کولو توکو سره غوره کار کوي. افقی اتوماتیک کول د رولینګ تازه کولو سره مطابقت نلري، کوم چې په مستقیم ډول د نقل کولو کنټرولرونه سمبالوي. د ګمارلو سره، د نقلونو شمیر په مستقیم ډول د ځای پرځای کولو توکو پورې اړه لري.

د پوډونو عمودی اتوماتیک کول

عمودی اتوماتیک کول (VPA) موجوده پوډونو ته ډیر (یا لږ) CPU وخت یا حافظه تخصیص کوي. د دولتي یا بې ریاسته پوډونو لپاره مناسب، مګر په عمده توګه د دولتي خدماتو لپاره. په هرصورت، تاسو کولی شئ د بې ریاست ماډلونو لپاره VPA هم وکاروئ که تاسو اړتیا لرئ په اوتومات ډول د ابتدايي تخصیص شوي سرچینو مقدار تنظیم کړئ.

VPA د OOM (د حافظې څخه بهر) پیښو ته هم ځواب ورکوي. د CPU وخت او حافظې بدلول د پوډونو بیا پیلولو ته اړتیا لري. کله چې بیا پیل شي، VPA د تخصیص بودیجې درناوی کوي (د پوډونو ویش بودیجه، PDB) د ماډلونو لږترلږه اړین شمیر تضمین کولو لپاره.

تاسو کولی شئ د هر ماډل لپاره لږترلږه او اعظمي سرچینې تنظیم کړئ. پدې توګه ، تاسو کولی شئ د تخصیص شوي حافظې اعظمي اندازه 8 GB ته محدود کړئ. دا ګټور دی که چیرې اوسني نوډونه یقینا نشي کولی په هر کانټینر کې له 8 GB څخه ډیر حافظه تخصیص کړي. تفصیلي مشخصات او عملیاتي میکانیزم په کې تشریح شوي رسمي VPA ويکي.

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

دا د یادونې وړ ده چې د VPA وړاندیز کونکي د سرچینې "حد" نه تعقیبوي. دا کیدای شي په نوډونو کې د ماډل انحصاري سرچینو پایله وي. دا غوره ده چې د نوم ځای په کچه حد وټاکئ ترڅو د لوی حافظې یا CPU مصرف څخه مخنیوی وشي.

د لوړې کچې VPA عملیات سکیم:

  1. VPA په دوامداره توګه د 10 ثانیو په ډیفالټ وقفه کې د نصب کولو پرمهال مشخص شوي میټریک ارزښتونه چیک کوي.
  2. که چیرې ټاکل شوي حد ته ورسیږي، VPA هڅه کوي د سرچینو تخصیص شوي مقدار بدل کړي.
  3. VPA د ځای په ځای کولو / نقل کولو کنټرولر کې د سرچینو شمیر تازه کوي.
  4. کله چې ماډلونه بیا پیل شي، ټولې نوې سرچینې په رامینځته شوي مثالونو کې پلي کیږي.

په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ
VPA د اړتیا وړ سرچینې اضافه کوي

مهرباني وکړئ لاندې ټکي په ذهن کې وساتئ کله چې د VPA کاروئ:

  • اندازه کول د پوډ لازمي بیا پیل ته اړتیا لري. دا اړینه ده چې د بدلونونو وروسته د بې ثباته عملیاتو څخه مخنیوی وشي. د اعتبار لپاره، ماډلونه بیا پیل شوي او په نوډونو کې د نوي تخصیص شویو سرچینو پر بنسټ ویشل شوي.
  • VPA او HPA لا تر اوسه د یو بل سره مطابقت نلري او نشي کولی په ورته پوډونو کې وګرځي. که تاسو په ورته کلستر کې دواړه د پیمانه کولو میکانیزمونه کاروئ، ډاډ ترلاسه کړئ چې ستاسو ترتیبات په ورته شیانو کې د فعالولو مخه نیسي.
  • VPA یوازې د تیرو او اوسني کارونې پراساس د سرچینو لپاره د کانټینر غوښتنې غوښتنه کوي. دا د سرچینو کارولو محدودیت نه ټاکلی. د غوښتنلیکونو په سمه توګه کار نه کولو کې ستونزې شتون لري او د ډیرو سرچینو په اخیستلو پیل کوي، دا به د دې لامل شي چې Kubernetes دا پوډ بند کړي.
  • VPA لاهم د پراختیا په لومړي مرحله کې دی. چمتو اوسئ چې سیسټم ممکن په نږدې راتلونکي کې ځینې بدلونونه راولي. تاسو کولی شئ په اړه ولولئ پیژندل شوي محدودیتونه и پرمختیایي پلانونه. په دې توګه، د VPA او HPA ګډ عملیات پلي کولو پالنونه شتون لري، او همدارنګه د دوی لپاره د عمودی اتوماتیک کولو پالیسۍ سره د ماډلونو ځای پرځای کول (د مثال په توګه، یو ځانګړی لیبل 'VPA ته اړتیا لري').

د Kubernetes کلستر اتوماتیک کول

کلستر آټوسکلر (CA) د انتظار پوډونو شمیر پراساس د نوډونو شمیر بدلوي. سیسټم په دوره توګه د پاتې ماډلونو لپاره معاینه کوي - او د کلستر اندازه زیاتوي که چیرې ډیرو سرچینو ته اړتیا وي او که کلستر د ټاکل شوي حد څخه ډیر نه وي. CA د کلاوډ خدمت چمتو کونکي سره اړیکه نیسي ، له دې څخه اضافي نوډونه غوښتنه کوي ، یا بې کاره خوشې کوي. د CA لومړۍ عمومي نسخه په Kubernetes 1.8 کې معرفي شوه.

د SA عملیات د لوړې کچې سکیم:

  1. CA د 10 ثانیو په ډیفالټ وقفه کې د پاتې ماډلونو لپاره چک کوي.
  2. که چیرې یو یا څو پوډونه په سټنډرډ حالت کې وي ځکه چې کلستر د دوی د تخصیص لپاره کافي سرچینې نلري، دا هڅه کوي چې یو یا څو اضافي نوډونه چمتو کړي.
  3. کله چې د کلاوډ خدمت چمتو کونکی اړین نوډ تخصیص کړي، دا کلستر سره یوځای کیږي او د پوډونو خدمت کولو لپاره چمتو دی.
  4. د Kubernetes مهالویش کونکی نوي نوډ ته پاتې پوډونه توزیع کوي. که له دې وروسته ځینې ماډلونه لاهم د انتظار په حالت کې پاتې شي، پروسه تکرار کیږي او نوي نوډونه په کلستر کې اضافه کیږي.

په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ
په بادل کې د کلستر نوډونو اتوماتیک چمتو کول

د CA کارولو پر مهال لاندې ټکي په پام کې ونیسئ:

  • CA ډاډ ورکوي چې په کلستر کې ټول پوډونه د چلولو لپاره خونه لري، پرته له دې چې CPU بار وي. دا هم هڅه کوي چې ډاډ ترلاسه کړي چې په کلستر کې هیڅ غیر ضروري نوډونه شتون نلري.
  • CA د نږدې 30 ثانیو وروسته اندازه کولو اړتیا ثبتوي.
  • یوځل چې نوډ ته نور اړتیا ونلري ، CA ډیفالټ د سیسټم سکیل کولو دمخه 10 دقیقې انتظار کوي.
  • د اتوماتیک کولو سیسټم د پراخیدونکو مفهوم لري. دا د نوډونو ګروپ غوره کولو لپاره مختلف ستراتیژۍ دي چې نوي نوډونه به اضافه شي.
  • اختیار په مسؤلیت سره وکاروئ cluster-autoscaler.kubernetes.io/safe-to-evict (ریښتیا). که تاسو ډیری پوډونه نصب کړئ، یا که ډیری یې په ټولو نوډونو کې ویشل شوي وي، تاسو به په لویه کچه د کلستر اندازه کولو وړتیا له لاسه ورکړئ.
  • کارول PodDisruptionBudgetsد پوډونو د حذف کیدو مخه نیولو لپاره ، کوم چې ستاسو د غوښتنلیک برخې په بشپړ ډول ماتیدو لامل کیدی شي.

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

د کامل همغږي لپاره، اتوماتیک کول باید د پوډ په کچه (HPA/VPA) او د کلستر په کچه پلي شي. دوی یو له بل سره نسبتا ساده اړیکه لري:

  1. HPAs یا VPAs د پوډ نقلونه تازه کوي یا موجوده پوډونو ته تخصیص شوي سرچینې.
  2. که چیرې د پلان شوي اندازه کولو لپاره کافي نوډونه شتون ونلري، CA په انتظار حالت کې د پوډونو شتون په ګوته کوي.
  3. CA نوي نوډونه تخصیص کوي.
  4. ماډلونه نوي نوډونو ته ویشل شوي.

په کبرنیټس کې د اتوماتیک کولو درې کچې: دا څنګه په مؤثره توګه وکاروئ
د کوبرنیټس سکیل آوټ سیسټم همکاري

د Kubernetes اتوماتیک کولو کې عام غلطی

ډیری عام ستونزې شتون لري چې د اتوماتیک کولو پلي کولو هڅه کولو په وخت کې پیښیږي.

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

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

غوره سناریو - 4 دقیقې:

  1. 30 ثانیې. د هدف میټریک تازه کړئ: 30-60 ثانیې.
  2. 30 ثانیې. HPA د میټریک ارزښتونه چک کوي: 30 ثانیې.
  3. د 2 ثانیو څخه لږ. پوډونه جوړ شوي او د انتظار حالت ته ځي: 1 ثانیه.
  4. د 2 ثانیو څخه لږ. CA د انتظار ماډلونه ګوري او د چمتو کولو نوډونو ته زنګونه لیږي: 1 ثانیه.
  5. 3 دقیقې. د بادل چمتو کونکی نوډونه تخصیص کوي. K8s تر هغه وخته پورې انتظار کوي چې دوی چمتو وي: تر 10 دقیقو پورې (په څو فکتورونو پورې اړه لري).

تر ټولو بد حالت (ډیر واقعیت لرونکی) سناریو - 12 دقیقې:

  1. 30 ثانیې. د هدف میټریکونه تازه کړئ.
  2. 30 ثانیې. HPA د میټریک ارزښتونه ګوري.
  3. د 2 ثانیو څخه لږ. پوډونه جوړ شوي او د سټنډرډ حالت ته ننوځي.
  4. د 2 ثانیو څخه لږ. CA د انتظار ماډلونه ګوري او د نوډونو چمتو کولو لپاره زنګ وهي.
  5. 10 دقیقې. د بادل چمتو کونکی نوډونه تخصیص کوي. K8s انتظار کوي تر هغه چې دوی چمتو وي. د انتظار وخت په ډیری فکتورونو پورې اړه لري، لکه د پلورونکي ځنډ، د OS ځنډ، او د ملاتړ وسیلې.

زموږ د CA سره د کلاوډ چمتو کونکو اندازه کولو میکانیزمونه ګډوډ مه کوئ. وروستنی د Kubernetes کلستر دننه پرمخ ځي، پداسې حال کې چې د کلاوډ چمتو کونکي انجن د نوډ ویش پر بنسټ کار کوي. دا نه پوهیږي چې ستاسو د پوډ یا غوښتنلیک سره څه تیریږي. دا سیسټمونه په موازي توګه کار کوي.

په کبرنیټس کې د سکیلینګ اداره کولو څرنګوالی

  1. Kubernetes د سرچینو مدیریت او آرکیسټریشن وسیله ده. د پوډونو او کلستر سرچینو اداره کولو لپاره عملیات د کوبرنیټس ماسټر کولو کې یو مهم پړاو دی.
  2. د HPA او VPA په پام کې نیولو سره د پوډ توزیع کولو منطق درک کړئ.
  3. CA باید یوازې وکارول شي که تاسو د خپلو پوډونو او کانټینرونو اړتیاو ښه پوهه لرئ.
  4. د کلستر په غوره توګه تنظیم کولو لپاره، تاسو اړتیا لرئ پوه شئ چې څنګه مختلف سکیلینګ سیسټمونه یوځای کار کوي.
  5. کله چې د اندازه کولو وخت اټکل کړئ، د بدترین حالت او غوره قضیې سناریو په ذهن کې وساتئ.

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

Add a comment