Zer izan zen lehen - oilaskoa ala arrautza? Nahiko hasiera bitxia Infrastructure-as-Code-ri buruzko artikulu batentzat, ezta?
Zer da arrautza?
Gehienetan, Infrastructure-as-Code (IaC) azpiegiturak irudikatzeko modu deklaratiboa da. Bertan lortu nahi dugun egoera deskribatzen dugu, hardware zatitik hasi eta software konfigurazioarekin amaituz. Beraz, IaC hauetarako erabiltzen da:
Baliabideen hornidura. Hauek VM, S3, VPC, etab. Lanerako oinarrizko tresnak: Terraform ΠΈ CloudFormation.
Edozein kodea git biltegietan dago. Eta lehenago edo beranduago taldeburuak erabakiko du ordenatu behar direla. Eta birfaktorea egingo du. Eta egituraren bat sortuko du. Eta hori ona dela ikusiko du.
Dagoeneko existitzea ere ona da GitLab ΠΈ GitHub-Terraform-en hornitzailea (eta hau Software Konfigurazioa da). Haien laguntzarekin, proiektu osoa kudeatu dezakezu: taldekideak, CI/CD, git-flow, etab.
Nondik atera zen arrautza?
Beraz, pixkanaka galdera nagusira hurbiltzen ari gara.
Lehenik eta behin, beste biltegi batzuen egitura deskribatzen duen biltegi batekin hasi behar duzu, zuk zeuk barne. Eta noski, GitOps-en zati gisa, CI gehitu behar duzu aldaketak automatikoki exekutatu daitezen.
Git oraindik sortu ez bada?
Nola gorde Git-en?
Nola instalatu CI?
Gitlab ere zabaltzen badugu IaC erabiliz, eta baita Kubernetes-en ere?
Eta GitLab Runner-ek Kubernetesen ere?
Zer gertatzen da Kubernetes hodeiko hornitzailean?
Zer izan zen lehenik: nire kodea igoko dudan GitLab-a, edo zer nolako GitLab behar dudan deskribatzen duen kodea?
Sortu Kubernetes kluster bat hari kontu-token bat transferituz.
Lortu KUBECONFIG sortutako klusteretik.
Instalatu GitLab Kubernetes-en.
Eskuratu erabiltzailearentzako sortutako GitLab-etik GitLab-tokena root.
Sortu proiektuaren egitura GitLab-en GitLab-token erabiliz.
Bidali lehendik dagoen kodea GitLab-era.
?
Irabazi asmorik!
Urratsera 1. Tokena atalean lor daiteke API gakoak.
Urratsera 2. Gure Terraform 2 nodo multzo bat "labean" egiteko prestatzen dugu. Ziur bazaude guztietarako nahikoa baliabide dituzula, orduan automatikoki kuotak gaitu ditzakezu:
Urratsera 8. Git biltegiak hierarkia egokira ekartzea Gitlab hornitzailea erabiliz.
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
Zoritxarrez, terraform GitLab hornitzaileak flotagarria du akatsa. Orduan gatazkan dauden proiektuak eskuz ezabatu beharko dituzu tf.state konpondu ahal izateko. Ondoren, berriro exekutatu `$make all` komandoa
Urratsera 9. Tokiko biltegiak zerbitzarira transferitzen ditugu.
Gure tokiko makinatik dena modu deklaratiboan kudeatu ahal izatea lortu dugu. Orain zeregin horiek guztiak CIra transferitu nahi ditut eta botoiak sakatu besterik ez dut. Horretarako, gure tokiko estatuak (Terraform estatua) CIra transferitu behar ditugu. Nola egin hurrengo zatian dago.
Harpidetu gure blogartikulu berrien kaleratzea ez galtzeko!