Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Akeh wong sing ngerti lan nggunakake Terraform ing karya saben dinane, nanging praktik paling apik kanggo iku durung dibentuk. Saben tim kudu nggawe pendekatan lan metode dhewe.

Prasarana sampeyan meh mesthi diwiwiti kanthi gampang: sawetara sumber daya + sawetara pangembang. Sajrone wektu, tuwuh ing kabeh arah. Apa sampeyan nemokake cara kanggo nglumpukake sumber menyang modul Terraform, ngatur kode menyang folder, lan apa maneh sing bisa salah? (tembung pungkasan sing misuwur)

Wektu liwati lan sampeyan rumangsa infrastruktur sampeyan minangka pet anyar, nanging kenapa? Sampeyan kuwatir babagan owah-owahan sing ora bisa diterangake ing infrastruktur, sampeyan wedi ndemek infrastruktur lan kode - minangka asil, sampeyan nundha fungsi anyar utawa nyuda kualitas ...

Sawise telung taun ngatur koleksi modul komunitas Terraform kanggo AWS ing Github lan pangopènan jangka panjang Terraform ing produksi, Anton Babenko siap nuduhake pengalamane: carane nulis modul TF supaya ora lara ing mangsa ngarep.

Ing pungkasan pirembagan, peserta bakal luwih ngerti prinsip manajemen sumber daya ing Terraform, praktik paling apik sing ana gandhengane karo modul ing Terraform, lan sawetara prinsip integrasi terus-terusan sing ana gandhengane karo manajemen infrastruktur.

wewaler: Aku nyathet yen laporan iki tanggal November 2018-2 taun wis liwati. Versi Terraform 0.11 sing dibahas ing laporan kasebut ora didhukung maneh. Sajrone 2 taun kepungkur, 2 rilis anyar wis dirilis, sing ngemot akeh inovasi, perbaikan lan owah-owahan. Mangga digatekake lan priksa dokumentasi kasebut.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Cathetan:

Jenengku Anton Babenko. Sawetara sampeyan mbokmenawa nggunakake kode sing daktulis. Saiki aku bakal ngomong babagan iki kanthi luwih yakin tinimbang sadurunge, amarga aku duwe akses menyang statistik.

Aku kerja ing Terraform lan wis dadi peserta aktif lan kontributor kanggo akeh proyek open source sing ana hubungane karo Terraform lan Amazon wiwit 2015.

Wiwit iku aku wis nulis cukup kode kanggo sijine iku ing cara menarik. Lan aku bakal nyoba nyritakake babagan iki saiki.

Aku bakal pirembagan bab intricacies lan spesifik nggarap Terraform. Nanging iku dudu subyek HighLoad. Lan saiki sampeyan bakal ngerti sebabe.

Swara wektu, aku miwiti nulis modul Terraform. Pangguna nulis pitakonan, aku nulis maneh. Banjur aku nulis macem-macem keperluan kanggo format kode nggunakake pancing pra-komit, etc.

Ana akeh proyek menarik. Aku kaya generasi kode amarga aku seneng komputer kanggo nindakake liyane lan liyane karya kanggo kula lan programmer, aku saiki digunakake ing generator kode Terraform saka diagram visual. Mbok menawa sawetara saka sampeyan wis weruh. Iki kothak ayu karo panah. Lan aku apik yen sampeyan bisa ngeklik tombol "Ekspor" lan entuk kabeh minangka kode.

Aku saka Ukraina. Aku wis manggon ing Norwegia kanggo akèh taun.

Uga, informasi kanggo laporan iki diklumpukake saka wong sing ngerti jenengku lan nemokake aku ing jaringan sosial. Aku meh tansah duwe julukan padha.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

https://github.com/terraform-aws-modules
https://registry.terraform.io/namespaces/terraform-aws-modules

Kaya sing dakkandhakake, aku minangka pangurus utama modul Terraform AWS, sing minangka salah sawijining repositori paling gedhe ing GitHub ing ngendi kita dadi tuan rumah modul kanggo tugas sing paling umum: VPC, Autoscaling, RDS.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan apa sing sampeyan krungu saiki sing paling dhasar. Yen sampeyan mangu-mangu ngerti apa Terraform, luwih becik nglampahi wektu ing papan liya. Bakal ana akeh istilah teknis ing kene. Lan aku ora ragu-ragu nyatakake tingkat laporan sing paling dhuwur. Iki tegese aku bisa ngomong nggunakake kabeh istilah sing bisa tanpa panjelasan akeh.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Terraform muncul ing 2014 minangka sarana sing ngidini sampeyan nulis, ngrancang lan ngatur infrastruktur minangka kode. Konsep utama ing kene yaiku "infrastruktur minangka kode."

Kabeh dokumentasi, kaya sing dakkandhakake, ditulis ing terraform.io. Muga-muga akeh wong ngerti babagan situs iki lan wis maca dokumentasi kasebut. Yen mangkono, sampeyan ana ing panggonan sing bener.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Iki minangka file konfigurasi Terraform biasa, ing ngendi kita nemtokake sawetara variabel.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ing kasus iki kita nemtokake "aws_region".

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Banjur kita njlèntrèhaké apa sumber daya kita arep kanggo nggawe.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kita mbukak sawetara prentah, utamane "terraform init" kanggo mbukak dependensi lan panyedhiya.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan kita mbukak printah "terraform apply" kanggo mriksa apa konfigurasi kasebut cocog karo sumber daya sing digawe. Amarga kita durung nggawe apa-apa sadurunge, Terraform njaluk kita nggawe sumber daya kasebut.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

We konfirmasi iki. Mangkono kita nggawe ember sing disebut seasnail.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ana uga sawetara utilitas sing padha. Akeh sing nggunakake Amazon ngerti AWS CloudFormation utawa Google Cloud Deployment Manager utawa Azure Resource Manager. Saben wong duwe implementasine dhewe kanggo ngatur sumber daya ing saben panyedhiya awan umum kasebut. Terraform utamane migunani amarga ngidini sampeyan ngatur luwih saka 100 panyedhiya. (Rincian liyane kene)

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Tujuan sing wis ditindakake Terraform wiwit wiwitan:

  • Terraform nyedhiyakake tampilan siji sumber daya.
  • Ngidini sampeyan ndhukung kabeh platform modern.
  • Lan Terraform dirancang wiwit wiwitan minangka sarana sing ngidini sampeyan ngganti infrastruktur kanthi aman lan bisa ditebak.

Ing 2014, tembung "diprediksi" muni banget ora biasa ing konteks iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Terraform minangka sarana universal. Yen sampeyan duwe API, sampeyan bisa ngontrol kabeh:

  • Sampeyan bisa nggunakake luwih saka 120 panyedhiya kanggo ngatur kabeh sing dikarepake.
  • Contone, sampeyan bisa nggunakake Terraform kanggo njlèntrèhaké akses menyang repositori GitHub.
  • Sampeyan malah bisa nggawe lan nutup kewan omo ing Jira.
  • Sampeyan bisa ngatur metrik New Relic.
  • Sampeyan bisa malah nggawe file ing dropbox yen sampeyan pengin.

Iki kabeh digayuh nggunakake panyedhiya Terraform, sing duwe API mbukak sing bisa diterangake ing Go.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ayo dadi ngomong kita miwiti nggunakake Terraform, maca sawetara dokumentasi ing situs, mirsani sawetara video, lan miwiti nulis main.tf, kaya aku nuduhake ing minger sadurungé.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan kabeh apik, sampeyan duwe file sing nggawe VPC.

Yen sampeyan pengin nggawe VPC, sampeyan nemtokake kira-kira 12 baris kasebut. Nerangake ing wilayah ngendi sampeyan pengin nggawe, cidr_block alamat IP sing arep digunakake. Mekaten.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Alami, proyek kasebut bakal tuwuh kanthi bertahap.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan sampeyan bakal nambah akeh barang anyar ing kana: sumber daya, sumber data, sampeyan bakal nggabungake karo panyedhiya anyar, dumadakan sampeyan pengin nggunakake Terraform kanggo ngatur pangguna ing akun GitHub, lsp. Sampeyan bisa uga pengin nggunakake panyedhiya DNS beda , nglintasi kabeh. Terraform ndadekake iki gampang.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ayo deleng conto ing ngisor iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sampeyan mboko sithik nambah internet_gateway amarga sampeyan pengin sumber daya saka VPC duwe akses internet. Iki minangka ide sing apik.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Asil iki main.tf:

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Iki minangka bagéan ndhuwur main.tf.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Iki bagean ngisor main.tf.

Banjur sampeyan nambah subnet. Nalika sampeyan pengin nambah gateway NAT, rute, tabel rute lan akeh subnet liyane, sampeyan ora bakal duwe 38 garis, nanging kira-kira 200-300 garis.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Tegese, file main.tf sampeyan saya suwe saya mundhak. Lan asring wong sijine kabeh ing siji file. 10-20 Kb katon ing main.tf. Bayangna 10-20 Kb isi teks. Lan kabeh disambungake karo kabeh. Iki mboko sithik dadi angel digarap. 10-20 Kb minangka kasus pangguna sing apik, kadhangkala luwih akeh. Lan wong ora tansah mikir sing iki ala.

Kaya ing pemrograman biasa, dudu infrastruktur minangka kode, kita wis biasa nggunakake macem-macem kelas, paket, modul, klompok. Terraform ngidini sampeyan nindakake perkara sing padha.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

  • Kode kasebut tuwuh.
  • Ketergantungan antarane sumber daya uga saya akeh.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan kita duwe kabutuhan gedhe lan gedhe. Kita ngerti manawa kita ora bisa urip kaya iki maneh. Kode kita dadi gedhe banget. 10-20 Kb, mesthi, ora jembar banget, nanging kita mung ngomong babagan tumpukan jaringan, yaiku sampeyan mung nambah sumber daya jaringan. Kita ora ngomong babagan Application Load Balancer, penyebaran ES cluster, Kubernetes, lan liya-liyane, ing ngendi 100 Kb bisa gampang dirajut. Yen sampeyan nulis kabeh iki, sampeyan bakal ngerti yen Terraform nyedhiyakake modul Terraform.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Modul Terraform minangka konfigurasi Terraform mandhiri sing dikelola minangka grup. Iku kabeh sampeyan kudu ngerti babagan modul Terraform. Dheweke ora pinter, ora ngidini sampeyan nggawe sambungan rumit gumantung saka apa wae. Iki kabeh ana ing pundhak para pangembang. Yaiku, iki mung sawetara jinis konfigurasi Terraform sing wis sampeyan tulis. Lan sampeyan mung bisa nelpon minangka grup.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Dadi, kita nyoba ngerti carane ngoptimalake kode 10-20-30 Kb. Kita mboko sithik nyadari yen kita kudu nggunakake sawetara modul.

Jinis modul pisanan sing sampeyan temoni yaiku modul sumber daya. Dheweke ora ngerti apa prasarana sampeyan, apa bisnis sampeyan, ing ngendi lan apa kahanane. Iki persis modul sing aku, bebarengan karo komunitas open source, ngatur, lan sing kita maju minangka blok bangunan wiwitan kanggo infrastruktur sampeyan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Tuladha modul sumber daya.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Nalika kita nelpon modul sumber daya, kita nemtokake saka path kita kudu mbukak isi.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kita nuduhake versi sing pengin didownload.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

We pass Bunch saka bantahan ana. Mekaten. Mekaten ingkang kedah kita mangertosi nalika ngginakaken modul punika.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Akeh wong sing mikir yen nggunakake versi paling anyar, kabeh bakal stabil. Nanging ora. Infrastruktur kasebut kudu diversi; kita kudu mangsuli kanthi jelas versi apa iki utawa komponen kasebut dipasang.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Punika kode sing ana ing modul iki. Modul klompok keamanan. Ing kene gulung menyang baris 640th. Nggawe sumber keamanan-croup ing Amazon ing saben konfigurasi sing bisa ditindakake minangka tugas sing ora pati penting. Ora cukup mung nggawe grup keamanan lan ngandhani aturan apa sing kudu ditindakake. Iku bakal banget prasaja. Ana yuta watesan beda ing Amazon. Contone, yen sampeyan nggunakake Titik pungkasan VPC, dhaptar awalan, macem-macem API lan nyoba kanggo gabungke kabeh iki karo kabeh liyane, banjur Terraform ora ngidini sampeyan nindakake iki. Lan API Amazon uga ora ngidini iki. Mulane, kita kudu ndhelikake kabeh logika elek iki ing modul lan menehi kode pangguna sing katon kaya iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Pangguna ora perlu ngerti carane digawe ing njero.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Jinis modul kapindho, sing kalebu modul sumber daya, wis ngrampungake masalah sing luwih ditrapake kanggo bisnis sampeyan. Asring iki minangka papan sing minangka extension kanggo Terraform lan nyetel sawetara nilai kaku kanggo tag, kanggo standar perusahaan. Sampeyan uga bisa nambah fungsi ana sing Terraform saiki ora ngidini sampeyan nggunakake. Iki saiki. Saiki versi 0.11, sing bakal dadi barang sing kepungkur. Nanging isih, preprocessors, jsonnet, cookiecutter lan akeh liyane minangka mekanisme tambahan sing kudu digunakake kanggo karya lengkap.

Sabanjure aku bakal nuduhake sawetara conto iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Modul infrastruktur diarani kanthi cara sing padha.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sumber saka ngendi kanggo ngundhuh isi dituduhake.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Akeh nilai sing diterusake lan diterusake menyang modul iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sabanjure, ing modul iki, akeh modul sumber daya diarani nggawe VPC utawa Application Load Balancer, utawa nggawe grup keamanan utawa kanggo kluster Layanan Kontainer Elastis.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ana rong jinis modul. Iki penting dimangerteni amarga umume informasi sing aku kumpulake ing laporan iki ora ditulis ing dokumentasi.

Lan dokumentasi ing Terraform saiki cukup masalah amarga mung ngandika ana fitur iki, sampeyan bisa nggunakake. Nanging dheweke ora ngomong carane nggunakake fitur iki, kok iku luwih apik kanggo nggunakake. Mulane, akeh banget wong nulis soko sing ora bisa manggon karo.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ayo dipikirake carane nulis modul kasebut sabanjure. Banjur kita bakal weruh carane nelpon lan cara nggarap kode kasebut.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Registry Terraform - https://registry.terraform.io/

Tip #0 yaiku ora nulis modul sumber daya. Umume modul iki wis ditulis kanggo sampeyan. Kaya sing dakkandhakake, dheweke mbukak sumber, ora ngemot logika bisnis sampeyan, ora duwe nilai hardcode kanggo alamat IP, sandhi, lsp. Modul kasebut fleksibel banget. Lan wis paling kamungkinan wis ditulis. Ana akeh modul kanggo sumber daya saka Amazon. Udakara 650. Lan akeh-akehe kualitase apik.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ing conto iki, ana wong sing marani sampeyan lan ujar, "Aku pengin bisa ngatur database. Nggawe modul supaya aku bisa nggawe database." Wong kasebut ora ngerti rincian implementasine saka Amazon utawa Terraform. Dheweke mung ujar: "Aku pengin ngatur MSSQL." Yaiku, tegese bakal nelpon modul kita, ngliwati jinis mesin ana, lan nuduhake zona wektu.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan wong ora kudu ngerti manawa kita bakal nggawe rong sumber daya ing modul iki: siji kanggo MSSQL, sing liya kanggo kabeh liyane, mung amarga ing Terraform 0.11 sampeyan ora bisa nemtokake nilai zona wektu minangka opsional.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan ing metu saka modul iki, wong bakal mung bisa nampa alamat. Dheweke ora bakal ngerti saka database endi, saka sumber apa kita nggawe kabeh iki sacara internal. Iki minangka unsur sing penting banget kanggo ndhelikake. Lan iki ditrapake ora mung kanggo modul sing umum ing open source, nanging uga kanggo modul sing bakal sampeyan tulis ing proyek lan tim sampeyan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Iki minangka argumen kapindho, sing penting banget yen sampeyan wis nggunakake Terraform kanggo sawetara wektu. Sampeyan duwe gudang ing ngendi sampeyan sijine kabeh modul Terraform kanggo perusahaan sampeyan. Lan cukup normal yen suwene proyek iki bakal tuwuh nganti ukuran siji utawa rong megabyte. Iki apik.

Nanging masalahe yaiku carane Terraform nelpon modul kasebut. Contone, yen sampeyan nelpon modul kanggo nggawe saben pangguna individu, Terraform bakal mbukak kabeh repositori dhisik banjur navigasi menyang folder ing ngendi modul kasebut dumunung. Kanthi cara iki sampeyan bakal ngundhuh siji megabyte saben wektu. Yen sampeyan ngatur 100 utawa 200 pangguna, sampeyan bakal ngundhuh 100 utawa 200 megabyte, banjur pindhah menyang folder kasebut. Dadi, sampeyan ora pengin ndownload akeh barang saben sampeyan mencet "Terraform init".

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

https://github.com/mbtproject/mbt

Ana rong solusi kanggo masalah iki. Kaping pisanan yaiku nggunakake jalur relatif. Kanthi cara iki sampeyan nuduhake ing kode sing folder lokal (./). Lan sadurunge sampeyan miwiti apa wae, sampeyan nggawe klon Git saka repositori iki sacara lokal. Kanthi cara iki sampeyan nindakake sapisan.

Ana, mesthi, akeh kekurangane. Contone, sampeyan ora bisa nggunakake versi. Lan iki kadhangkala angel kanggo urip.

Solusi kapindho. Yen sampeyan duwe akeh submodul lan sampeyan wis duwe sawetara jinis pipa sing diadegake, mula ana proyek MBT, sing ngidini sampeyan ngumpulake macem-macem paket saka monorepository lan diunggah menyang S3. Iki cara sing apik banget. Mangkono, file iam-user-1.0.0.zip mung bakal bobote 1 Kb, amarga kode kanggo nggawe sumber daya iki cilik banget. Lan bakal bisa luwih cepet.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ayo dadi pirembagan bab apa ora bisa digunakake ing modul.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kenapa iki ala ing modul? Sing paling awon yaiku nganggep pangguna. Anggap pangguna minangka pilihan otentikasi panyedhiya sing bisa digunakake dening wong liya. Contone, kita kabeh bakal assimilate peran. Iki tegese Terraform bakal njupuk peran iki. Banjur kanthi peran iki bakal nindakake tumindak liyane.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan ala yen Vasya seneng nyambung menyang Amazon kanthi cara siji, umpamane, nggunakake variabel lingkungan standar, lan Petya seneng nggunakake kunci sing dienggo bareng, sing ana ing papan rahasia, mula sampeyan ora bisa nemtokake loro-lorone. Terraform. Lan supaya ora ngalami kasangsaran, ora perlu kanggo nunjukake blok kasebut ing modul kasebut. Iki kudu dituduhake ing tingkat sing luwih dhuwur. Yaiku, kita duwe modul sumber daya, modul infrastruktur lan komposisi ing ndhuwur. Lan iki kudu dituduhake ing papan sing luwih dhuwur.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kadurjanan ingkang kaping kalih inggih punika panyedhiya. Ing kene, ala ora pati penting, amarga yen sampeyan nulis kode lan bisa digunakake kanggo sampeyan, sampeyan bisa uga mikir yen bisa, mula kenapa ngganti.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sing ala yaiku sampeyan ora tansah ngontrol kapan provisioner iki bakal diluncurake, pisanan. Lan kaping pindho, sampeyan ora ngontrol apa tegese aws ec2, yaiku saiki kita ngomong babagan Linux utawa Windows. Dadi sampeyan ora bisa nulis soko sing bakal bisa digunakake ing sistem operasi beda utawa kanggo kasus pangguna beda.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Conto sing paling umum, sing uga dituduhake ing dokumentasi resmi, yaiku yen sampeyan nulis aws_instance lan nemtokake akeh argumen, mula ora ana sing salah yen sampeyan nemtokake provisioner "local-exec" ing kana lan mbukak ansible- buku dolanan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Nyatane, ya ora ana sing salah. Nanging secara harfiah, sampeyan bakal ngerti manawa iki lokal-eksekusi ora ana, contone, ing launch_configuration.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan nalika sampeyan nggunakake launch_configuration, lan sampeyan pengin nggawe grup autoscaling saka siji conto, banjur ing launch_configuration ora ana konsep "provisioner". Ana konsep "data pangguna".

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Mulane, solusi sing luwih universal yaiku nggunakake data pangguna. Lan bakal diluncurake ing conto dhewe, nalika instance diuripake, utawa ing data pangguna sing padha, nalika grup autoscaling nggunakake launch_configuration iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Yen sampeyan isih pengin mbukak provisioner, amarga iku komponen gluing, nalika siji sumber digawe, ing wayahe sampeyan kudu mbukak provisioner, printah Panjenengan. Ana akeh kahanan kaya ngono.

Lan sumber daya sing paling bener kanggo iki diarani null_resource. Null_resource minangka sumber palsu sing ora tau digawe. Ora ndemek apa-apa, ora API, ora ana autoscaling. Nanging ngidini sampeyan kanggo ngontrol nalika kanggo mbukak printah. Ing kasus iki, printah kasebut ditindakake nalika nggawe.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

link http://bit.ly/common-traits-in-terraform-modules

Ana sawetara pratandha. Aku ora bakal njlentrehake kabeh pratandha kanthi rinci. Ana artikel babagan iki. Nanging yen sampeyan wis kerjo karo Terraform utawa nggunakake modul wong liya, sampeyan wis kerep weruh sing akeh modul, kaya paling kode ing open source, ditulis dening wong kanggo kabutuhan dhewe. Ana wong nulis lan ngrampungake masalahe. Aku macet ing GitHub, supaya urip. Bakal urip, nanging yen ora ana dokumentasi lan conto, mula ora ana sing bakal nggunakake. Lan yen ora ana fungsi sing ngidini sampeyan ngatasi tugas tartamtu, mula ora ana sing bakal nggunakake. Ana akeh cara kanggo ilang pangguna.

Yen sampeyan pengin nulis soko supaya wong bakal nggunakake, banjur aku nyaranake tindakake pratandha iki.

Iki minangka:

  • Dokumentasi lan conto.
  • Fungsi lengkap.
  • Default sing cukup.
  • Kode resik.
  • Tes.

Tes minangka kahanan sing beda amarga cukup angel kanggo nulis. Aku luwih percaya karo dokumentasi lan conto.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Dadi, kita ndeleng carane nulis modul. Ana rong argumen. Pisanan, sing paling penting, ora nulis yen sampeyan bisa, amarga akeh wong sing wis nindakake tugas kasebut sadurunge sampeyan. Lan kapindho, yen sampeyan isih mutusake, coba aja nggunakake panyedhiya ing modul lan provisioner.

Iki minangka bagean abu-abu saka dokumentasi. Saiki sampeyan bisa uga mikir: "Ana sing ora jelas. Ora percoyo." Nanging kita bakal weruh ing nem sasi.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Saiki ayo ngomong babagan carane nelpon modul kasebut.

Kita mangertos bilih kode kita mundhak saka wektu. Kita ora duwe siji file maneh, kita wis duwe 20 file. Kabeh mau ana ing siji folder. Utawa mungkin limang folder. Mungkin kita wiwiti ngrusak miturut wilayah, kanthi sawetara komponen. Banjur kita ngerti yen saiki kita duwe sawetara dhasar sinkronisasi lan orkestrasi. Tegese, kita kudu ngerti apa sing kudu ditindakake yen kita ngganti sumber daya jaringan, apa sing kudu kita lakoni karo sumber daya liyane, kepiye nyebabake dependensi kasebut, lsp.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ana rong ekstrem. Ekstrem pisanan kabeh dadi siji. Kita duwe file master siji. Saiki, iki minangka praktik paling apik ing situs web Terraform.

Nanging saiki wis ditulis minangka ora digunakake lan dibusak. Sajrone wektu, komunitas Terraform nyadari yen iki adoh saka praktik paling apik, amarga wong wiwit nggunakake proyek kasebut kanthi cara sing beda-beda. Lan ana masalah. Contone, nalika kita dhaptar kabeh dependensi ing sak panggonan. Ana kahanan nalika kita klik "rencana Terraform" lan nganti Terraform nganyari negara kabeh sumber daya, akeh wektu bisa liwat.

Akeh wektu, contone, 5 menit. Kanggo sawetara iki wektu akeh. Aku wis ndeleng kasus sing butuh 15 menit. API AWS ngginakaken 15 menit nyoba kanggo mangerteni apa kedados karo negara saben sumber. Iki wilayah sing amba banget.

Lan, mesthi, masalah sing gegandhengan bakal katon nalika sampeyan pengin ngganti soko ing sak panggonan, banjur ngenteni 15 menit, lan menehi kanvas sawetara owah-owahan. Sampeyan ngidoni, nulis "Ya", lan ana sing salah. Iki minangka conto sing nyata banget. Terraform ora nyoba nglindhungi sampeyan saka masalah. Yaiku, nulis apa sing dikarepake. Bakal ana masalah - masalah sampeyan. Nalika Terraform 0.11 ora nyoba mbantu sampeyan kanthi cara apa wae. Ana sawetara papan sing menarik ing 0.12 sing ngidini sampeyan ujar: "Vasya, sampeyan pengin iki, apa sampeyan bisa ngerti?"

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Cara kapindho yaiku nyuda wilayah iki, yaiku, telpon saka siji panggonan bisa kurang nyambung saka panggonan liya.

Masalah mung sampeyan kudu nulis kode liyane, yaiku sampeyan kudu njlèntrèhaké variabel ing jumlah file sing akeh lan nganyari iki. Sawetara wong ora seneng. Iki normal kanggo kula. Lan sawetara wong mikir: "Napa nulis iki ing macem-macem papan, aku bakal nyelehake kabeh ing sak panggonan." Iki bisa, nanging iki ekstrem kapindho.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sapa sing duwe kabeh iki manggon ing sak panggonan? Siji, loro, telu, yaiku, ana sing nggunakake.

Lan sing nelpon siji komponen tartamtu, siji blok utawa siji modul infrastruktur? Lima nganti pitung wong. Iki keren.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Jawaban sing paling umum ana ing tengah. Yen proyek gedhe, sampeyan bakal kerep duwe kahanan sing ora ana solusi sing cocog lan ora kabeh bisa ditindakake, mula sampeyan bakal dadi campuran. Ora ana sing salah karo iki, anggere sampeyan ngerti yen loro-lorone duwe kaluwihan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Yen ana sing diganti ing tumpukan VPC lan sampeyan pengin ngetrapake owah-owahan kasebut ing EC2, yaiku sampeyan pengin nganyari grup autoscaling amarga sampeyan duwe subnet anyar, mula aku nelpon orkestrasi dependensi iki. Ana sawetara solusi: sing nggunakake apa?

Aku bisa menehi saran apa solusi sing ana. Sampeyan bisa nggunakake Terraform kanggo nindakake sihir, utawa sampeyan bisa nggunakake makefiles kanggo nggunakake Terraform. Lan weruh yen ana sing wis diganti, sampeyan bisa miwiti ing kene.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kepiye sampeyan seneng karo keputusan iki? Apa ana sing percaya yen iki minangka solusi sing apik? Aku weruh eseman, ketoke mangu-mangu wis nyusup.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Mesthi, aja nyoba iki ing omah. Terraform ora tau dirancang kanggo mbukak saka Terraform.

Ing sawijining laporan, dheweke kandha marang aku: "Ora, iki ora bakal bisa." Intine iku kudune ora bisa. Sanajan katon apik banget nalika sampeyan bisa miwiti Terraform saka Terraform, banjur Terraform, sampeyan ora kudu nglakoni. Terraform kudu diwiwiti kanthi gampang.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

https://github.com/gruntwork-io/terragrunt/

Yen sampeyan butuh orkestrasi telpon nalika ana owah-owahan ing sak panggonan, banjur ana Terragrunt.

Terragrunt minangka sarana, tambahan kanggo Terraform, sing ngidini sampeyan koordinasi lan ngatur telpon menyang modul infrastruktur.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

File konfigurasi Terraform khas katon kaya iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Sampeyan nemtokake modul tartamtu sing pengin ditelpon.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Apa dependensi modul duwe?

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan apa bantahan modul iki nampa. Iku kabeh sing kudu dingerteni babagan Terragrunt.

Dokumentasi kasebut ana, lan ana 1 bintang ing GitHub. Nanging ing umume kasus iki sampeyan kudu ngerti. Lan iki gampang banget kanggo dileksanakake ing perusahaan sing lagi miwiti nggarap Terraform.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Dadi orkestrasi yaiku Terragrunt. Ana pilihan liyane.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Saiki ayo ngomong babagan cara nggarap kode kasebut.

Yen sampeyan kudu nambahake fitur-fitur anyar menyang kode, umume iki gampang. Sampeyan nulis sumber anyar, kabeh iku prasaja.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Yen sampeyan duwe sawetara sumber daya sing digawe sadurunge, contone, sampeyan sinau babagan Terraform sawise sampeyan mbukak akun AWS lan pengin nggunakake sumber daya sing wis sampeyan duwe, banjur bakal cocog kanggo ngluwihi modul sampeyan kanthi cara iki, supaya iku ndhukung nggunakake sumber daya ana.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan ndhukung nggawe sumber daya anyar nggunakake sumber pamblokiran.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ing output kita tansah ngasilake id output gumantung saka apa sing digunakake.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Masalah nomer loro sing penting banget ing Terraform 0.11 nggarap dhaptar.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kangelan iku yen kita duwe dhaftar kuwi kedhaftar.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Lan nalika kita nggawe pangguna iki nggunakake sumber pamblokiran, banjur kabeh dadi apik. Kita mbukak kabeh dhaptar, nggawe file kanggo saben. Kabeh apik. Banjur, contone, user3, sing ana ing tengah, kudu dibusak saka kene, banjur kabeh sumber daya sing digawe sawise dheweke bakal digawe maneh amarga indeks bakal diganti.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Nggarap dhaptar ing lingkungan stateful. Apa lingkungan stateful? Iki minangka kahanan ing ngendi nilai anyar digawe nalika sumber daya iki digawe. Contone, AWS Access Key utawa AWS Secret Key, yaiku nalika nggawe pangguna, kita nampa Akses utawa Kunci Rahasia anyar. Lan saben-saben kita mbusak pangguna, pangguna iki bakal duwe kunci anyar. Nanging iki dudu feng shui, amarga pangguna ora pengin kekancan karo kita yen nggawe pangguna anyar kanggo dheweke saben wong ninggalake tim kasebut.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Iki solusine. Iki kode sing ditulis ing Jsonnet. Jsonnet minangka basa template saka Google.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Printah iki ngidini sampeyan nampa cithakan iki lan minangka output ngasilake file json sing digawe miturut cithakan sampeyan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Cithakan katon kaya iki.

Terraform ngidini sampeyan nggarap HCL lan Json kanthi cara sing padha, dadi yen sampeyan duwe kemampuan kanggo ngasilake Json, sampeyan bisa mlebu menyang Terraform. Berkas mawa ekstensi .tf.json bakal kasil diundhuh.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Banjur kita nggarap kaya biasane: terraform init, terramorm ditrapake. Lan kita nggawe rong pangguna.

Saiki kita ora wedi yen ana sing ninggalake tim. Kita mung bakal ngowahi file json. Vasya Pupkin kiwa, Petya Pyatochkin tetep. Petya Pyatochkin ora bakal nampa kunci anyar.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Nggabungake Terraform karo alat liyane dudu tugas Terraform. Terraform digawe minangka platform kanggo nggawe sumber daya lan kabeh iku. Lan kabeh sing kedadeyan mengko ora dadi perhatian Terraform. Lan ora perlu kanggo nenun ing kono. Ana Ansible, sing nindakake kabeh sing dibutuhake.

Nanging ana kahanan nalika kita pengin ngluwihi Terraform lan nelpon sawetara printah sawise soko wis rampung.

Cara pisanan. Kita nggawe output ing ngendi kita nulis printah iki.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Banjur kita nelpon printah iki saka output shell terraform lan nemtokake nilai sing dikarepake. Mangkono, printah kasebut dieksekusi karo kabeh nilai sing diganti. Iku banget nyaman.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Cara kapindho. Iki nggunakake null_resource gumantung saka owah-owahan ing infrastruktur kita. Kita bisa nelpon padha lokal-exe sanalika ID sawetara owah-owahan sumber.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Alami, iki kabeh lancar ing kertas, amarga Amazon, kaya kabeh panyedhiya umum liyane, duwe akeh kasus pinggiran dhewe.

Kasus pinggiran sing paling umum yaiku nalika sampeyan mbukak akun AWS, penting wilayah sing sampeyan gunakake; apa fitur iki aktif ing kono; Mungkin sampeyan mbukak sawise Desember 2013; Mungkin sampeyan nggunakake standar ing VPC etc. Ana akeh Watesan. Lan Amazon kasebar ing saindhenging dokumentasi.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Ana sawetara bab sing aku nyaranake nyingkiri.

Kanggo miwiti, supaya kabeh bantahan non-rahasia ing rencana Terraform utawa Terraform CLI. Kabeh iki bisa dilebokake menyang file tfvars utawa menyang variabel lingkungan.

Nanging sampeyan ora perlu ngeling-eling kabeh perintah sihir iki. rencana Terraform - var lan mati kita pindhah. Variabel pisanan var, variabel kapindho var, katelu, papat. Prinsip infrastruktur sing paling penting minangka kode sing paling kerep digunakake yaiku mung kanthi ndeleng kode kasebut, aku kudu duwe pangerten sing jelas babagan apa sing disebar ing kono, ing negara apa lan apa nilai. Dadi aku ora kudu maca dokumentasi utawa takon marang Vasya apa paramèter sing digunakake kanggo nggawe kluster kita. Aku mung kudu mbukak file karo extension tfvars, kang asring cocog lingkungan, lan katon ing kabeh ana.

Uga, aja nggunakake argumen target kanggo nyuda ruang lingkup. Kanggo iki luwih gampang nggunakake modul infrastruktur cilik.

Uga, ora perlu mbatesi lan nambah paralelisme. Yen aku duwe 150 sumber daya lan aku pengin nambah paralelisme Amazon saka standar 10 nganti 100, mesthine ana sing salah. Utawa bisa uga saiki, nanging nalika Amazon ujar manawa sampeyan nelpon akeh banget, sampeyan bakal nemoni masalah.

Terraform bakal nyoba miwiti maneh akeh masalah kasebut, nanging meh ora entuk apa-apa. Paralelisme = 1 iku penting kanggo nggunakake yen sampeyan kesandhung ing sawetara bug ing API AWS utawa ing panyedhiya Terraform. Banjur sampeyan kudu nemtokake: paralelisme = 1 lan ngenteni nganti Terraform rampung siji telpon, banjur kaloro, banjur katelu. Dheweke bakal mbukak siji-siji.

Wong-wong kerep takon, "Apa aku mikir yen ruang kerja Terraform ala?" Aku pracaya prinsip infrastruktur minangka kode kanggo ndeleng apa infrastruktur wis digawe lan karo apa nilai.

Ruang kerja ora digawe dening pangguna. Iki ora ateges pangguna nulis ing masalah GitHub sing ora bisa urip tanpa ruang kerja Terraform. Ora kaya iki. Terraform Enterprise minangka solusi komersial. Terraform saka HashiCorp mutusake yen kita butuh ruang kerja, mula diajukake. Aku luwih gampang kanggo nyelehake ing folder kapisah. Banjur bakal ana file sing luwih cilik, nanging bakal luwih jelas.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Kepiye cara nggarap kode? Nyatane, nggarap dhaptar mung rasa nyeri. Lan njupuk Terraform luwih gampang. Iki dudu perkara sing bakal nindakake kabeh sing apik kanggo sampeyan. Ora perlu nyurung kabeh sing ditulis ing dokumentasi ana.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Topik laporan kasebut ditulis "kanggo masa depan." Aku bakal ngomong babagan iki kanthi ringkes. Kanggo mangsa ngarep, iki tegese 0.12 bakal dirilis rauh.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

0.12 minangka ton barang anyar. Yen sampeyan teka saka program biasa, sampeyan bakal kantun kabeh jinis pamblokiran dinamis, puteran, operasi comparison bener lan kondisional, ngendi sisih kiwa lan tengen ora diwilang bebarengan, nanging gumantung ing kahanan. Sampeyan kantun banget, supaya 0.12 bakal ngrampungake kanggo sampeyan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Nanging! Yen sampeyan nulis kurang lan luwih gampang, nggunakake modul siap-siap lan solusi pihak katelu, sampeyan ora kudu ngenteni lan ngarep-arep yen 0.12 bakal teka lan ndandani kabeh kanggo sampeyan.

Katrangan infrastruktur ing Terraform kanggo masa depan. Anton Babenko (2018)

Matur nuwun kanggo laporan! Sampeyan ngomong babagan infrastruktur minangka kode lan secara harfiah ujar siji tembung babagan tes. Apa tes dibutuhake ing modul? Tanggung jawabe sapa iki? Apa aku kudu nulis dhewe utawa tanggung jawab modul kasebut?

Ing taun sabanjuré bakal kapenuhan laporan sing wis mutusaké kanggo nyoba kabeh. Apa sing kudu dites minangka pitakonan paling gedhe. Ana akeh dependensi, akeh watesan saka panyedhiya sing beda. Nalika sampeyan lan aku ngomong lan sampeyan kandha: "Aku butuh tes," banjur aku takon: "Apa sing bakal sampeyan tes?" Sampeyan ujar manawa sampeyan bakal nyoba ing wilayah sampeyan. Banjur aku ujar manawa iki ora bisa digunakake ing wilayahku. Tegese, kita ora bakal bisa setuju babagan iki. Ora kanggo sebutno ana akeh masalah teknis. Tegese, carane nulis tes kasebut supaya cukup.

Aku aktif nliti topik iki, yaiku carane nggawe tes kanthi otomatis adhedhasar infrastruktur sing sampeyan tulis. Yaiku, yen sampeyan nulis kode iki, mula aku kudu mbukak, adhedhasar iki aku bisa nggawe tes.

Terrates iku salah siji saka perpustakaan paling kerep kasebut sing ngijini sampeyan kanggo nulis tes integrasi kanggo Terraform. Iki minangka salah sawijining sarana. Aku luwih seneng jinis DSL, contone, rspec.

Anton, matur nuwun kanggo laporan! Jenengku Valery. Ayo kula takon pitakonan filosofis sethitik. Ana, kondisional, provisioning, ana penyebaran. Penyediaan nggawe infrastrukturku, ing penyebaran kita ngisi karo sing migunani, contone, server, aplikasi, lan liya-liyane. ngidini sampeyan nginstal nginx, Postgres. Nanging ing wektu sing padha, Ansible katon ngidini nyedhiyakake, contone, sumber daya Amazon utawa Google. Nanging Terraform uga ngidini sampeyan masang sawetara piranti lunak nggunakake modul kasebut. Saka sudut pandang sampeyan, ana sawetara wates sing ana ing antarane Terraform lan Ansible, ing ngendi lan apa sing luwih apik digunakake? Utawa, umpamane, apa sampeyan mikir yen Ansible wis dadi sampah, sampeyan kudu nyoba nggunakake Terraform kanggo kabeh?

Pitakonan sing apik, Valery. Aku percaya yen Terraform ora owah saka tujuane wiwit taun 2014. Iki digawe kanggo infrastruktur lan mati kanggo infrastruktur. Kita isih duwe lan bakal mbutuhake manajemen konfigurasi Ansible. Tantangan yaiku ana data pangguna ing launch_configuration. Lan ana sampeyan narik Ansible, etc. Iki minangka prabédan standar sing paling aku seneng.

Yen kita ngomong babagan infrastruktur sing apik, mula ana utilitas kaya Packer sing ngumpulake gambar iki. Banjur Terraform nggunakake sumber data kanggo nemokake gambar iki lan nganyari launch_configuration. Tegese, kanthi cara iki saluran pipa yaiku kita narik Tracker, banjur narik Terraform. Lan yen mbangun ana, banjur owah-owahan anyar dumadi.

Hello! Matur nuwun kanggo laporan! Jenengku Misha, perusahaan RBS. Sampeyan bisa nelpon Ansible liwat provisioner nalika nggawe sumber daya. Ansible uga nduweni topik sing diarani inventaris dinamis. Lan pisanan sampeyan bisa nelpon Terraform, banjur nelpon Ansible, sing bakal njupuk sumber daya saka negara lan nglakokake. Apa sing luwih apik?

Wong nggunakake loro karo sukses witjaksono. Iku misale jek kula sing inventaris dinamis ing Ansible iku trep, yen kita ora ngomong bab autoscaling grup. Amarga ing grup autoscaling kita wis duwe toolkit dhewe, sing diarani launch_configuration. Ing launch_configuration, kita ngrekam kabeh sing kudu diluncurake nalika nggawe sumber daya anyar. Mulane, karo Amazon, nggunakake inventaris dinamis lan maca file Terraform ts, ing mratelakake panemume, overkill. Lan yen sampeyan nggunakake alat liyane sing ora ana konsep "grup autoscaling", umpamane, sampeyan nggunakake DigitalOcean utawa sawetara panyedhiya liyane sing ora ana grup autoscaling, banjur ana sampeyan kudu narik API kanthi manual, golek alamat IP, nggawe file inventaris dinamis, lan Ansible bakal ngumbara liwat. Yaiku, kanggo Amazon ana launch_configuration, lan kanggo kabeh liyane ana persediaan dinamis.

Source: www.habr.com

Add a comment