కుబెర్నెటెస్లో టాలరేషన్లు మరియు మచ్చలు అంటే ఏమిటి?
పాడ్లు సరైన నోడ్లో ఉండేలా చూసుకోవడానికి కుబెర్నెటీస్లోని టాలరేషన్ మరియు టేన్ట్ ఉపయోగించబడతాయి. టాలరేషన్ అనేది పాడ్ స్పెసిఫికేషన్లో నిర్వచించబడింది, అయితే టేన్ట్స్ నోడ్ స్పెసిఫికేషన్లో నిర్వచించబడ్డాయి. మీరు పాడ్పై టాలరేషన్ని వర్తింపజేసినప్పుడు, ఇది నిర్దిష్ట నోడ్లో పాడ్లను షెడ్యూల్ చేయడానికి షెడ్యూలర్ని అనుమతిస్తుంది. అయితే, టాలరేషన్కు విరుద్ధంగా పని చేస్తుంది. ఇది నోడ్పై షెడ్యూల్ చేయడానికి పాడ్లను తిరస్కరించడానికి అనుమతిస్తుంది. పాడ్లు వాటికి సరిపోలే టాలెంట్లతో టాలరేషన్లను కలిగి ఉంటే మాత్రమే నోడ్లో షెడ్యూల్ చేయడానికి అనుమతించబడతాయి.
కుబెర్నెటెస్ పాడ్లు, క్లస్టర్లు, నోడ్లు, ఈవెంట్లు మొదలైనవాటితో పని చేస్తుంది. కొన్ని సందర్భాల్లో, ఈ విషయాలను నిర్వహించడానికి, కుబెర్నెట్లకు సహనం మరియు మచ్చలు అవసరం. సహనం అనేది షెడ్యూల్ ప్రక్రియ యొక్క అమలు. పాడ్లు షెడ్యూల్ చేయబడాలి, తద్వారా అవి సరిగ్గా పని చేయగలవు మరియు వాటి ఆపరేషన్ను నిర్వహించడానికి అవసరమైనప్పుడు తగినంత వనరులను కలిగి ఉంటాయి. పని చేసేటపుడు వాటికి ఎలాంటి అంతరాయం లేదా అంతరాయం కలగకుండా ఉండేందుకు టాలరేషన్లు పాడ్లకు కల్తీకి వ్యతిరేకంగా వర్తించబడతాయి.
కుబెర్నెటెస్లోని మచ్చలు పాడ్ యొక్క షెడ్యూల్ను తిరస్కరించడానికి పాడ్ను ఎనేబుల్ చేస్తాయి. ఇది 'నోడ్స్పెక్' నోడ్ స్పెసిఫికేషన్ని ఉపయోగించి నోడ్కి వర్తించబడుతుంది. షెడ్యూలర్ ఒక నోడ్పై పాడ్ను ఉంచలేకపోయాడు, అది కలుషితాన్ని కలిగి ఉంది. అయితే, మీరు ఇప్పటికే ఒక టేన్ట్ వర్తించే నోడ్లో పాడ్లను షెడ్యూల్ చేయవలసి వస్తే, మీరు దానికి వ్యతిరేకంగా సహనాన్ని ప్రకటించాలి.
కుబెర్నెటీస్లోని టాలరేషన్ ఒక పాడ్ను ఒక నోడ్లో షెడ్యూల్ చేయడానికి అనుమతిస్తుంది, అక్కడ ఒక టేన్ట్ ఇప్పటికే వర్తించబడుతుంది. పాడ్పై టాలరేషన్ “పాడ్స్పెక్” పాడ్ స్పెసిఫికేషన్ ఉపయోగించి వర్తించబడుతుంది. మీరు మ్యాచింగ్ టైంట్తో పాడ్పై టాలరేషన్ను వర్తింపజేసినప్పుడు, షెడ్యూలర్ నిర్దిష్ట నోడ్లో పాడ్లను సులభంగా షెడ్యూల్ చేయవచ్చు.
ఇప్పుడు, మీరు కుబెర్నెటెస్లోని పాడ్లో టాలరేషన్ను ఎలా అమలు చేయవచ్చో అర్థం చేసుకోవడంలో మీకు సహాయపడే దృష్టాంతాన్ని అందజేద్దాం. మీరు అమలు విభాగానికి వెళ్లే ముందు, మీకు అవసరమైన అన్ని అవసరాలు ఉన్నాయని నిర్ధారించుకోండి.
అవసరం:
మీరు కుబెర్నెటెస్లోని నోడ్లో టాలరేషన్ని అమలు చేయడానికి క్రింది అంశాలు అవసరం:
- ఉబుంటు 20.04 లేదా ఏదైనా లైనక్స్ సిస్టమ్ యొక్క ఏదైనా ఇతర తాజా వెర్షన్
- Minikube (తాజా వెర్షన్)
- మీ Linux/Unix సిస్టమ్లో వర్చువల్ మిషన్ ఇన్స్టాల్ చేయబడింది
- Kubectl కమాండ్ లైన్ సాధనం
మీ సిస్టమ్ ముందస్తు అవసరాలకు సంబంధించిన అన్ని అవసరాలను తీరుస్తుందని ఊహిస్తూ, మేము కుబెర్నెట్స్ టాలరేషన్ను సెట్ చేయడం ప్రారంభిద్దాం.
దశ 1: మినీక్యూబ్ టెర్మినల్ను ప్రారంభించండి
మీరు చేయవలసిన మొదటి విషయం ఏమిటంటే, మినీక్యూబ్ టెర్మినల్ను ప్రారంభించడం, తద్వారా మీరు నోడ్లో కుబెర్నెట్స్ టాలరేషన్ అమలు కోసం kubectl ఆదేశాలను ఉపయోగించవచ్చు. minikubeని ప్రారంభించడానికి, కింది ఆదేశం ఉపయోగించబడుతుంది:
> minikube ప్రారంభించండిఈ ఆదేశాన్ని అమలు చేసిన తర్వాత, మీరు మీ టెర్మినల్లో క్రింది అవుట్పుట్ను పొందుతారు:
దశ 2: యాక్టివ్ నోడ్ల జాబితాను పొందండి
ఇప్పుడు మేము మినీక్యూబ్ని ప్రారంభించాము, కుబెర్నెట్స్లోని పాడ్లపై టాలరేషన్ను సెట్ చేయడానికి మా సిస్టమ్ సిద్ధంగా ఉంది. మేము పాడ్లపై టాలరేషన్ను సెట్ చేసే ముందు, మనకు ఇప్పటికే ఎన్ని నోడ్లు మరియు ఎలాంటి నోడ్లు ఉన్నాయో తనిఖీ చేద్దాం. అలా చేయడానికి, మేము ఈ క్రింది ఆదేశాన్ని ఉపయోగిస్తాము:
> kubectl నోడ్స్ పొందండి -ది =కస్టమ్-నిలువు వరుసలు=NodeName:.metadata.name,TaintKey:.spec.taints [ * ] .key,TaintValue:.spec.taints [ * ] .value,TaintEffect:.spec.taints [ * ] .ప్రభావంఈ సూచన Kubernetes డిఫాల్ట్ ఇన్స్టాలేషన్ ద్వారా కలుషితమైన అన్ని నోడ్లను జాబితా చేస్తుంది. ముందుగా ఈ కమాండ్ అవుట్పుట్ చూద్దాం. అప్పుడు, మేము నోడ్ల జాబితాను చర్చిస్తాము:
Kubernetes డిఫాల్ట్ ఇన్స్టాలేషన్ ద్వారా సృష్టించబడిన మరియు కలుషితమయ్యే నోడ్లు ఏవీ లేవు మరియు మేము ప్రత్యేకంగా ఏ నోడ్ను కూడా సృష్టించలేదు కాబట్టి, ఫలితం
దశ 3: నేమ్స్పేస్ను సృష్టించండి
ముందుగా, క్లస్టర్లో యాప్ని అమలు చేయడానికి మేము నేమ్స్పేస్ను సృష్టిస్తాము. ఇక్కడ, మేము కింది ఆదేశం సహాయంతో “ఫ్రంటెన్డ్” విలువతో అనువర్తనాన్ని సృష్టిస్తాము:
> kubectl ns ఫ్రంటెండ్ను సృష్టించండిఈ కమాండ్ 'ఫ్రంటెండ్' విలువ కలిగిన నేమ్స్పేస్ను సృష్టిస్తుంది. కింది అవుట్పుట్ చూడండి:
దశ 4: నేమ్స్పేస్లో Nginx పాడ్ని అమలు చేయండి
ఇప్పుడు, మేము ఇప్పుడే సృష్టించిన నేమ్స్పేస్లో nginx పాడ్ని అమలు చేయండి. nginxని అమలు చేయడానికి మేము కింది ఆదేశాన్ని ఉపయోగిస్తాము:
> kubectl రన్ nginx - చిత్రం =nginx -నేమ్స్పేస్ ఫ్రంటెండ్ఇది యాప్ డిప్లాయ్మెంట్ స్పెసిఫికేషన్లో టాలరేషన్ కాన్ఫిగరేషన్ లేని క్లస్టర్లో యాప్ని అమలు చేస్తుంది. kubectl ఆదేశాన్ని ఉపయోగించి, మేము nginx పాడ్ను నేమ్స్పేస్ ఫ్రంటెండ్లో అమలు చేస్తాము:
దశ 5: పాడ్ల జాబితాను పొందండి
ఇప్పుడు, సృష్టించిన పాడ్ల స్థితిగతులను చూడటానికి వాటిని తనిఖీ చేద్దాం. ఇచ్చిన కమాండ్ అన్ని పాడ్లను మరియు వాటి స్థితిగతులను కూడా జాబితా చేస్తుంది:
> kubectl పాడ్లను పొందండి -ఎన్ ముందుభాగంమేము nginxని మాత్రమే సృష్టించాము కాబట్టి, ఈ ఆదేశం దాని స్థితితో ఆ పాడ్ను జాబితా చేయాలి. కింది అవుట్పుట్ చూడండి:
దశ 6: కుబెర్నెట్స్ ఈవెంట్లను విశ్లేషించండి
ఇప్పుడు, కుబెర్నెటెస్లో జరిగిన సంఘటనలను విశ్లేషిద్దాం, తద్వారా మేము తదనుగుణంగా పాడ్లపై సహనాన్ని సెట్ చేయవచ్చు. మేము Kubernetes ఈవెంట్ల జాబితాను పొందడానికి క్రింది kubectl ఆదేశాన్ని ఉపయోగిస్తాము:
> kubectl ఈవెంట్లను పొందండి -ఎన్ ముందుభాగంఇది రకం, కారణం, వస్తువు మరియు సందేశం వంటి వాటి లక్షణాలతో పాటు ఫ్రంట్-ఎండ్ విలువతో అనుబంధించబడిన అన్ని ఈవెంట్లను జాబితా చేస్తుంది. కింది అవుట్పుట్లో ఇవ్వబడిన జాబితాను చూడండి:
మీరు మునుపటి అవుట్పుట్ నుండి చూడగలిగినట్లుగా, nginx పాడ్ నిర్దిష్ట టాలరేషన్తో షెడ్యూల్ చేయబడింది. 'సందేశం' ప్రాపర్టీ ప్రక్రియలో నిర్వహించబడే చర్యల జాబితాను చూపుతుంది.
దశ 7: పాడ్ల స్థితిని తనిఖీ చేయండి
నిర్దిష్టమైన మరియు సరైన నోడ్లో విజయవంతంగా షెడ్యూల్ చేయబడిందని నిర్ధారించుకోవడానికి మేము గతంలో సృష్టించిన పాడ్ స్థితిని మళ్లీ తనిఖీ చేయడం చివరి దశ. అలా చేయడానికి, మేము క్రింది kubectl ఆదేశాన్ని ఉపయోగిస్తాము:
> kubectl పాడ్లను పొందండి -ఎన్ ముందుభాగం
మునుపటి అవుట్పుట్లో చూడగలిగినట్లుగా, టాలరేషన్కి వ్యతిరేకంగా సెట్ చేయబడినందున పాడ్ ఇప్పుడు కలుషిత నోడ్పై అమలు చేయడానికి అనుమతించబడుతుంది.
ముగింపు
ఈ గైడ్లో, మేము మచ్చలు మరియు సహనం గురించి అన్వేషించాము. మేము taints మరియు సహనం యొక్క ప్రాథమిక పని గురించి తెలుసుకున్నాము. అప్పుడు, మేము ఒక పాడ్లో సహనాన్ని అమలు చేసాము. ఒక సాధారణ ఉదాహరణ సహాయంతో, కుబెర్నెట్స్లోని నోడ్లో టాలరేషన్ను ఎలా సెట్ చేయాలో నేర్చుకున్నాము.