د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

د Kubernetes غوره کړنې. د کوچنیو کانتینرونو جوړول
د Kubernetes غوره کړنې. د نوم ځای سره د Kubernetes تنظیم
د Kubernetes غوره کړنې. د چمتووالي او ژوندۍ ازموینو سره د کبرنیټس ژوندانه تایید کول

د هرې Kubernetes سرچینې لپاره، تاسو کولی شئ دوه ډوله اړتیاوې ترتیب کړئ - غوښتنې او محدودیتونه. لومړی د کانټینر یا پوډ چلولو لپاره اړین وړیا نوډ سرچینو شتون لپاره لږترلږه اړتیاوې بیانوي ، دوهم په کلکه کانټینر ته موجود سرچینې محدودوي.

کله چې کوبرنیټس پوډونه مهالویش کوي، نو دا خورا مهمه ده چې کانټینرونه د سم کار کولو لپاره کافي سرچینې ولري. که تاسو پلان لرئ چې د سرچینې محدود نوډ کې لوی غوښتنلیک ځای په ځای کړئ ، نو امکان لري چې دا به ونه چلیږي ځکه چې نوډ په حافظه کې ټیټ دی یا د CPU بریښنا پای ته رسیدلې. پدې مقاله کې، موږ به وګورو چې تاسو څنګه کولی شئ د سرچینو غوښتنې او محدودیتونو په کارولو سره د کمپیوټري بریښنا کمښت حل کړئ.

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

په پوډ کې هر کانټینر کولی شي خپلې پوښتنې او حدود وټاکي، دا ټول اضافه دي. د پروسیسر سرچینې په ملیکورونو کې تعریف شوي. که ستاسو کانټینر د چلولو لپاره دوه بشپړ کور ته اړتیا ولري، تاسو ارزښت 2000m ته وټاکئ. که کانټینر یوازې د کور 1/4 بریښنا ته اړتیا ولري، ارزښت به 250m وي. په یاد ولرئ چې که تاسو د CPU سرچینې ارزښت د لوی نوډ د کور شمیر څخه ډیر وټاکئ، ستاسو پوډ به د پیل کولو لپاره ټاکل شوي نه وي. ورته حالت به پیښ شي که تاسو یو پوډ ولرئ چې څلور کورونو ته اړتیا لري ، او د کوبرنیټس کلستر یوازې دوه اصلي مجازی ماشینونه لري.

تر هغه چې ستاسو غوښتنلیک په ځانګړي ډول د ډیری کورونو څخه ګټه پورته کولو لپاره ډیزاین شوی وي (پروګرامونه لکه پیچلي ساینسي کمپیوټري او ډیټابیس عملیات په ذهن کې راځي) ، نو غوره عمل دا دی چې د CPU غوښتنې 1 یا ټیټ ته تنظیم کړئ او بیا د توزیع کولو لپاره نور عکس العملونه پرمخ وړئ. دا حل به سیسټم ته ډیر انعطاف او اعتبار ورکړي.

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

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

دا مهمه ده چې په یاد ولرئ چې تاسو نشئ کولی هغه غوښتنې تنظیم کړئ چې ستاسو د نوډونو چمتو کولو سرچینو څخه ډیر وي. د GKE مجازی ماشینونو لپاره د شریکې سرچینې مشخصات د دې ویډیو لاندې لینکونو کې موندل کیدی شي.

په یوه مثالي نړۍ کې، د کانټینر ډیفالټ ترتیبات به د کار جریان په سمه توګه پرمخ وړلو لپاره کافي وي. مګر ریښتینې نړۍ داسې نه ده، خلک کولی شي په اسانۍ سره د سرچینو کارولو ترتیب کول هیر کړي، یا هیکرز به غوښتنې او محدودیتونه وټاکي چې د زیربنا له اصلي ظرفیت څخه ډیر وي. د دې لپاره چې د داسې سناریوګانو مخه ونیول شي، تاسو کولی شئ د ResourceQuota او LimitRange د سرچینو کوټې تنظیم کړئ.

یوځل چې د نوم ځای رامینځته شو ، دا د کوټا په کارولو سره بلاک کیدی شي. د مثال په توګه، که تاسو د پروډ او دیو نوم ځایونه لرئ، نو بیلګه یې دا ده چې په هیڅ ډول د تولید کوټې شتون نلري او خورا سخت پرمختیایي کوټې شتون لري. دا پروډ ته اجازه ورکوي چې په ټرافیک کې د تیز زیاتوالي په صورت کې، ټولې موجودې سرچینې په لاس کې واخلي، په بشپړ ډول د dev مخه ونیسي.

د سرچینې کوټه ممکن داسې ښکاري. پدې مثال کې 4 برخې شتون لري - دا د کوډ 4 لاندې کرښې دي.

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

راځئ چې هر یو یې وګورو. Requests.cpu د ګډ CPU غوښتنو اعظمي شمیر دی چې د نوم ځای کې له ټولو کانټینرونو څخه راځي. په دې مثال کې، تاسو کولی شئ 50 کانټینرونه د 10m غوښتنې سره، پنځه کانټینرونه د 100m غوښتنو سره، یا یوازې یو کانټینر د 500m غوښتنو سره. تر هغه چې د ورکړل شوي نوم ځای د requests.cpu ټولټال شمیر له 500m څخه کم وي، هرڅه به سم وي.

د یادښت غوښتنه شوې غوښتنې. میموري د یادښت غوښتنې اعظمي اندازه ده چې په نوم ځای کې ټول کانټینرونه لري. لکه څنګه چې د تیرې قضیې په څیر، تاسو کولی شئ 50 2 mib کانټینرونه، پنځه 20 mib کانتینرونه، یا یو واحد 100 mib کانتینر ولرئ تر هغه چې په نوم ځای کې د غوښتل شوي حافظې ټول مقدار له 100 میبیبایټ څخه کم وي.

Limits.cpu د CPU بریښنا اعظمي ګډ مقدار دی چې په نوم ځای کې ټول کانټینرونه یې کارولی شي. موږ کولی شو دا د پروسیسر بریښنا غوښتنو محدودیت په پام کې ونیسو.

په نهایت کې ، limits.memory د شریک شوي حافظې اعظمي مقدار دی چې په نوم ځای کې ټول کانټینرونه یې کارولی شي. دا د ټول حافظې غوښتنو محدودیت دی.
نو، د ډیفالټ په واسطه، د کوبرنیټس کلستر کې کانټینرونه د لامحدود کمپیوټري سرچینو سره پرمخ ځي. د سرچینو کوټو سره، د کلستر مدیران کولی شي د نوم ځای پراساس د سرچینو مصرف او د سرچینو رامینځته کول محدود کړي. په نوم ځای کې، یو پوډ یا کانټینر کولی شي د CPU ځواک او حافظه مصرف کړي څومره چې د نوم ځای سرچینې کوټې لخوا ټاکل شوي. په هرصورت، دا اندیښنه شتون لري چې یو پوډ یا کانټینر ممکن ټولې موجودې سرچینې انحصار کړي. د دې وضعیت د مخنیوي لپاره، د حد حد کارول کیږي - په نوم ځای کې د سرچینو تخصیص (د پوډونو یا کانټینرونو لپاره) محدودولو لپاره پالیسي.

د حد حد محدودیتونه وړاندې کوي چې کولی شي:

  • په نوم ځای کې د هر ماډل یا کانټینر لپاره د کمپیوټري سرچینو لږترلږه او اعظمي کارول ډاډمن کړئ؛
  • په نوم ځای کې د هر دوامداره حجم کلیم لپاره لږترلږه او اعظمي سټارج غوښتنه د ذخیره کولو غوښتنې پلي کول؛
  • په نوم ځای کې د سرچینې لپاره د غوښتنې او محدودیت ترمینځ اړیکه پلي کول؛
  • په نوم ځای کې د محاسبې سرچینو لپاره ډیفالټ غوښتنې/محدودونه وټاکئ او په اتوماتيک ډول یې د چلولو په وخت کې کانټینرونو کې داخل کړئ.

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

د تیرې قضیې په څیر، دلته 4 برخې توپیر کیدی شي. راځئ چې هر یو ته وګورو.
ډیفالټ برخه په پوډ کې د کانټینر لپاره ډیفالټ حدونه ټاکي. که تاسو دا ارزښتونه خورا خورا حد ته وټاکئ، نو هر هغه کانټینرونه چې دا ارزښتونه یې په واضح ډول ندي ټاکل شوي د ډیفالټ ارزښتونو پیروي کوي.

د ډیفالټ غوښتنې برخه defaultRequest په پوډ کې د کانټینر لپاره ډیفالټ غوښتنې تنظیموي. یوځل بیا ، که تاسو دا ارزښتونه خورا خورا حد ته تنظیم کړئ ، نو کوم کانټینرونه چې دا اختیارونه په واضح ډول نه تنظیموي دا ارزښتونو ته به ډیفالټ شي.

اعظمي برخه اعظمي حدونه مشخص کوي چې په پوډ کې د کانټینر لپاره ټاکل کیدی شي. په ډیفالټ برخه کې ارزښتونه او د کانټینر حدود د دې حد څخه پورته نشي تنظیم کیدی. دا مهمه ده چې په یاد ولرئ که چیرې ارزښت اعظمي ته ټاکل شوی وي او هیڅ ډیفالټ برخه شتون نلري ، نو اعظمي ارزښت ډیفالټ ارزښت کیږي.

د دقیقې برخه لږترلږه غوښتنې مشخصوي چې په پوډ کې د کانټینر لپاره ټاکل کیدی شي. په هرصورت، په ډیفالټ برخه کې ارزښتونه او د کانټینر لپاره پوښتنې د دې حد لاندې نشي تنظیم کیدی.

بیا بیا، دا مهمه ده چې یادونه وکړو چې که دا ارزښت ټاکل شوی وي، ډیفالټ نه وي، نو لږترلږه ارزښت د ډیفالټ پرامپټ کیږي.

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

Kubernetes به وګوري چې ایا نوډ 1 د پوډ کانټینرونو غوښتنې پوره کولو لپاره کافي سرچینې لري ، او که دا نه وي ، نو دا به راتلونکي نوډ ته لاړ شي. که چیرې په سیسټم کې هیڅ یو نوډ د غوښتنې پوره کولو توان ونلري ، پوډونه به پاتې حالت ته لاړ شي. د ګوګل Kubernetes انجن ب featuresو کارول لکه د نوډ آټوسکلینګ ، GKE کولی شي په اوتومات ډول د انتظار حالت کشف کړي او څو نور اضافي نوډونه رامینځته کړي.

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

د Kubernetes غوره کړنې. د سرچینو غوښتنې او محدودیتونه تنظیم کول

لکه څنګه چې ما وویل، کله چې دا CPU ته راځي، Kubernetes به د پوډونو محدودیت پیل کړي. هر پوډ به هرڅومره ترلاسه کړي څومره چې یې غوښتنه کړې ، مګر که دا حد ته ونه رسي ، د تخته کول به پیل شي.

کله چې دا د حافظې سرچینو ته راځي ، کوبرنیټس دې ته اړ کیږي چې پریکړه وکړي چې کوم پوډونه حذف کړي او کوم یې وساتي تر هغه چې تاسو د سیسټم سرچینې خلاصې نه کړئ یا ټول سیسټم به خراب شي.

راځئ چې یوه سناریو تصور کړو چیرې چې تاسو یو ماشین له حافظې څخه تیریږي - کوبرنیټس به دا څنګه اداره کړي؟

Kubernetes به هغه پوډونه وګوري چې د غوښتنې په پرتله ډیرې سرچینې کاروي. نو که ستاسو کانټینرونه هیڅ ډول غوښتنې نلري ، پدې معنی چې دوی د دوی غوښتنه کولو څخه ډیر کارولو لپاره غلط دي ، په ساده ډول ځکه چې دوی هیڅ شی نه غوښتل! دا ډول کانټینرونه د بند لپاره لومړني نوماندان کیږي. راتلونکي نوماندان هغه کانتینرونه دي چې د دوی ټولې غوښتنې یې پوره کړې مګر لاهم د اعظمي حد څخه ښکته دي.

نو که Kubernetes څو پوډونه ومومي چې د دوی د غوښتنې پیرامیټرو څخه ډیر شوي، دا به دوی د لومړیتوب له مخې ترتیب کړي او بیا به د ټیټ لومړیتوب پوډونه لرې کړي. که ټول پوډونه ورته لومړیتوب ولري، نو کوبرنیټس به هغه پوډونه ختم کړي چې د نورو پوډونو په پرتله د دوی غوښتنې ډیرې کړي.

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

د Kubernetes غوره کړنې. سم بندول ختمول

ځینې ​​اعلانونه 🙂

له موږ سره د پاتې کیدو لپاره مننه. ایا تاسو زموږ مقالې خوښوي؟ غواړئ نور په زړه پورې مینځپانګه وګورئ؟ د امر په ورکولو یا ملګرو ته وړاندیز کولو سره زموږ ملاتړ وکړئ ، کلاوډ VPS د پراختیا کونکو لپاره له $ 4.99 څخه, د ننوتلو کچې سرورونو یو ځانګړی انلاګ ، کوم چې زموږ لخوا ستاسو لپاره اختراع شوی و: د VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps په اړه بشپړ حقیقت له $ 19 څخه یا څنګه سرور شریک کړئ؟ (د RAID1 او RAID10 سره شتون لري، تر 24 کور پورې او تر 40GB DDR4 پورې).

ډیل R730xd په امستردام کې د Equinix Tier IV ډیټا مرکز کې 2 ځله ارزانه؟ یوازې دلته 2x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 تلویزیون له $199 څخه په هالنډ کې! ډیل R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - له $ 99 څخه! په اړه ولولئ د زیربنا شرکت جوړولو څرنګوالی د ډیل R730xd E5-2650 v4 سرورونو کارولو سره ټولګي د یوې پیسي لپاره د 9000 یورو ارزښت لري؟

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

Add a comment