Apa sing luwih dhisik - pitik utawa endhog? Wiwitan sing aneh kanggo artikel babagan Infrastruktur-as-Code, ta?
Apa iku endhog?
Paling asring, Infrastructure-as-Code (IaC) minangka cara deklaratif kanggo makili infrastruktur. Ing kono kita njlèntrèhaké negara sing arep digayuh, wiwit saka bagean hardware lan pungkasan karo konfigurasi piranti lunak. Mulane IaC digunakake kanggo:
Penyediaan Sumber Daya. Iki minangka VM, S3, VPC, lsp. Alat dhasar kanggo karya: Terraform и CloudFormation.
Sembarang kode ana ing repositori git. Lan cepet utawa mengko pimpinan tim bakal mutusake manawa kudu ditata. Lan dheweke bakal refactor. Lan bakal nggawe sawetara struktur. Lan dheweke bakal weruh yen iki apik.
Iku uga apik yen wis ana GitLab и GitHub-panyedhiya kanggo Terraform (lan iki Konfigurasi Software). Kanthi bantuan, sampeyan bisa ngatur kabeh proyek: anggota tim, CI / CD, git-flow, lsp.
Saka endi endhoge?
Supaya kita mboko sithik nyedhaki pitakonan utama.
Kaping pisanan, sampeyan kudu miwiti karo repositori sing nggambarake struktur repositori liyane, kalebu sampeyan dhewe. Lan mesthi, minangka bagéan saka GitOps, sampeyan kudu nambah CI supaya owah-owahan dieksekusi kanthi otomatis.
Yen Git durung digawe?
Kepiye cara nyimpen ing Git?
carane kanggo nginstal CI?
Yen kita uga nyebar Gitlab nggunakake IaC, lan malah ing Kubernetes?
Lan GitLab Runner uga ing Kubernetes?
Kepiye babagan Kubernetes ing panyedhiya awan?
Apa sing luwih dhisik: GitLab ing ngendi aku bakal ngunggah kodeku, utawa kode sing nggambarake jenis GitLab sing aku butuhake?
Entuk MY_SELECTEL_TOKEN saka panel my.selectel.ru.
Gawe kluster Kubernetes kanthi nransfer token akun kasebut.
Entuk KUBECONFIG saka kluster sing digawe.
Instal GitLab ing Kubernetes.
Entuk GitLab-token saka GitLab digawe kanggo pangguna ROOT.
Nggawe struktur proyek ing GitLab nggunakake GitLab-token.
Push kode sing ana menyang GitLab.
???
Keuntungan!
langkah 1. Token bisa dipikolehi ing bagean kasebut Kunci API.
langkah 2. Kita nyiapake Terraform kanggo "baking" kluster 2 simpul. Yen sampeyan yakin duwe sumber daya sing cukup kanggo kabeh, sampeyan bisa ngaktifake kuota otomatis:
langkah 8. Nggawa repositori Git menyang hierarki sing bener nggunakake Panyedhiya Gitlab.
cd ../internal/gitlab/hierarchy && terraform apply -input=false -auto-approve planfile
Sayange, panyedhiya terraform GitLab duwe floating bug. Banjur sampeyan kudu mbusak proyèk konflik kanthi manual supaya tf.state bisa didandani. Banjur mulihake printah `$make all`
langkah 9. Kita nransfer repositori lokal menyang server.
Kita wis entuk manawa bisa ngatur kabeh kanthi deklaratif saka mesin lokal. Saiki aku pengin nransfer kabeh tugas kasebut menyang CI lan mung pencet tombol. Kanggo nindakake iki, kita kudu nransfer negara lokal kita (negara Terraform) menyang CI. Carane nindakake iki ing bagean sabanjure.
Langganan kita blogsupaya ora kantun release artikel anyar!