Dak li ġie l-ewwel - it-tiġieġ jew il-bajda? Bidu pjuttost stramb għal artiklu dwar Infrastructure-as-Code, hux?
X'inhu bajda?
Ħafna drabi, Infrastructure-as-Code (IaC) huwa mod dikjarattiv kif tirrappreżenta l-infrastruttura. Fiha niddeskrivu l-istat li rridu niksbu, nibda mill-parti tal-ħardwer u tispiċċa bil-konfigurazzjoni tas-softwer. Għalhekk IaC jintuża għal:
Provvediment tar-Riżorsi. Dawn huma VMs, S3, VPC, eċċ. Għodod bażiċi għax-xogħol: Terraform и CloudFormation.
Kwalunkwe kodiċi jinsab fir-repożitorji git. U illum jew għada l-mexxej tat-tim jiddeċiedi li jeħtieġ li jitpoġġew fl-ordni. U hu se jirrifactor. U se toħloq xi struttura. U se jara li dan huwa tajjeb.
Tajjeb ukoll li diġà teżisti GitLab и GitHub-fornitur għal Terraform (u dan huwa Konfigurazzjoni tas-Software). Bl-għajnuna tagħhom, tista 'tmexxi l-proġett kollu: membri tat-tim, CI/CD, git-flow, eċċ.
Minn fejn ġiet il-bajda?
Għalhekk qed noqorbu gradwalment il-mistoqsija ewlenija.
L-ewwelnett, trid tibda b'repożitorju li jiddeskrivi l-istruttura ta 'repożitorji oħra, inkluż lilek innifsek. U ovvjament, bħala parti minn GitOps, trid iżżid CI sabiex il-bidliet jitwettqu awtomatikament.
Jekk Git għadu ma nħoloqx?
Kif taħżen f'Git?
Kif tinstalla CI?
Jekk niskjeraw ukoll Gitlab billi nużaw IaC, u anke f'Kubernetes?
U GitLab Runner ukoll f'Kubernetes?
Xi ngħidu dwar Kubernetes fil-fornitur tal-cloud?
Dak li ġie l-ewwel: il-GitLab fejn ser intella' l-kodiċi tiegħi, jew il-kodiċi li jiddeskrivi x'tip ta' GitLab għandi bżonn?
Oħloq cluster Kubernetes billi tittrasferixxi token tal-kont lejh.
Ikseb KUBECONFIG mill-cluster maħluq.
Installa GitLab fuq Kubernetes.
Ikseb GitLab-token minn GitLab maħluqa għall-utent għeruq.
Oħloq struttura ta' proġett f'GitLab billi tuża GitLab-token.
Imbotta l-kodiċi eżistenti għal GitLab.
?
Qligħ!
Pass 1. It-token jista 'jinkiseb fit-taqsima Ċwievet API.
Pass 2. Aħna nippreparaw Terraform tagħna għal "ħami" grupp ta '2 nodi. Jekk int żgur li għandek biżżejjed riżorsi għal kollox, allura tista' tattiva l-kwoti awtomatiċi:
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
Sfortunatament, terraform GitLab fornitur għandu f'wiċċ l-ilma bug. Imbagħad ikollok tħassar il-proġetti konfliġġenti manwalment sabiex tf.state jiġi ffissat. Imbagħad erġa wettaq il-kmand `$make all`
Pass 9. Aħna nittrasferixxu repożitorji lokali għas-server.
Ksibna li nistgħu namministraw kollox b'mod dikjarattiv mill-magna lokali tagħna. Issa rrid nittrasferixxi dawn il-kompiti kollha lil CI u agħfas il-buttuni biss. Biex nagħmlu dan, għandna bżonn nittrasferixxu l-istati lokali tagħna (stat Terraform) għal CI. Kif tagħmel dan jinsab fil-parti li jmiss.
Abbona għal tagħna blogbiex ma titlifx ir-rilaxx ta’ artikli ġodda!