కుబెర్నెట్స్లో ఎండ్పాయింట్స్లైస్ అంటే ఏమిటి?
కుబెర్నెట్స్లోని ఎండ్పాయింట్స్లైస్ అనేది నెట్వర్క్ ఎండ్పాయింట్ ట్రాకర్. ఇది కుబెర్నెట్స్ క్లస్టర్లో నెట్వర్క్ ఎండ్ పాయింట్లను పర్యవేక్షించడాన్ని సాధ్యం చేస్తుంది. సరళంగా చెప్పాలంటే, ఇది కేటాయించిన ప్రతి పాడ్ నుండి IP చిరునామాలను పొందే ఒక వస్తువు. కమ్యూనికేషన్ కోసం పాడ్ యొక్క అంతర్గత IP చిరునామాల రికార్డును పొందడానికి Kubernetes సేవ ఈ వస్తువును సూచిస్తుంది. అంతేకాకుండా, ఈ ఎండ్పాయింట్లను పాడ్లు తమను తాము సేవకు బహిర్గతం చేయడానికి ఉపయోగించుకుంటాయి.
కుబెర్నెటెస్ రాజ్యంలో, ఈ ఎండ్పాయింట్లు అబ్స్ట్రాక్షన్ లేయర్గా పనిచేస్తాయి, ఇది క్లస్టర్లోని పాడ్లకు ట్రాఫిక్ పంపిణీని నిర్ధారించుకోవడానికి కుబెర్నెట్స్ సేవకు సహాయపడుతుంది. అయితే, ట్రాఫిక్ లోడ్ పెరిగినప్పుడు, ట్రాఫిక్ స్కేలింగ్ సమస్య ఏర్పడుతుంది. ఎందుకంటే ఒక ఎండ్పాయింట్ ప్రతి సేవకు సంబంధించిన అన్ని నెట్వర్క్ ఎండ్ పాయింట్లను కలిగి ఉంటుంది. మరియు ఈ మూలాలు ఆమోదయోగ్యం కాని పరిమాణానికి పెరిగినప్పుడు, కుబెర్నెటెస్ పనితీరు ప్రతికూలంగా ప్రభావితమవుతుంది. మరో మాటలో చెప్పాలంటే, నెట్వర్క్ ఎండ్ పాయింట్ల సంఖ్య విపరీతంగా పెరిగినప్పుడు, విస్తరణను స్కేల్ చేసే కుబెర్నెట్స్ సామర్థ్యం ప్రతికూలంగా ప్రభావితమవుతుంది. కింది గ్రాఫికల్ ఇమేజ్ సహాయంతో దీనిని అర్థం చేసుకుందాం:
ఇక్కడ, ఎండ్పాయింట్ క్లస్టర్లోని అన్ని పాడ్లను కలిగి ఉందని మీరు చూడవచ్చు మరియు ఇప్పటికే ఉన్న ఎండ్పాయింట్కు ఎండ్పాయింట్స్లైస్లు విస్తరించదగిన మరియు స్కేలబుల్ ప్రత్యామ్నాయం. మొత్తం సేవకు ఒక ఎండ్పాయింట్ వనరు మాత్రమే ఉంది కానీ అదే సేవ కోసం ఒకటి కంటే ఎక్కువ ఎండ్పాయింట్స్లైస్లు ఉన్నాయి. మీ నెట్వర్క్ వనరులను ఈ విధంగా స్కేల్ చేయడంలో EndpointSlices మీకు సహాయం చేస్తుంది. ఈ స్కేలబిలిటీ సమస్య ఎంత ముఖ్యమైనదో అర్థం చేసుకోవడానికి, మనం ఒక ఉదాహరణ తీసుకుందాం.
ఉదాహరణకు, కుబెర్నెటెస్ సేవలో దాదాపు 9,000 పాడ్లు ఉన్నాయి, అవి 2MB ఎండ్పాయింట్ వనరులలో ముగుస్తాయి. ఒకే ఎండ్పాయింట్ సేవల యొక్క ఈ ఎండ్పాయింట్ వనరులన్నింటినీ కలిగి ఉంటుంది. ఎండ్పాయింట్లో ఏదైనా నెట్వర్క్ ఎండ్పాయింట్ మారితే, క్లస్టర్లోని ప్రతి నోడ్లో ఎండ్పాయింట్ యొక్క మొత్తం వనరును పంపిణీ చేయాలి. 3000 నోడ్లను కలిగి ఉన్న క్లస్టర్తో వ్యవహరించే విషయానికి వస్తే, ప్రతి నోడ్కు భారీ సంఖ్యలో నవీకరణలను పంపాల్సిన అవసరం ఉన్నందున ఇది చాలా పెద్ద సమస్యగా మారుతుంది. అందువల్ల, మీరు ఒకే ముగింపు పాయింట్లో ఎక్కువ స్కేల్ చేసినప్పుడు, నెట్వర్క్ స్కేలింగ్ కష్టమవుతుంది.
అయినప్పటికీ, ఎండ్పాయింట్స్లైస్లు కుబెర్నెట్లను అవసరమైన మేరకు స్కేల్ చేయడం ద్వారా ఈ సమస్యను పరిష్కరిస్తాయి. IP చిరునామాల యొక్క భారీ జాబితా మరియు వాటి అనుబంధిత పోర్ట్ నంబర్లను కలిగి ఉన్న ఒకే ఎండ్పాయింట్ని ఉపయోగించకుండా, బహుళ EndpointSlicesని ఉపయోగించండి. ఈ ఎండ్పాయింట్స్లైస్లు భారీ సింగిల్ ఎండ్పాయింట్లోని చిన్న భాగాలు. ఈ ముక్కలు చాలా చిన్నవిగా ఉంటాయి, కానీ అవి భారీ ముగింపు బిందువు వల్ల కలిగే భారాన్ని తగ్గిస్తాయి. మీరు ఒక EndpointSliceలో గరిష్టంగా 100 పాడ్లను నిల్వ చేయవచ్చు. ఈ EndpointSlices మీకు సేవను నిర్దిష్ట పాడ్కి పంపిణీ చేయడంలో సహాయపడతాయి. ఏదైనా నెట్వర్క్ ఎండ్పాయింట్ మారితే, మీరు గరిష్టంగా 100 పాడ్లను కలిగి ఉన్న EndpointSliceకి మాత్రమే నవీకరణలను పంపాలి. నెట్వర్క్లోని అన్ని ఇతర పాడ్లు తాకబడవు.
ఇప్పుడు, మనం Kubernetes EndpointSliceని ఎలా సృష్టించాలో తెలుసుకుందాం.
కుబెర్నెట్స్లో ఎండ్పాయింట్స్లైస్లు ఎలా సృష్టించబడతాయి?
Kubernetes ఎండ్పాయింట్స్లైసెస్ అనేది Kubernetes క్లస్టర్లోని ఒక ఎండ్పాయింట్కు ఉత్తమ ప్రత్యామ్నాయం. ఇది అన్ని నెట్వర్క్ ఎండ్పాయింట్లను సులభంగా మరియు సమర్ధవంతంగా ట్రాక్ చేయడంలో మీకు సహాయపడటమే కాకుండా ఒకే ఎండ్ పాయింట్తో పోలిస్తే మెరుగైన పనితీరును అందిస్తుంది. ఇది స్కేలింగ్ విశ్వసనీయతను అందిస్తున్నప్పుడు తక్కువ నెట్వర్క్ ట్రాఫిక్ను కూడా చూపుతుంది. అంతేకాకుండా, బహుళ ఎండ్పాయింట్స్లైస్లను ఉపయోగించడం వలన కుబెర్నెట్స్ క్లస్టర్లోని కంట్రోల్ ప్లేన్ మరియు నోడ్లపై తక్కువ శ్రమను ఉంచవచ్చు.
మీరు క్రింది ఉదాహరణలలో Kubernetes క్లస్టర్లో EndpointSlicesని ఎలా సృష్టించాలో తెలుసుకోవడానికి మిమ్మల్ని అనుమతించే దశలను కలిగి ఉండవచ్చు.
దశ 1: మినీక్యూబ్ క్లస్టర్ను ప్రారంభించండి
మినీక్యూబ్ క్లస్టర్ సక్రియంగా ఉందని నిర్ధారించుకోవడం మొదటి మరియు ప్రధానమైన దశ. క్రియారహిత మినీక్యూబ్ క్లస్టర్ మిమ్మల్ని కుబెర్నెట్స్ ఎన్విరాన్మెంట్లో ఏ పనిని చేయడానికి అనుమతించదు, కాబట్టి ఇది సక్రియ మోడ్లో ఉందని నిర్ధారించుకోండి. మినీక్యూబ్ క్లస్టర్ అప్ మరియు రన్ అవుతుందని నిర్ధారించుకోవడానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
> మినీక్యూబ్ని ప్రారంభించండి
మీ మినీక్యూబ్ క్లస్టర్ ఇంతకు ముందు ప్రారంభించబడకపోతే లేదా అది స్లీప్ మోడ్లో ఉన్నట్లయితే, ఈ కమాండ్ దానిని మేల్కొల్పుతుంది మరియు దానిని అమలు చేస్తుంది. ఇప్పుడు, మీకు సక్రియ మినీక్యూబ్ క్లస్టర్ ఉంది. మీరు మీ కుబెర్నెట్స్ వాతావరణంలో EndpointSliceని సృష్టించడానికి సిద్ధంగా ఉన్నారు.
దశ 2: YAML ఫైల్తో విస్తరణను సృష్టించండి
విస్తరణలను రూపొందించడానికి కుబెర్నెట్స్లో YAML ఫైల్ సాధారణంగా ఉపయోగించబడుతుంది. మీరు ముందుగా ఉన్న విస్తరణ YAML ఫైల్ను ఉపయోగించవచ్చు లేదా కింది ఆదేశంతో మీరు కొత్తదాన్ని సృష్టించవచ్చు:
> నానో endpoint.yamlఇది 'endpoint.yaml' పేరుతో కొత్త YAML ఫైల్ను సృష్టిస్తుంది, ఇక్కడ మీరు కాన్ఫిగరేషన్ కోసం విస్తరణ నిర్వచనాన్ని సేవ్ చేయవచ్చు. కింది స్క్రీన్షాట్లో విస్తరణ నిర్వచనాన్ని చూడండి:
దశ 3: YAML ఫైల్ని ఉపయోగించి EndpointSliceని సృష్టించండి
ఇప్పుడు మేము విస్తరణ నిర్వచనాన్ని కలిగి ఉన్న YAML ఫైల్ని కలిగి ఉన్నాము, మేము దానిని మా కుబెర్నెట్స్ క్లస్టర్లో ఎండ్పాయింట్స్లైస్లను సృష్టించడానికి ఉపయోగిస్తాము. మేము కాన్ఫిగరేషన్ ఫైల్ను అమలు చేయాలి, తద్వారా మనం కుబెర్నెట్స్ క్లస్టర్లో ఎండ్పాయింట్స్లైస్లను కలిగి ఉండవచ్చు. కాన్ఫిగరేషన్ ఫైల్ను అమలు చేయడానికి మేము కింది ఆదేశాన్ని ఉపయోగిస్తాము:
> kubectl create -f endpoint.yamlకుబెర్నెటెస్ వాతావరణంలో, “kubectl create” ఆదేశాన్ని ఉపయోగించి వనరులు సృష్టించబడతాయి. కాబట్టి, YAML కాన్ఫిగరేషన్ ఫైల్ నుండి EndpointSlicesని సృష్టించడానికి మేము “kubectl create” ఆదేశాన్ని ఉపయోగిస్తాము.
ముగింపు
మేము కుబెర్నెట్స్ వాతావరణంలో EndpointSlicesని అన్వేషించాము. కుబెర్నెట్స్లోని ఎండ్పాయింట్స్లైస్ అనేది కుబెర్నెట్స్ క్లస్టర్లోని అన్ని నెట్వర్క్ ఎండ్ పాయింట్లను ట్రాక్ చేయడానికి ఉపయోగించే ఒక వస్తువు. ఇది మంచి స్కేలబిలిటీ మరియు ఎక్స్టెన్సిబిలిటీ ఆప్షన్లను అనుమతిస్తుంది కాబట్టి కుబెర్నెట్స్ క్లస్టర్లోని భారీ మరియు సింగిల్ ఎండ్పాయింట్కి ఇది ఉత్తమ ప్రత్యామ్నాయం. ఈ ఎండ్పాయింట్స్లైస్లు నోడ్స్ మరియు కంట్రోల్ ప్లేన్పై తక్కువ శ్రమను ఉంచడం ద్వారా మెరుగైన పనితీరును అందించడానికి కుబెర్నెట్స్ క్లస్టర్ను ఎనేబుల్ చేస్తాయి. ఒక ఉదాహరణ సహాయంతో, మేము Kubernetes క్లస్టర్లో EndpointSlicesని ఎలా సృష్టించాలో నేర్చుకున్నాము.