د سرچینې حد یو حد دی چې CPU/MEM نشي کولی تیر کړي. په هرصورت، د CPU سرچینه انعطاف وړ ده، نو هغه کانټینرونه چې د دوی د CPU حدونو ته رسیږي د پوډ د وتلو لامل نشي. پرځای یې، د CPU تروټلینګ به پیل شي. که چیرې د MEM کارونې حد ته ورسیږي، کانټینر به د OOM-Killer له امله ودریږي او بیا پیل شي که چیرې د RestartPolicy ترتیب لخوا اجازه ورکړل شي.
په تفصیل سره غوښتل شوي او اعظمي سرچینې
د Docker او Kubernetes ترمنځ د سرچینې اړیکه
د دې تشریح کولو لپاره غوره لاره چې د سرچینو غوښتنې او د سرچینو محدودیتونه څنګه کار کوي د کوبرنیټس او ډاکر ترمینځ اړیکې معرفي کول دي. په پورته عکس کې تاسو لیدلی شئ چې د کوبرنیټس ساحې او د ډاکر پیل بیرغونه څنګه تړاو لري.
که کانټینر د حافظې له حد څخه تیریږي، دا به د OOM-Killed له امله وتړل شي. او د امکان په صورت کې به د RestartPolicy پراساس بیا پیل شي چیرې چې ډیفالټ ارزښت وي Always.
څه پیښیږي که تاسو غوښتل شوې حافظه مشخص نه کړئ؟
Kubernetes به د حد ارزښت واخلي او د اصلي ارزښت په توګه به یې تنظیم کړي.
څه پیښ کیدی شي که تاسو د حافظې حد مشخص نه کړئ؟
کانټینر هیڅ محدودیت نلري؛ دا کولی شي څومره حافظه وکاروي څومره چې وغواړي. که هغه د نوډ ټولې موجودې حافظې کارول پیل کړي، نو OOM به هغه ووژني. بیا کانټینر به بیا پیل شي که امکان ولري د RestartPolicy پراساس.
څه پیښیږي که تاسو د حافظې محدودیتونه مشخص نه کړئ؟
دا ترټولو ناوړه قضیه ده: مهالویش کوونکی نه پوهیږي چې کانټینر څومره سرچینو ته اړتیا لري، او دا کولی شي په نوډ کې جدي ستونزې رامینځته کړي. په دې حالت کې، دا به ښه وي چې د نوم ځای کې ډیفالټ محدودیتونه ولرئ (د LimitRange لخوا ټاکل شوي). هیڅ ډیفالټ محدودیتونه شتون نلري - پوډ هیڅ محدودیت نلري ، دا کولی شي څومره حافظه وکاروي څومره چې وغواړي.
که غوښتنه شوې حافظه د نوډ وړاندیز کولو څخه ډیر وي ، پوډ به مهالویش نه وي. دا مهمه ده چې په یاد ولرئ Requests.memory - نه لږ تر لږه ارزښت. دا د کافي حافظې مقدار توضیح دی چې کانټینر په دوامداره توګه روان وساتي.
دا معمولا سپارښتنه کیږي چې ورته ارزښت ترتیب کړي request.memory и limit.memory. دا ډاډ ورکوي چې کوبرنیټس به په نوډ کې پوډ مهالویش ونه کړي چې د پوډ چلولو لپاره کافي حافظه ولري مګر د چلولو لپاره کافي ندي. په یاد ولرئ: د کوبرنیټس پوډ پلان جوړونه یوازې په پام کې نیسي requests.memoryاو limits.memory په پام کې نه نیسي.
که کانټینر د نصب کولو څخه ډیر ته اړتیا ولري، دا به د نورو پروسو څخه CPU غلا کړي.
څه پیښیږي که تاسو د CPU حد ډیر ټیټ وټاکئ؟
څرنګه چې د CPU سرچینه د تنظیم وړ ده، تروتلینګ به فعال شي.
څه پیښیږي که تاسو د CPU غوښتنه مشخص نه کړئ؟
د حافظې په څیر، د غوښتنې ارزښت د حد سره مساوي دی.
څه پیښیږي که تاسو د CPU حد مشخص نه کړئ؟
کانټینر به څومره CPU وکاروي څومره چې ورته اړتیا وي. که چیرې د ډیفالټ CPU پالیسي (LimitRange) په نوم ځای کې تعریف شي ، نو دا حد د کانټینر لپاره هم کارول کیږي.
له بده مرغه، دغو پوښتنو ته روښانه ځوابونه شتون نلري. که تاسو نه پوهیږئ چې ستاسو غوښتنلیک څنګه کار کوي یا څومره CPU یا حافظې ته اړتیا لري، غوره اختیار دا دی چې غوښتنلیک ته ډیره حافظه او CPU ورکړئ او بیا د فعالیت ازموینې ترسره کړئ.
د فعالیت ازموینې سربیره، د یوې اونۍ لپاره په نظارت کې د غوښتنلیک چلند وڅیړئ. که ګرافونه ښیي چې ستاسو غوښتنلیک ستاسو د غوښتنې په پرتله لږ سرچینې مصرفوي، تاسو کولی شئ د غوښتل شوي CPU یا حافظې مقدار کم کړئ.
د مثال په توګه دا وګورئ د ګرافانا ډشبورډ. دا د غوښتل شوي منابعو یا د منابعو محدودیت او د اوسنۍ سرچینې کارولو ترمنځ توپیر ښیې.
پایلې
د سرچینو غوښتنه کول او محدودول ستاسو د کوبرنیټس کلستر صحتمند ساتلو کې مرسته کوي. د مناسب حد ترتیب لګښتونه کموي او غوښتنلیکونه هر وخت روان ساتي.