కుబెర్నెట్స్ వనరుల పరిమితులను సెట్ చేయండి

Kubernets Vanarula Parimitulanu Set Ceyandi



వనరుల పరిమితులు కుబెర్నెటెస్ కంటైనర్ ఆర్కెస్ట్రేషన్‌లో ముఖ్యమైన భాగం, ఎందుకంటే అవి కంటైనర్‌లు ఎక్కువ వనరులను వినియోగించకుండా లేదా వనరు క్షీణత కారణంగా స్పందించకుండా ఉంటాయి. కుబెర్నెటీస్ కంటైనర్ వనరుల పరిమితులను వాటి ప్రయోజనాలను పెంచుకోవడానికి మరియు మీ అప్లికేషన్‌ల నుండి ఎక్కువ ప్రయోజనం పొందడానికి వాటిని ఎలా సెట్ చేయాలనే దానిపై ఈ కథనం ఒక మార్గదర్శిని అందిస్తుంది. కొన్ని సాధారణ దశలతో మీ కంటైనర్ వనరులను త్వరగా మరియు సులభంగా కాన్ఫిగర్ చేయడం మరియు నిర్వహించడం ఎలాగో తెలుసుకోండి, తద్వారా మీ అన్ని సేవలు సజావుగా నడుస్తున్నాయని మీరు నిర్ధారించుకోవచ్చు.

కుబెర్నెట్స్‌లో కంటైనర్ రిసోర్స్ పరిమితులను సెట్ చేయండి

కంటైనర్ రిసోర్స్ పరిమితులు కుబెర్నెటీస్ యొక్క ముఖ్యమైన అంశం, ఇది కంటైనర్ వినియోగించగల వనరుల సంఖ్యను నిర్వహించడానికి వినియోగదారులను అనుమతిస్తుంది. ఓవర్‌లోడింగ్‌ను నివారించడానికి మరియు అప్లికేషన్ పనితీరుకు హామీ ఇవ్వడానికి, ఉత్పత్తి సందర్భాలలో ఇది చాలా కీలకం. కంటైనర్ వనరుల పరిమితులను సెట్ చేయడానికి ఇక్కడ కొన్ని అనుకూల చిట్కాలు ఉన్నాయి:







మీ కంటైనర్‌లకు అవసరమైన వనరులను నిర్ణయించడం ద్వారా ప్రారంభించండి. మీ సిస్టమ్ వినియోగాన్ని విశ్లేషించండి మరియు ఏ కంటైనర్‌ల మెమరీ మరియు CPU పరిమితులను సర్దుబాటు చేయాలో నిర్ణయించండి. వనరుల పరిమితులను సెట్ చేసేటప్పుడు అంతర్లీన నోడ్‌లను పరిగణనలోకి తీసుకోవడం కూడా చాలా ముఖ్యం - మీరు పరిమితిని చాలా ఎక్కువగా లేదా చాలా తక్కువగా సెట్ చేస్తే, నోడ్ ఇతర అప్లికేషన్‌లను క్రాష్ చేయకుండా రన్ చేయలేకపోవచ్చు. తర్వాత, మీరు ఏ రకమైన పరిమితిని ఉపయోగించాలనుకుంటున్నారో నిర్ణయించుకోండి - బర్స్టబుల్ లేదా నాన్-బర్స్టబుల్. ఇప్పుడు, Kubernetes కంటైనర్ రిసోర్స్ పరిమితులను సెట్ చేయడానికి మీరు అనుసరించగల అవసరమైన దశలను చూద్దాం. దశలకు వెళ్లే ముందు, కొన్ని అవసరమైన ముందస్తు అవసరాలు ఉన్నాయి:



ముందస్తు అవసరాలు

మేము దశలకు వెళ్లే ముందు, మా సిస్టమ్ ముందస్తు అవసరాలకు సంబంధించిన అన్ని అవసరాలను తీరుస్తుందని నిర్ధారించుకుందాం. మీరు Ubuntu 20.04 లేదా ఏదైనా ఇతర తాజా వెర్షన్ పని చేయడానికి Linux/Unix పర్యావరణాన్ని కలిగి ఉన్నారని నిర్ధారించుకోండి, Kubectl ఆదేశాలను ఉపయోగించడానికి Kubernetes క్లస్టర్, Kubectl CLI, క్లస్టర్ కమ్యూనికేషన్, డెవలప్‌మెంట్ ఎన్విరాన్‌మెంట్‌ను నిర్వహించడానికి మరియు minikube లేదా ఏదైనా ఇతర Kubernetes ప్లేగ్రౌండ్ సమూహాలు. తదుపరి విభాగానికి వెళ్లడానికి ముందు మీరు ఈ సాధనాలను ఇంకా ఇన్‌స్టాల్ చేయకుంటే వాటిని ఇన్‌స్టాల్ చేయండి. ఇప్పుడు, మేము Kubernetes కంటైనర్ వనరుల పరిమితులను ఎలా సెట్ చేయాలనే దానిపై దశల వారీ మార్గదర్శినికి వెళ్తాము.



కుబెర్నెట్స్ వనరుల పరిమితులను ఎలా సెట్ చేయాలి

Kubernetes కంటైనర్ వనరుల పరిమితులను సెట్ చేయడం అనేది మీ Kubernetes క్లస్టర్‌లను నిర్వహించడంలో మరియు నిర్వహించడంలో ముఖ్యమైన భాగం. సరైన వనరుల పరిమితిని కలిగి ఉండటం వలన ప్రతి కంటైనర్ ఇతర కంటైనర్‌ల పనితీరు లేదా మొత్తం క్లస్టర్‌ల పనితీరును రాజీ పడకుండా సరైన రీతిలో నడుస్తుందని నిర్ధారిస్తుంది. CPU, మెమరీ, అశాశ్వత నిల్వ మరియు మరిన్నింటి కోసం వనరుల అభ్యర్థనలు మరియు పరిమితులను సెట్ చేయడం ద్వారా ఇది చేయవచ్చు. Kubernetes కంటైనర్ వనరుల పరిమితులను సరిగ్గా ఎలా సెట్ చేయాలో ఇక్కడ ఉంది.





దశ 1: మినీక్యూబ్‌ని ప్రారంభించండి

మినీక్యూబ్ క్లస్టర్ తప్పనిసరిగా సక్రియ స్థితిలో ఉండాలి, తద్వారా మీరు మీ అప్లికేషన్‌లు లేదా ఆదేశాలను అందులో అమలు చేయవచ్చు. ఇది సరిగ్గా అమలులో ఉందని నిర్ధారించుకోవడానికి, కింది ఇచ్చిన ఆదేశాన్ని ఉపయోగించండి:



> minikube ప్రారంభించండి

దశ 2: మెట్రిక్స్ సర్వర్‌ని ప్రారంభించండి

ఈ దశలో, మీరు కొలమానాల సర్వర్‌ను ఎనేబుల్ చేయడానికి అనుమతించే ఆదేశాన్ని మేము భాగస్వామ్యం చేస్తాము. ఆదేశం కింది వాటిలో ఇవ్వబడింది:

> minikube addons ప్రారంభించు కొలమానాలు-సర్వర్

దశ 3: మెట్రిక్స్ సర్వర్ సక్రియంగా ఉందో లేదో తనిఖీ చేయండి

మెట్రిక్స్-సర్వర్ సక్రియంగా ఉందో లేదో తనిఖీ చేయడానికి కింది ఆదేశాన్ని టైప్ చేయండి:

> kubectl apiservices పొందండి

మునుపటి చిత్రంలో చూసినట్లుగా, రిసోర్స్ మెట్రిక్స్ API యాక్సెస్ చేయగలిగితే అది metrics.k8s.ioకి సూచనను కలిగి ఉంటుంది.

దశ 4: నేమ్‌స్పేస్‌ని సృష్టించండి

వనరులను ఉంచడానికి, మీరు ఈ వ్యాయామం కోసం మీ క్లస్టర్‌లోని మిగిలిన వాటి నుండి వేరుగా ఉండే నేమ్‌స్పేస్‌ను క్రియేట్ చేస్తారు. నేమ్‌స్పేస్‌ను ఎలా సృష్టించాలో ఇప్పుడు మేము ప్రదర్శిస్తాము. అమలు చేసే ఆదేశం క్రింది విధంగా ఇవ్వబడింది:

> kubectl నేమ్‌స్పేస్ ABCని సృష్టిస్తుంది

దశ 5: కాన్ఫిగరేషన్ ఫైల్‌ను సృష్టించండి

కంటైనర్‌లో పాడ్‌ను నిర్మించడానికి మేము ఉపయోగించే YAML కాన్ఫిగరేషన్ ఫైల్ ఈ దశలో సృష్టించబడుతుంది. దీన్ని సాధించడానికి ఉపయోగించే ఆదేశం ఇక్కడ ఉంది:

> నానో reqlimit.yaml

ఇక్కడ, మీరు CPU పరిమితితో పాటు CPU అభ్యర్థనను చేర్చాలి. వనరులను చేర్చండి: CPU పరిమితిని నిర్వచించడానికి పరిమితులు. ఈ సందర్భంలో, ఒకే కంటైనర్‌తో పాడ్ సృష్టించబడుతుంది. కంటైనర్‌కు 0.5 CPU అభ్యర్థన పరిమితి మరియు గరిష్టంగా 1 CPU ఉంది. పాడ్ కాన్ఫిగరేషన్ ఫైల్ ఇక్కడ అందుబాటులో ఉంది. మీరు చూడగలిగినట్లుగా, కాన్ఫిగరేషన్ ఫైల్ యొక్క ఆర్గ్స్ విభాగం కంటైనర్ ప్రారంభించినప్పుడు ఉపయోగించే ఆర్గ్యుమెంట్‌లను కలిగి ఉంటుంది. -cpus “2” పరామితి ద్వారా 2 CPUలను ఉపయోగించేందుకు ప్రయత్నించమని కంటైనర్‌కు సూచించబడింది.

డిప్లాయ్‌మెంట్‌లు మరియు పాడ్‌లు వంటి కుబెర్నెట్స్‌లో వనరులను సృష్టించేటప్పుడు, ప్రతి పాడ్ లేదా డిప్లాయ్‌మెంట్‌కు అవసరమైన కనీస వనరులు (అభ్యర్థన) మరియు గరిష్టంగా అనుమతించబడిన వనరుల సంఖ్య (పరిమితి) పేర్కొనడం ముఖ్యం. ఇది ఏదైనా ఒక పాడ్‌ని చాలా ఎక్కువ వనరులను వినియోగించకుండా నిరోధిస్తుంది, దీని వలన ఇతర క్రియాశీల పాడ్‌లు తగ్గిన పనితీరుతో బాధపడవచ్చు లేదా క్లస్టర్‌లో అందుబాటులో ఉన్న వనరుల కొరత కారణంగా క్రాష్ కావచ్చు.

దశ 6: పాడ్‌ని సృష్టించండి

ఇప్పుడు, కింది ఆదేశంతో పాడ్‌ను ఎలా సృష్టించాలో మేము మీకు చూపుతాము:

> kubectl సృష్టించు -ఎఫ్ reqlimit.yaml

గతంలో ఇచ్చిన అవుట్‌పుట్ నుండి, “cpu-demo” అనే పాడ్ సృష్టించబడిందని మీరు గమనించవచ్చు.

దశ 7: పాడ్‌ని ధృవీకరించండి

ఈ దశలో, కింది ఆదేశంతో సృష్టించిన పాడ్ సక్రియంగా ఉందో లేదో తనిఖీ చేస్తాము:

> kubectl పాడ్ cpu-డెమో పొందండి --నేమ్‌స్పేస్ =abc

దశ 8: పాడ్ వివరాలను వీక్షించండి

ఇప్పుడు, మీరు పాడ్ గురించి వివరణాత్మక సమాచారాన్ని చూడాలనుకుంటే, ఇక్కడ అమలు చేయవలసిన ఆదేశం ఉంది:

> kubectl పాడ్ cpu-డెమో పొందండి --అవుట్‌పుట్ = యమల్ --నేమ్‌స్పేస్ =abc

దశ 9: పాడ్‌ను తొలగించండి

ఇక్కడ, వనరులను శుభ్రం చేయడానికి పాడ్‌ను ఎలా తొలగించాలో మేము చూపుతాము. ఈ ప్రయోజనం కోసం ఉపయోగించే ఆదేశం క్రింది విధంగా ఉంది:

> kubectl పాడ్ cpu-డెమోని తొలగించండి --నేమ్‌స్పేస్ =abc

దశ 10: కాన్ఫిగరేషన్ ఫైల్‌ను సృష్టించండి

ఈ దశలో, మేము కాన్ఫిగరేషన్ ఫైల్‌ను సృష్టిస్తాము. ఈ ఫైల్ మీ నోడ్‌ల కోసం చాలా పెద్దదైన CPU అభ్యర్థనను నిర్దేశిస్తుంది.

> నానో reqlimit2

ఒకే కంటైనర్‌తో కాన్ఫిగరేషన్ ఫైల్ ఇక్కడ కనుగొనవచ్చు. కంటైనర్ 100 CPUలను అడుగుతుంది, ఇది మీ క్లస్టర్ సహేతుకంగా అందించగల ఏ నోడ్ కంటే ఎక్కువ.

దశ 11: క్రీ a పాడ్

ఈ దశలో, మేము కింది ఆదేశంతో పాడ్‌ను సృష్టిస్తాము:

> kubectl సృష్టించు -ఎఫ్ reqlimit2.yaml

దశ 12: పాడ్ స్థితిని వీక్షించండి

ఇప్పుడు, మీరు సెయింట్ చూడవచ్చు a ఇక్కడ జతచేయబడిన ఆదేశంతో పాడ్ యొక్క tus:

పాడ్ స్థితి పెండింగ్‌లో ఉందని అవుట్‌పుట్ చూపిస్తుంది.

దశ 13: పాడ్ సమాచారాన్ని చూడండి

ఇప్పుడు, మేము ఇక్కడ ఇచ్చిన ఆదేశంతో ఈవెంట్‌లతో సహా పాడ్ గురించిన వివరణాత్మక సమాచారాన్ని వీక్షిస్తాము:

ఈవెంట్ విభాగానికి వెళ్లి, కంటైనర్ షెడ్యూల్ చేయబడిందో లేదో చూడండి.

ఇది షెడ్యూల్ చేయలేకపోతే మరియు కారణం తగినంత CPU వనరులు లేకుంటే, మీరు నోడ్‌ను తొలగించవచ్చు. నోడ్‌ను ఎలా తొలగించాలో తదుపరి దశలో వివరించబడింది.

దశ 14: నోడ్‌ను తొలగించండి

కింది ఆదేశంతో మీరు నోడ్‌ను తొలగించవచ్చు:

> kubectl తొలగించు పాడ్ cpu-demo- 2 --నేమ్‌స్పేస్ =abc

పనితీరుపై కంటైనర్ వనరుల పరిమితుల ప్రభావం ఏమిటి?

కుబెర్నెట్స్ కంటైనర్ టెక్నాలజీకి పెరుగుతున్న జనాదరణతో, వనరుల పరిమితులు పనితీరును ఎలా ప్రభావితం చేస్తాయో అర్థం చేసుకోవడం చాలా ముఖ్యం. Kubernetes కంటైనర్‌లో వనరుల పరిమితులను సెట్ చేయడం వలన మీ అప్లికేషన్‌లు వాటి సరైన స్థాయిలో రన్ అవుతున్నాయని మరియు అవి హోస్ట్ సర్వర్ నుండి ఎక్కువ వనరులను వినియోగించడం లేదని నిర్ధారించుకోవడంలో మీకు సహాయపడుతుంది. వనరులను పరిమితం చేయడం ద్వారా, మీరు వ్యర్థమైన అనవసరమైన ప్రక్రియలను నివారించవచ్చు, వినియోగం కారణంగా సిస్టమ్ క్రాష్‌లను నివారించడంలో సహాయపడవచ్చు మరియు మీ కంటైనర్‌ల పనితీరును ఆప్టిమైజ్ చేయవచ్చు.

Kubernetes కంటైనర్‌లో ఈ వనరుల పరిమితులను సెట్ చేయడానికి, మీరు తప్పనిసరిగా cgroups (నియంత్రణ సమూహాలు) అనే సాధనాన్ని ఉపయోగించాలి. CPU చక్రాలు లేదా వ్యక్తిగత కంటైనర్‌ల కోసం మెమరీ వినియోగం వంటి వనరులను పరిమితం చేయడానికి Cgroups నిర్వాహకులను అనుమతిస్తాయి. మీరు గరిష్ట ఫైల్ పరిమాణాలు లేదా ఒక్కో కంటైనర్‌కు నెట్‌వర్క్ బ్యాండ్‌విడ్త్ వినియోగం వంటి ఇతర పారామితులను కూడా సెట్ చేయవచ్చు.

ముగింపు

మీ క్లౌడ్ కంప్యూటింగ్ వాతావరణాన్ని నిర్వహించడంలో కుబెర్నెట్స్ కంటైనర్ వనరుల పరిమితులను సెట్ చేయడం అనేది కీలకమైన భాగం. సరైన కాన్ఫిగరేషన్‌తో, ప్రతి కంటైనర్‌కు అవసరమైన వనరులకు ప్రాప్యత ఉందని మీరు నిర్ధారించుకోవచ్చు, కానీ అది ఇతర కంటైనర్‌లు లేదా సిస్టమ్‌లను ప్రభావితం చేసేంతగా కాదు. ఇది కంప్యూటింగ్ వనరులను మరింత సమర్థవంతంగా మరియు ఖర్చుతో కూడుకున్న వినియోగానికి అనుమతిస్తుంది. అదనంగా, ఒక కంటైనర్ ఎంత మెమరీని లేదా CPU వినియోగించగలదో పరిమితం చేయడం ద్వారా, రన్‌అవే ప్రక్రియలు లేదా వినియోగంలో ఊహించని స్పైక్‌ల కారణంగా సంభవించే అంతరాయాలను మీరు నిరోధించవచ్చు.