మొదట ఏది వచ్చింది - కోడి లేదా గుడ్డు? ఇన్ఫ్రాస్ట్రక్చర్-యాజ్-కోడ్ గురించి కథనానికి చాలా విచిత్రమైన ప్రారంభం, కాదా?
గుడ్డు అంటే ఏమిటి?
చాలా తరచుగా, ఇన్ఫ్రాస్ట్రక్చర్-యాజ్-కోడ్ (IaC) అనేది ఇన్ఫ్రాస్ట్రక్చర్ను సూచించే డిక్లరేటివ్ మార్గం. అందులో హార్డ్వేర్ భాగం నుండి ప్రారంభించి సాఫ్ట్వేర్ కాన్ఫిగరేషన్తో మనం సాధించాలనుకుంటున్న స్థితిని వివరిస్తాము. కాబట్టి IaC దీని కోసం ఉపయోగించబడుతుంది:
వనరుల కేటాయింపు. ఇవి VMలు, S3, VPC, మొదలైనవి. పని కోసం ప్రాథమిక సాధనాలు: Terraform и క్లౌడ్ ఫార్మేషన్.
ఏదైనా కోడ్ git రిపోజిటరీలలో ఉంటుంది. మరియు ముందుగానే లేదా తరువాత జట్టు నాయకుడు వాటిని క్రమంలో ఉంచాల్సిన అవసరం ఉందని నిర్ణయిస్తారు. మరియు అతను రీఫాక్టర్ చేస్తాడు. మరియు ఇది కొంత నిర్మాణాన్ని సృష్టిస్తుంది. మరియు ఇది మంచిదని అతను చూస్తాడు.
ఇది ఇప్పటికే ఉనికిలో ఉండటం కూడా మంచిది GitLab и గ్యాలరీలుటెర్రాఫార్మ్ కోసం ప్రొవైడర్ (మరియు ఇది సాఫ్ట్వేర్ కాన్ఫిగరేషన్). వారి సహాయంతో, మీరు మొత్తం ప్రాజెక్ట్ను నిర్వహించవచ్చు: బృంద సభ్యులు, CI/CD, git-flow మొదలైనవి.
గుడ్డు ఎక్కడ నుండి వచ్చింది?
కాబట్టి మేము క్రమంగా ప్రధాన ప్రశ్నకు చేరుకుంటున్నాము.
అన్నింటిలో మొదటిది, మీరు మీతో సహా ఇతర రిపోజిటరీల నిర్మాణాన్ని వివరించే రిపోజిటరీతో ప్రారంభించాలి. మరియు వాస్తవానికి, GitOpsలో భాగంగా, మీరు CIని జోడించాలి, తద్వారా మార్పులు స్వయంచాలకంగా అమలు చేయబడతాయి.
Git ఇంకా సృష్టించబడకపోతే?
దీన్ని Gitలో ఎలా నిల్వ చేయాలి?
CIని ఎలా ఇన్స్టాల్ చేయాలి?
మేము IaCని ఉపయోగించి మరియు కుబెర్నెట్స్లో కూడా Gitlabని అమలు చేస్తే?
మరియు కుబెర్నెట్స్లో కూడా గిట్ల్యాబ్ రన్నర్?
క్లౌడ్ ప్రొవైడర్లోని కుబెర్నెట్స్ గురించి ఏమిటి?
మొదట ఏమి వచ్చింది: నేను నా కోడ్ని అప్లోడ్ చేసే GitLab లేదా నాకు ఎలాంటి GitLab అవసరమో వివరించే కోడ్?
2 అడుగు. మేము 2 నోడ్ల క్లస్టర్ను "బేకింగ్" చేయడానికి మా టెర్రాఫామ్ను సిద్ధం చేస్తాము. మీరు అన్నింటికీ తగినన్ని వనరులను కలిగి ఉన్నారని మీకు ఖచ్చితంగా తెలిస్తే, మీరు ఆటో కోటాలను ప్రారంభించవచ్చు:
మేము చాలా మందికి ప్రామాణికమైనదాన్ని ఉపయోగిస్తాము nginx-ప్రవేశం. దీన్ని ఇన్స్టాల్ చేయడానికి ఇప్పటికే చాలా సూచనలు ఉన్నాయి, కాబట్టి మేము దానిపై నివసించము.
8 అడుగు. Gitlab ప్రొవైడర్ని ఉపయోగించి Git రిపోజిటరీలను సరైన సోపానక్రమానికి తీసుకురావడం.
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
దురదృష్టవశాత్తూ, టెర్రాఫార్మ్ GitLab ప్రొవైడర్లో ఫ్లోటింగ్ ఉంది బగ్. అప్పుడు మీరు tf.state పరిష్కరించబడాలంటే వైరుధ్య ప్రాజెక్ట్లను మాన్యువల్గా తొలగించాలి. ఆపై `$make all` ఆదేశాన్ని మళ్లీ అమలు చేయండి
9 అడుగు. మేము స్థానిక రిపోజిటరీలను సర్వర్కు బదిలీ చేస్తాము.
మేము మా స్థానిక యంత్రం నుండి ప్రతి విషయాన్ని డిక్లరేటివ్గా నిర్వహించగలమని మేము సాధించాము. ఇప్పుడు నేను ఈ పనులన్నింటినీ CIకి బదిలీ చేయాలనుకుంటున్నాను మరియు బటన్లను నొక్కండి. దీన్ని చేయడానికి, మేము మా స్థానిక రాష్ట్రాలను (టెర్రాఫార్మ్ స్టేట్) CIకి బదిలీ చేయాలి. దీన్ని ఎలా చేయాలో తదుపరి భాగంలో ఉంది.
మా సబ్స్క్రయిబ్ బ్లాగ్కొత్త కథనాల విడుదలను కోల్పోకుండా ఉండేందుకు!