ډیری وسیلې او خدمات شتون لري چې تاسو ته اجازه درکوي په الوتنه کې عکسونه چیک او غوره کړئ. دا مهمه ده چې دوی تل تازه وساتئ او د خوندیتوب لپاره ازموینه وکړئ. په پایله کې تاسو ترلاسه کوئ:
په ټول کلستر کې د شبکې بار کم شوی.
د کانټینر د پیل وخت کمول.
ستاسو د ټول ډاکر راجسټری کوچنۍ اندازه.
4. د DNS کیچ وکاروئ
که موږ د لوړ بارونو په اړه وغږیږو ، نو د کلسټر DNS سیسټم له تنظیم کولو پرته ژوند خورا خراب دی. په یو وخت کې، د Kubernetes پراختیا کونکو د دوی د کیوب-dns حل ملاتړ کاوه. دا دلته هم پلي شوی و، مګر دا سافټویر په ځانګړې توګه نه و جوړ شوی او د اړتیا وړ فعالیت یې نه دی تولید کړی، که څه هم دا یو ساده کار ښکاري. بیا کورډنز څرګند شو، کوم چې موږ یې بدل کړ او هیڅ غم یې نه درلود؛ دا وروسته په K8s کې د ډیفالټ DNS خدمت شو. په یو وخت کې، موږ د DNS سیسټم ته 40 زره rps ته وده ورکړه، او دا حل هم ناکافي شو. مګر، د خوشبختۍ سره، نوډلوکلډنس بهر راغی، اکا نوډ محلي کیچ، اکا NodeLocal DNSCache.
ولې موږ دا کاروو؟ د لینکس کرنل کې یوه ستونزه شتون لري چې کله د UDP په اړه د کانټریک NAT له لارې ډیری زنګونه وي، د کانټریک جدولونو کې د ننوتلو لپاره د ریس حالت رامینځته کوي ، او د NAT له لارې د ترافیک یوه برخه له لاسه ورکوي (د خدماتو له لارې هر سفر NAT دی). Nodelocaldns دا ستونزه د NAT څخه د خلاصون له لارې حل کوي او د DNS پورته کولو لپاره TCP ته د پیوستون لوړولو سره ، په بیله بیا په سیمه ایزه توګه د اپسټریم DNS پوښتنو کیچ کول (د لنډ 5 ثانیې منفي کیچ په شمول).
لکه څنګه چې پورته یادونه وشوه، دا متناسب اندازه کول دي چې په منشور کې د غوښتنو/حدود تناسب پراساس دي:
CPU: 200m → 300m: تناسب 1:1.75؛
حافظه: 250Mi → 500Mi: تناسب 1:2.
د HPAنو بیا د عملیاتو میکانیزم ډیر شفاف دی. میټریکونه لکه CPU او حافظه د حد څخه تیریږي، او که د ټولو نقلونو اوسط له حد څخه ډیر وي، غوښتنلیک د +1 فرعي لخوا اندازه کیږي تر هغه چې ارزښت د حد څخه ښکته وي یا تر هغه چې د نقلونو اعظمي شمیر ته ورسیږي.
عکس له https://levelup.gitconnected.com/kubernetes-autoscaling-101-cluster-autoscaler-horizontal-pod-autoscaler-and-vertical-pod-2a441d9ad231 څخه اخیستل شوی
د معمول میټریکونو لکه CPU او حافظې سربیره ، تاسو کولی شئ د پرومیتیس څخه په خپل دودیز میټریکونو کې حدونه تنظیم کړئ او د دوی سره کار وکړئ که تاسو فکر کوئ چې دا ستاسو د غوښتنلیک اندازه کولو لپاره ترټولو دقیق نښه ده. یوځل چې غوښتنلیک د ټاکل شوي میټریک حد څخه لاندې ثبات ومومي ، HPA به د پوډونو اندازه کول پیل کړي د نقلونو لږترلږه شمیر ته یا تر هغه چې بار ټاکل شوی حد پوره کړي.
requiredDuringSchedulingIgnoredDuringExecution: سخت ترتیب (شیډولر به پوډونه یوازې په ځانګړي نوډونو کې ځای په ځای کړي (او بل چیرې))؛
preferredDuringSchedulingIgnoredDuringExecution: نرم ترتیب (شیډولر به هڅه وکړي چې ځانګړي نوډونو ته ځای په ځای کړي، او که دا ناکام شي، نو دا به هڅه وکړي چې راتلونکي موجود نوډ ته ځای په ځای کړي).
تاسو کولی شئ د نوډ لیبلونو اداره کولو لپاره یو ځانګړی ترکیب مشخص کړئ ، لکه In, NotIn, Exists, DoesNotExist, Gt او یا Lt. په هرصورت، په یاد ولرئ چې د لیبلونو په اوږد لیست کې پیچلې میتودونه به په نازکو حالاتو کې پریکړه کول ورو کړي. په بل عبارت، دا ساده وساتئ.
دا پدې معنی ندي چې راتلونکی بیا ځای په ځای کول به پدې ځانګړي نوډ باندې راشي ، دا د نوډ تړاو میکانیزم ندی او nodeSelector. مګر د ډیری ځانګړتیاو په یوځای کولو سره، تاسو کولی شئ خورا انعطاف منونکي مهالویش تنظیمات ترلاسه کړئ.
8. د پوډ ځای پرځای کولو لومړیتوب ټاکئ
یوازې د دې لپاره چې تاسو نوډونو ته پوډونه ګمارلي دا پدې معنی ندي چې ټول پوډونه باید د ورته لومړیتوب سره چلند وشي. د مثال په توګه، تاسو ممکن د نورو څخه مخکې ځینې پوډونه ځای په ځای کړئ.
Kubernetes د پوډ لومړیتوب او پریمپشن تنظیم کولو مختلفې لارې وړاندې کوي. ترتیب له څو برخو څخه جوړ دی: اعتراض PriorityClassاو د ساحې توضیحات priorityClassNameد پوډ مشخصاتو کې. راځئ چې یو مثال وګورو:
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: high-priority
value: 99999
globalDefault: false
description: "This priority class should be used for very important pods only"
موږ جوړوو PriorityClassدا نوم، توضیح او ارزښت ورکړئ.لوړ value، هرڅومره لوړ لومړیتوب لري. ارزښت کیدای شي د 32-bit انټیجر له 1 څخه کم یا مساوي وي. لوړ ارزښتونه د ماموریت مهم سیسټم پوډونو لپاره ساتل شوي چې عموما د مخه نشي نیول کیدی.بې ځایه کیدنه به یوازې هغه وخت پیښ شي چې د لوړ لومړیتوب پوډ د شاوخوا ګرځیدو لپاره ځای ونلري، نو ځینې پوډونه به د یو ځانګړي نوډ څخه ویستل شي. که دا میکانیزم ستاسو لپاره خورا سخت وي، تاسو کولی شئ اختیار اضافه کړئ preemptionPolicy: Never، او بیا به هیڅ ډول مخنیوی شتون ونلري ، پوډ به لومړی په کتار کې ودریږي او مهالویش کونکي ته به انتظار وکړي ترڅو د دې لپاره وړیا سرچینې ومومي.