Çfarë erdhi e para - pula apo veza? Një fillim mjaft i çuditshëm për një artikull rreth Infrastrukturës-as-Code, apo jo?
Çfarë është një vezë?
Më shpesh, Infrastructure-as-Code (IaC) është një mënyrë deklarative e paraqitjes së infrastrukturës. Në të përshkruajmë gjendjen që duam të arrijmë, duke filluar nga pjesa e harduerit dhe duke përfunduar me konfigurimin e softuerit. Prandaj IaC përdoret për:
Sigurimi i burimeve. Këto janë VM, S3, VPC, etj. Mjetet bazë për punë: Terraform и Formimi i reve.
Çdo kod është në magazinat git. Dhe herët a vonë drejtuesi i ekipit do të vendosë që ato duhet të rregullohen. Dhe ai do të rifaktojë. Dhe kjo do të krijojë një strukturë. Dhe ai do të shohë se kjo është e mirë.
Është gjithashtu mirë që ekziston tashmë GitLab и GitHub-ofrues për Terraform (dhe ky është konfigurimi i softuerit). Me ndihmën e tyre, ju mund të menaxhoni të gjithë projektin: anëtarët e ekipit, CI/CD, git-flow, etj.
Nga erdhi veza?
Pra gradualisht po i afrohemi pyetjes kryesore.
Para së gjithash, duhet të filloni me një depo që përshkruan strukturën e depove të tjera, duke përfshirë edhe veten tuaj. Dhe sigurisht, si pjesë e GitOps, duhet të shtoni CI në mënyrë që ndryshimet të ekzekutohen automatikisht.
Nëse Git nuk është krijuar ende?
Si ta ruani atë në Git?
Si të instaloni CI?
Nëse vendosim edhe Gitlab duke përdorur IaC, madje edhe në Kubernetes?
Dhe GitLab Runner gjithashtu në Kubernetes?
Po Kubernetes në ofruesin e cloud?
Çfarë erdhi e para: GitLab ku do të ngarkoj kodin tim, ose kodi që përshkruan se çfarë lloj GitLab më nevojitet?
Krijo një grup Kubernetes duke transferuar një shenjë llogarie në të.
Merrni KUBECONFIG nga grupi i krijuar.
Instaloni GitLab në Kubernetes.
Merrni GitLab-token nga GitLab krijuar për përdoruesit rrënjë.
Krijo një strukturë projekti në GitLab duke përdorur GitLab-token.
Shtyni kodin ekzistues në GitLab.
?
Fitimi!
Hapi 1. Shenja mund të merret në seksion Çelësat API.
Hapi 2. Ne përgatisim Terraformin tonë për "pjekjen" e një grupi prej 2 nyjesh. Nëse jeni të sigurt se keni burime të mjaftueshme për gjithçka, atëherë mund të aktivizoni kuotat automatike:
Hapi 8. Sjellja e depove Git në hierarkinë e duhur duke përdorur Ofruesin Gitlab.
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
Fatkeqësisht, ofruesi terraform GitLab ka një lundrues insekt. Pastaj do t'ju duhet të fshini manualisht projektet konfliktuale në mënyrë që tf.state të rregullohet. Pastaj ekzekutoni përsëri komandën `$make all`
Ne kemi arritur që të mund të menaxhojmë gjithçka në mënyrë deklarative nga makina jonë lokale. Tani dua t'i transferoj të gjitha këto detyra në CI dhe thjesht shtyp butonat. Për ta bërë këtë, ne duhet të transferojmë shtetet tona lokale (shteti Terraform) në CI. Si ta bëni këtë është në pjesën tjetër.
Regjistrohu në tonë blogpër të mos humbur publikimin e artikujve të rinj!