కుబెర్నెట్స్లో CRD అంటే ఏమిటి?
CRD అంటే మరొక API సర్వర్ని జోడించకుండా కొత్త వనరుల కోసం ఉపయోగించే కస్టమ్ రిసోర్స్ డెఫినిషన్. CRDలతో పని చేయడానికి, మీరు API అగ్రిగేషన్ను అర్థం చేసుకోవలసిన అవసరం లేదు. ఇది వివిధ అంతర్నిర్మిత వనరులు మరియు API ఆబ్జెక్ట్లతో రవాణా చేయడానికి కుబెర్నెటెస్ 1.7లో ప్రవేశపెట్టబడిన చాలా శక్తివంతమైన ఫీచర్. ఇది మీకు నచ్చిన స్కీమా మరియు పేరుతో అనుకూల వనరులను నిర్వచించడానికి మిమ్మల్ని అనుమతిస్తుంది.
CRDలు అనుకూల వనరుల నిర్వచనాలను ఉపయోగించడం ద్వారా డిఫాల్ట్ ఇన్స్టాలేషన్ను మించి కుబెర్నెట్స్ API సామర్థ్యాలను విస్తరించాయి. CRDలను ఉపయోగించడం ద్వారా, మీరు కుబెర్నెట్లను కేవలం కంటైనర్ల కంటే ఎక్కువగా నిర్వహించగలిగే విధంగా మార్గనిర్దేశం చేయవచ్చు. కస్టమ్ కంట్రోలర్లను ఉపయోగించడం ద్వారా మీరు మీ స్వంత ఎంపిక యొక్క అనుకూల వనరును సృష్టించవచ్చు మరియు దానిని డిక్లరేటివ్గా చేయవచ్చు. ఇప్పుడు, కస్టమ్ రిసోర్స్ డెఫినిషన్ని ఎలా క్రియేట్ చేయాలో తెలుసుకుందాం మరియు CRDని నియంత్రించడానికి కస్టమ్ కంట్రోలర్ని డిజైన్ చేయండి. ఆపై కుబెర్నెట్స్పై దాని ప్రభావాన్ని చూడటానికి CDRని ఎలా తొలగించాలి.
ముందస్తు అవసరం
మేము CRD సృష్టి మరియు తొలగింపు దశలకు వెళ్లే ముందు, మా సిస్టమ్ ముందస్తు అవసరాలకు సంబంధించిన అన్ని అవసరాలకు అనుగుణంగా ఉందని నిర్ధారించుకుందాం.
- ఉబుంటు 20.04 లేదా ఏదైనా ఇతర తాజా వెర్షన్ పని చేయడానికి Linux/Unix వాతావరణాన్ని కలిగి ఉంటుంది.
- కుబెర్నెటెస్ క్లస్టర్.
- Kubectl CLI kubectl ఆదేశాలు, క్లస్టర్ కమ్యూనికేషన్ మరియు అభివృద్ధి వాతావరణాన్ని నిర్వహించడానికి.
- క్లస్టర్లను సృష్టించడం కోసం మినీక్యూబ్ లేదా ఏదైనా ఇతర కుబెర్నెట్స్ ప్లేగ్రౌండ్
మీరు వాటిని ఇంకా ఇన్స్టాల్ చేయకుంటే, తదుపరి విభాగానికి వెళ్లే ముందు ఈ సాధనాలను ఇన్స్టాల్ చేయండి.
ఇప్పుడు, మేము కుబెర్నెట్స్లో CRDలను ఎలా సృష్టించాలో దశల వారీ మార్గదర్శినికి వెళ్తాము.
దశ # 1: కుబెర్నెట్లను ప్రారంభించండి
CDRలతో పని చేయడానికి, మీరు కంట్రోల్ ప్లేన్ హోస్ట్లుగా పని చేయని కనీసం రెండు కుబెర్నెట్స్ నోడ్లతో కూడిన క్లస్టర్ని కలిగి ఉండాలి. మేము క్లస్టర్ని సృష్టించడానికి మరియు ఉపయోగించడానికి మినీక్యూబ్ని ఉపయోగిస్తున్నాము. కాబట్టి, minikubeని ప్రారంభించడానికి క్రింద ఇచ్చిన ఆదేశాన్ని ఉపయోగించండి:
> minikube ప్రారంభించండిమీరు ఈ ఆదేశాన్ని అమలు చేసినప్పుడు, మీరు క్రింద ఇవ్వబడిన దానికి సమానమైన అవుట్పుట్ను పొందుతారు:
దశ # 2: కాన్ఫిగరేషన్ ఫైల్ను తెరవండి లేదా సృష్టించండి
ఇప్పుడు మన minikube అమలులో ఉంది, మనం కాన్ఫిగరేషన్ ఫైల్ను తెరవండి. కాన్ఫిగరేషన్ ఫైల్లను తెరవడానికి 'నానో' కమాండ్ ఉపయోగించబడుతుంది. మీరు చేయాల్సిందల్లా ఫైల్ ఎక్స్టెన్షన్ తర్వాత నానో కమాండ్ పక్కన ఫైల్ పేరును అందించడం మరియు ఎంటర్ నొక్కండి. ఇక్కడ, మేము CRDలను సృష్టించడానికి కాన్ఫిగరేషన్ వివరాలను కలిగి ఉన్న ‘red.yaml’ ఫైల్ని కలిగి ఉన్నాము. మీకు కావలసిన ఫైల్ను తెరవడానికి మీరు ఉపయోగించగల పూర్తి నానో కమాండ్ ఇక్కడ ఉంది:
> నానో red.yamlమీరు ఈ ఆదేశాన్ని అమలు చేసినప్పుడు, కింది ఫైల్ మీ టెర్మినల్లో తెరవబడుతుంది:
దశ # 3: ఎండ్పాయింట్ రిసోర్స్ను సృష్టించండి
కాన్ఫిగరేషన్ వనరులు red.yamlలో సేవ్ చేయబడ్డాయి. కొత్త నేమ్స్పేస్డ్ RESTful API ఎండ్పాయింట్ని సృష్టించడానికి మేము దానిని ఉపయోగిస్తాము. కాన్ఫిగరేషన్ ఫైల్ నుండి ఎండ్పాయింట్ను సృష్టించడానికి Kubectl 'apply' ఆదేశాన్ని అందిస్తుంది. కొత్త నేమ్స్పేస్డ్ RESTful APIని సృష్టించడానికి ఉపయోగించే పూర్తి 'వర్తించు' కమాండ్ ఇక్కడ ఉంది:
> kubectl వర్తిస్తాయి -ఎఫ్ red.yamlఈ ఆదేశం ద్వారా సృష్టించబడిన ముగింపు పాయింట్ CRDని నియంత్రించే కస్టమ్ ఆబ్జెక్ట్ని సృష్టించడానికి ఉపయోగించబడుతుంది. నేమ్స్పేస్డ్ రిసోర్స్ కోసం క్రింది అవుట్పుట్ ఉత్పత్తి చేయబడుతుంది:
దశ # 4: CRDని నియంత్రించడానికి అనుకూల వస్తువును సృష్టించండి
CRDలు అనుకూల వస్తువులచే నియంత్రించబడతాయి. కస్టమ్ రిసోర్స్ నిర్వచనం సృష్టించబడిన తర్వాత మేము వాటిని సృష్టించవచ్చు. అనుకూల వస్తువులు ఏకపక్ష JSON అనుకూల ఫీల్డ్లను కలిగి ఉంటాయి. కస్టమ్ ఆబ్జెక్ట్ని సృష్టించడానికి, మనకు మళ్లీ YAML కాన్ఫిగరేషన్ ఫైల్ అవసరం. YAML కాన్ఫిగరేషన్ ఫైల్ను సృష్టించడానికి 'nano' ఆదేశాన్ని ఉపయోగించండి:
> నానో ct.yamlYAML ఫైల్లోని నిర్దిష్ట వివరాలతో అవసరమైన ఫీల్డ్లను సేవ్ చేయండి. నమూనా కాన్ఫిగరేషన్ వివరాలు క్రింది నమూనాలో చూపబడ్డాయి:
ఇప్పుడు, కస్టమ్ ఆబ్జెక్ట్ని సృష్టించడానికి అదే YAML ఫైల్ని ఉపయోగించండి. పేర్కొన్న YAML ఫైల్ నుండి కస్టమ్ ఆబ్జెక్ట్ను సృష్టించడానికి 'apply' ఆదేశాన్ని ఉపయోగించండి. క్రింద ఇవ్వబడిన పూర్తి ఆదేశాన్ని చూడండి:
> kubectl వర్తిస్తాయి -ఎఫ్ ct.yamlఈ ఆదేశాన్ని విజయవంతంగా అమలు చేసిన తర్వాత, మీరు ఈ క్రింది అవుట్పుట్ను పొందుతారు:
దశ # 5: CRDని అనుకూల వస్తువుతో నిర్వహించండి
CRDలను నిర్వహించడానికి అనుకూల వస్తువులు ఉపయోగించబడతాయి. కాబట్టి, ఇప్పటికే సృష్టించిన CRDని నిర్వహించడానికి ఇటీవల సృష్టించిన అనుకూల వస్తువును ఎలా ఉపయోగించవచ్చో తెలుసుకుందాం. ఇక్కడ, మనం ‘గెట్’ కమాండ్ని ఉపయోగించడం ద్వారా కస్టమ్ ఆబ్జెక్ట్ని కలిగి ఉన్న వివరాలను తనిఖీ చేయబోతున్నాం. దిగువ కోడ్ స్నిప్పెట్లో ఇవ్వబడిన ఆదేశాన్ని చూడండి:
> kubectl క్రోంటాబ్ పొందండిమీరు minikube టెర్మినల్లో ఈ ఆదేశాన్ని అమలు చేసినప్పుడు, కింది అవుట్పుట్ ఉత్పత్తి చేయబడుతుంది:
మీరు YAML ఫైల్లో ఉన్న ముడి డేటాను తనిఖీ చేయాలనుకుంటే, మీరు ఈ ఆదేశాన్ని ఉపయోగించవచ్చు:
> kubectl CT పొందండి -ది యమల్ఇది దిగువ ఇవ్వబడిన నమూనా వలె YAML ఫైల్లో ముడి డేటాను చూపుతుంది:
సృష్టించిన CRDని నిర్వహించడానికి మరియు నియంత్రించడానికి మేము CRD మరియు అనుకూల వస్తువును ఈ విధంగా సృష్టించవచ్చు. ఇప్పుడు, మీరు సృష్టించిన CRDని తొలగించాలనుకుంటే, మీరు క్రింద ఇచ్చిన విధానాన్ని అనుసరించవచ్చు.
కుబెర్నెట్స్లో సృష్టించబడిన CRDలను ఎలా తొలగించాలి?
కుబెర్నెట్స్లోని CRDలను తొలగించడానికి kubectl ఆదేశాలు మిమ్మల్ని అనుమతిస్తాయి. మీరు కుబెర్నెట్స్లో CRDని తొలగించడానికి ప్రయత్నించినప్పుడు, దానితో అనుబంధించబడిన అనుకూల వనరులు కూడా తొలగించబడతాయి. ఏదైనా వనరును తొలగించడానికి kubectl 'delete' ఆదేశాన్ని అందిస్తుంది. పైన ఉన్న దశల్లో మనం సృష్టించిన CRDని తొలగించడానికి క్రింద ఇవ్వబడిన ఆదేశం ఉపయోగించబడుతుంది:
> kubectl తొలగించండి -ఎఫ్ red.yamlఈ ఆదేశాన్ని విజయవంతంగా అమలు చేసిన తర్వాత, మీరు ఈ క్రింది ఫలితాన్ని పొందుతారు:
ఇప్పుడు CRD మరియు దానితో అనుబంధించబడిన కస్టమ్ ఆబ్జెక్ట్లు తొలగించబడ్డాయి, మీరు దాన్ని యాక్సెస్ చేయడానికి ప్రయత్నిస్తే సర్వర్ నుండి ఎర్రర్ వస్తుంది. మేము నేమ్స్పేస్డ్ RESTful APIని యాక్సెస్ చేయడానికి ప్రయత్నిస్తున్న చోట క్రింద ఇవ్వబడిన ఆదేశాన్ని చూడండి:
> kubeclt క్రాంటాబ్లను పొందండి'crontabs' తొలగించబడినందున, సర్వర్ ఈ చర్య కోసం లోపాన్ని పెంచుతుంది. క్రింద ఇవ్వబడిన ఈ కమాండ్ అవుట్పుట్ చూడండి:
ముగింపు
ఈ కథనం కస్టమ్ రిసోర్స్ డెఫినిషన్ను ఎలా సృష్టించాలి, CRDలను నియంత్రించడానికి కస్టమ్ ఆబ్జెక్ట్ను ఎలా సృష్టించాలి మరియు కుబెర్నెటెస్ నుండి CRDని ఎలా తొలగించాలి అనే వాటి యొక్క శీఘ్ర అవలోకనం. నమూనా ఉదాహరణల సహాయంతో, ప్రక్రియను సులభంగా మరియు త్వరగా అర్థం చేసుకోవడంలో మీకు సహాయపడటానికి మేము ప్రతి దశను ప్రదర్శించాము.