Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mutane da yawa sun sani kuma suna amfani da Terraform a cikin ayyukansu na yau da kullun, amma har yanzu ba a samar da mafi kyawun ayyuka don shi ba. Dole ne kowace kungiya ta kirkiro hanyoyinta da hanyoyinta.

Kayan aikin ku kusan tabbas yana farawa da sauƙi: ƴan albarkatu + kaɗan masu haɓakawa. A tsawon lokaci, yana girma a kowane nau'i na kwatance. Kuna nemo hanyoyin haɗa albarkatu cikin samfuran Terraform, tsara lamba cikin manyan fayiloli, kuma menene kuma zai iya yin kuskure? (sanannun kalmomi na ƙarshe)

Lokaci ya wuce kuma kuna jin kamar kayan aikin ku shine sabon dabbar ku, amma me yasa? Kuna damuwa game da canje-canjen da ba za a iya bayyanawa a cikin kayan aikin ba, kuna jin tsoron taɓa kayan aikin da lambar - sakamakon haka, kuna jinkirta sabon aiki ko rage inganci ...

Bayan shekaru uku na gudanar da tarin tarin abubuwan al'umma na Terraform don AWS akan Github da kuma kulawa na dogon lokaci na Terraform a cikin samarwa, Anton Babenko yana shirye ya raba kwarewarsa: yadda za a rubuta TF modules don kada ya cutar da shi a nan gaba.

A ƙarshen magana, mahalarta za su san ka'idodin sarrafa albarkatu a cikin Terraform, mafi kyawun ayyuka masu alaƙa da kayayyaki a cikin Terraform, da wasu ci gaba da ka'idodin haɗin kai da ke da alaƙa da sarrafa kayan more rayuwa.

Disclaimer: Na lura cewa wannan rahoton yana kwanan watan Nuwamba 2018 - shekaru 2 sun riga sun wuce. An daina tallafawa sigar Terraform 0.11 da aka tattauna a cikin rahoton. A cikin shekaru 2 da suka gabata, an fitar da sabbin sabbin abubuwa guda 2, waɗanda ke ɗauke da sabbin abubuwa da yawa, haɓakawa da canje-canje. Da fatan za a kula da wannan kuma duba takaddun.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Tunani:

Sunana Anton Babenko. Wataƙila wasunku sun yi amfani da lambar da na rubuta. Yanzu zan yi magana game da wannan da ƙarfin gwiwa fiye da kowane lokaci, saboda ina da damar yin kididdigewa.

Ina aiki akan Terraform kuma na kasance mai shiga tsakani kuma mai ba da gudummawa ga ɗimbin ayyukan buɗaɗɗen tushen abubuwan da suka shafi Terraform da Amazon tun 2015.

Tun daga nan na rubuta isassun code don sanya shi a hanya mai ban sha'awa. Kuma zan yi ƙoƙarin gaya muku game da wannan a yanzu.

Zan yi magana game da rikice-rikice da ƙayyadaddun aiki tare da Terraform. Amma wannan ba ainihin batun HighLoad ba ne. Kuma yanzu za ku gane dalilin.

Bayan lokaci, na fara rubuta kayan aikin Terraform. Masu amfani sun rubuta tambayoyi, na sake rubuta su. Sannan na rubuta abubuwan amfani daban-daban don tsara lambar ta amfani da ƙugiya ta riga-kafi, da sauransu.

Akwai ayyuka masu ban sha'awa da yawa. Ina son samar da code ne saboda ina son kwamfutar ta kara yin aiki a gare ni da mai tsara shirye-shirye, don haka a halin yanzu ina aiki da janareta na Terraform code daga zane-zane na gani. Watakila wasunku sun gansu. Waɗannan kyawawan kwalaye ne masu kibau. Kuma ina tsammanin yana da kyau idan za ku iya danna maɓallin "Export" kuma ku sami duka a matsayin lambar.

Ni daga Ukraine ne Na zauna a Norway shekaru da yawa.

Har ila yau, an tattara bayanan wannan rahoto daga mutanen da suka san sunana kuma suka same ni a shafukan sada zumunta. Kusan koyaushe ina da lakabi iri ɗaya.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

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

Kamar yadda na ambata, ni ne babban mai kula da kayan aikin Terraform AWS, wanda shine ɗayan manyan wuraren ajiya akan GitHub inda muke karɓar kayayyaki don ayyuka na yau da kullun: VPC, Autoscaling, RDS.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma abin da kuka ji yanzu shine mafi mahimmanci. Idan kuna shakka cewa kun fahimci menene Terraform, to yana da kyau ku kashe lokacinku a wani wuri daban. Za a sami sharuɗɗan fasaha da yawa a nan. Kuma ban yi jinkirin bayyana matakin rahoton a matsayin mafi girma ba. Wannan yana nufin cewa zan iya magana ta amfani da duk yiwu sharuddan ba tare da cikakken bayani.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Terraform ya bayyana a cikin 2014 azaman mai amfani wanda ya ba ku damar rubutawa, tsarawa da sarrafa abubuwan more rayuwa azaman lamba. Makullin mahimmin ra'ayi anan shine "kayan aiki azaman code."

Duk takardun, kamar yadda na ce, an rubuta su a ciki terraform.io. Ina fata yawancin mutane sun san wannan rukunin yanar gizon kuma sun karanta takaddun. Idan haka ne, to kun kasance a wurin da ya dace.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan shine yadda fayil ɗin sanyi na Terraform na yau da kullun yayi kama, inda muka fara ayyana wasu masu canji.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A wannan yanayin muna ayyana "aws_region".

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Sa'an nan kuma mu bayyana irin albarkatun da muke son ƙirƙirar.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Muna gudanar da wasu umarni, musamman "terraform init" don loda masu dogara da masu samarwa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma muna gudanar da umarnin "terraform apply" don bincika ko ƙayyadadden tsari ya dace da albarkatun da muka ƙirƙira. Tun da ba mu ƙirƙiri wani abu ba a baya, Terraform yana motsa mu don ƙirƙirar waɗannan albarkatun.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mun tabbatar da hakan. Don haka muna ƙirƙirar guga mai suna seasnail.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Hakanan akwai makamantan abubuwan amfani da yawa. Yawancin ku waɗanda ke amfani da Amazon sun san AWS CloudFormation ko Google Cloud Deployment Manager ko Azure Resource Manager. Kowannen su yana da nasa aiwatar da wasu nau'ikan don sarrafa albarkatu a cikin kowane ɗayan waɗannan masu samar da girgije na jama'a. Terraform yana da amfani musamman saboda yana ba ku damar sarrafa masu samarwa sama da 100. (Ƙarin bayani a nan)

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Manufofin da Terraform ya bi su tun daga farko:

  • Terraform yana ba da ra'ayi ɗaya na albarkatun.
  • Yana ba ku damar tallafawa duk dandamali na zamani.
  • Kuma an ƙera Terraform daga farkon azaman abin amfani wanda ke ba ku damar canza abubuwan more rayuwa cikin aminci da tsinkaya.

A cikin 2014, kalmar "wanda ake iya tsinkaya" ya yi kama da sabon abu a cikin wannan mahallin.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Terraform abin amfani ne na duniya. Idan kuna da API, to zaku iya sarrafa komai gabaɗaya:

  • Kuna iya amfani da sama da masu samarwa 120 don sarrafa duk abin da kuke so.
  • Misali, zaku iya amfani da Terraform don bayyana isa ga ma'ajiyar GitHub.
  • Hakanan kuna iya ƙirƙira da rufe kwari a Jira.
  • Kuna iya sarrafa Sabon Relic awo.
  • Hakanan zaka iya ƙirƙirar fayiloli a cikin akwatunan ajiya idan da gaske kuna so.

Ana samun wannan duk ta amfani da masu samar da Terraform, waɗanda ke da buɗaɗɗen API wanda za'a iya siffanta su a cikin Go.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bari mu ce mun fara amfani da Terraform, mun karanta wasu takardu a shafin, mun kalli wasu bidiyo, kuma muka fara rubuta main.tf, kamar yadda na nuna a kan faifan da suka gabata.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma komai yana da kyau, kuna da fayil ɗin da ke ƙirƙirar VPC.

Idan kuna son ƙirƙirar VPC, to kun ƙididdige kusan waɗannan layukan 12. Bayyana yankin da kuke son ƙirƙirar, wane cidr_block na adiresoshin IP don amfani. Shi ke nan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A zahiri, aikin zai girma a hankali.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma za ku ƙara yawan sababbin abubuwa a can: albarkatun, tushen bayanai, za ku kasance tare da sababbin masu samar da kayayyaki, ba zato ba tsammani kuna so ku yi amfani da Terraform don sarrafa masu amfani a cikin asusun GitHub, da dai sauransu. Kuna iya so ku yi amfani da su. daban-daban masu samar da DNS , ketare komai. Terraform yana sa wannan sauƙi.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bari mu kalli misali na gaba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuna ƙara intanet_gateway a hankali saboda kuna son albarkatu daga VPC ɗin ku don samun damar intanet. Wannan kyakkyawan ra'ayi ne.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Sakamakon shine wannan main.tf:

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan shine babban ɓangaren main.tf.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan shine kasan main.tf.

Sannan ka kara subnet. Har zuwa lokacin da kake son ƙara ƙofofin NAT, hanyoyi, teburi masu tuƙi da ɗimbin sauran rukunin yanar gizo, ba za ku sami layukan 38 ba, amma kusan layukan 200-300.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wato, babban fayil ɗin ku na main.tf yana girma a hankali. Kuma sau da yawa mutane suna sanya komai a cikin fayil ɗaya. 10-20 Kb yana bayyana a main.tf. Ka yi tunanin cewa 10-20 Kb abun ciki ne na rubutu. Kuma komai yana da alaƙa da komai. A hankali wannan yana zama da wahala a yi aiki da shi. 10-20 Kb shine yanayin mai amfani mai kyau, wani lokacin ƙari. Kuma mutane ba koyaushe suna tunanin cewa wannan ba daidai ba ne.

Kamar yadda yake a cikin shirye-shirye na yau da kullun, watau ba ababen more rayuwa kamar lamba ba, ana amfani da mu don yin amfani da gungun azuzuwan daban-daban, fakiti, kayayyaki, ƙungiyoyi. Terraform yana ba ku damar yin abu iri ɗaya da yawa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

  • Lambar tana girma.
  • Dogara tsakanin albarkatun kuma suna girma.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma muna da babban bukatu mai girma. Mun fahimci cewa ba za mu iya rayuwa haka ba kuma. Lambar mu tana zama babba. 10-20 Kb yana da, ba shakka, ba mai girma ba ne, amma muna magana ne kawai game da tarin cibiyar sadarwa, watau kun ƙara albarkatun cibiyar sadarwa kawai. Ba muna magana ne game da Ma'aunin Load na Aikace-aikacen ba, tura ES cluster, Kubernetes, da sauransu, inda za'a iya saƙa 100 Kb cikin sauƙi. Idan kun rubuta duk waɗannan, nan ba da jimawa ba za ku fahimci cewa Terraform yana ba da samfuran Terraform.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Samfurin Terraform ƙayyadaddun tsarin tsarin Terraform ne mai ƙunshe da kai wanda ake gudanarwa azaman ƙungiya. Wannan shine abin da kuke buƙatar sani game da kayan aikin Terraform. Ba su da wayo kwata-kwata, ba sa ba ka damar yin wani hadadden haɗin gwiwa dangane da wani abu. Wannan duk ya fada kan kafadu na masu haɓakawa. Wato, wannan kawai wani nau'in tsarin Terraform ne wanda ka riga ka rubuta. Kuma kuna iya kiransa kawai a matsayin ƙungiya.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Don haka muna ƙoƙarin fahimtar yadda za mu inganta lambar mu 10-20-30 Kb. A hankali muna fahimtar cewa muna buƙatar amfani da wasu kayayyaki.

Nau'in na'urorin farko da kuke ci karo da su sune na'urorin kayan aiki. Ba su fahimci abin da kayan aikin ku suke ba, menene kasuwancin ku, inda kuma menene yanayin. Waɗannan su ne ainihin samfuran da ni, tare da buɗaɗɗen al'umma, gudanarwa, kuma waɗanda muka gabatar a matsayin farkon tubalan ginin kayan aikin ku.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Misalin tsarin kayan aiki.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Lokacin da muka kira tsarin kayan aiki, mun ƙayyade daga wane hanya ya kamata mu loda abubuwan da ke cikinsa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Muna nuna wace sigar da muke son saukewa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mun wuce gungu na muhawara a can. Shi ke nan. Wannan shine abin da muke buƙatar sani lokacin da muke amfani da wannan tsarin.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mutane da yawa suna tunanin cewa idan sun yi amfani da sabuwar sigar, komai zai kasance karko. Amma a'a. Dole ne a tsara kayan aikin; dole ne mu ba da amsa a fili ga wane sigar wannan ko wancan bangaren aka tura zuwa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Ga lambar da ke cikin wannan tsarin. Tsarin rukunin tsaro. Anan littafin ya tafi layi na 640. Ƙirƙirar albarkatun tsaro-croup a cikin Amazon a cikin kowane tsari mai yuwuwa aiki ne mara mahimmanci. Bai isa a ƙirƙiri ƙungiyar tsaro kawai a gaya mata irin ƙa'idodin da za a bi mata ba. Zai zama mai sauqi qwarai. Akwai hani daban-daban miliyan a cikin Amazon. Alal misali, idan ka yi amfani Wurin ƙarewa na VPC, jerin prefix, APIs iri-iri kuma yayi ƙoƙarin haɗa duk wannan tare da komai, to Terraform baya barin ku kuyi wannan. Kuma API ɗin Amazon shima baya ƙyale wannan. Don haka, muna buƙatar ɓoye duk waɗannan munanan dabaru a cikin tsarin kuma mu ba lambar mai amfani da ke kama da wannan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mai amfani baya buƙatar sanin yadda ake yin shi a ciki.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Nau'in nau'i na biyu, wanda ya ƙunshi nau'ikan kayan aiki, sun riga sun warware matsalolin da suka fi dacewa da kasuwancin ku. Sau da yawa wannan wuri ne mai tsawo don Terraform kuma yana saita wasu ƙididdiga masu tsattsauran ra'ayi don tags, don matsayin kamfani. Hakanan zaka iya ƙara ayyuka a can wanda Terraform baya ƙyale ka amfani da su a halin yanzu. Wannan shi ne a yanzu. Yanzu sigar 0.11, wanda ke shirin zama tarihi. Amma duk da haka, preprocessors, jsonnet, cookiecutter da ɗimbin sauran abubuwa sune hanyoyin taimako waɗanda dole ne a yi amfani da su don cikakken aiki.

Na gaba zan nuna wasu misalan wannan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Ana kiran tsarin kayan aikin a daidai wannan hanya.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

An nuna tushen daga inda za a sauke abun ciki.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

An shigar da tarin ƙima a ciki kuma an wuce su cikin wannan tsarin.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bayan haka, a cikin wannan tsarin, ana kiran gungun na'urori masu amfani don ƙirƙirar VPC ko Ma'aunin Load na Aikace-aikacen, ko don ƙirƙirar ƙungiyar tsaro ko don gungu na Sabis na Kwantena na Elastic.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Akwai nau'ikan kayayyaki guda biyu. Wannan yana da mahimmanci a fahimta saboda yawancin bayanan da na tara a cikin wannan rahoton ba a rubuta su a cikin takaddun ba.

Kuma takaddun da ke cikin Terraform a yanzu yana da matsala sosai saboda kawai ya ce akwai waɗannan fasalulluka, zaku iya amfani da su. Amma ba ta faɗi yadda ake amfani da waɗannan abubuwan ba, me yasa ya fi kyau a yi amfani da su. Saboda haka, mutane da yawa suna rubuta wani abu da ba za su iya rayuwa da shi ba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bari mu kalli yadda ake rubuta waɗannan kayayyaki na gaba. Sa'an nan za mu ga yadda za a kira su da kuma yadda za a yi aiki tare da code.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

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

Tukwici #0 shine kada a rubuta kayan aiki. Yawancin waɗannan samfuran an riga an rubuta muku. Kamar yadda na ce, su ne tushen budewa, ba su ƙunshi kowane ma'anar kasuwancin ku ba, ba su da ƙimar ƙima don adiresoshin IP, kalmomin shiga, da sauransu. Tsarin yana da sassauƙa sosai. Kuma tabbas an riga an rubuta shi. Akwai kayayyaki da yawa don albarkatu daga Amazon. Kimanin 650. Kuma mafi yawansu suna da inganci.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A cikin wannan misalin, wani ya zo wurinka ya ce, “Ina so in sami damar sarrafa bayanai. Ƙirƙiri module don in ƙirƙiri bayanan bayanai." Mutumin bai san cikakkun bayanan aiwatar da Amazon ko Terraform ba. Kawai yana cewa: "Ina son sarrafa MSSQL." Wato, muna nufin cewa zai kira tsarinmu, ya wuce nau'in injin a can, kuma ya nuna lokaci.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma kada mutum ya san cewa za mu ƙirƙiri albarkatun daban-daban guda biyu a cikin wannan rukunin: ɗaya don MSSQL, na biyu don komai, kawai saboda a cikin Terraform 0.11 ba za ku iya tantance ƙimar yankin lokaci azaman zaɓi ba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma a lokacin fita daga wannan tsarin, mutum zai iya karɓar adireshin kawai. Ba zai san daga wace rumbun adana bayanai ba, daga wane albarkatun da muke ƙirƙirar duk wannan a ciki. Wannan abu ne mai matukar muhimmanci na boyewa. Kuma wannan ya shafi ba kawai ga waɗancan kayayyaki na jama'a a buɗaɗɗen tushe ba, har ma ga waɗancan samfuran da za ku rubuta a cikin ayyukanku da ƙungiyoyinku.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan ita ce hujja ta biyu, wacce ke da mahimmanci idan kun kasance kuna amfani da Terraform na ɗan lokaci. Kuna da wurin ajiya wanda a cikinsa kuke sanya duk samfuran Terraform ɗinku don kamfanin ku. Kuma ya zama al'ada cewa bayan lokaci wannan aikin zai girma zuwa girman megabytes ɗaya ko biyu. Wannan yayi kyau.

Amma matsalar ita ce yadda Terraform ke kiran waɗannan kayayyaki. Misali, idan ka kira module don ƙirƙirar kowane mai amfani, Terraform zai fara loda dukkan ma'ajiyar sannan ya kewaya zuwa babban fayil inda wannan takamaiman tsarin yake. Ta wannan hanyar zaku sauke megabyte ɗaya kowane lokaci. Idan kuna sarrafa masu amfani 100 ko 200, to zaku sauke megabytes 100 ko 200, sannan ku shiga waccan folder. Don haka a zahiri ba kwa son saukar da tarin kaya duk lokacin da kuka buga "Terraform init".

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

https://github.com/mbtproject/mbt

Akwai hanyoyin magance wannan matsala guda biyu. Na farko shine amfani da hanyoyin dangi. Ta wannan hanyar zaku nuna a cikin lambar cewa babban fayil ɗin na gida ne (./). Kuma kafin ku ƙaddamar da wani abu, kuna yin Git clone na wannan ma'ajiyar a cikin gida. Ta wannan hanyar za ku yi sau ɗaya.

Akwai, ba shakka, da yawa downsides. Misali, ba za ku iya amfani da sigar ba. Kuma wannan wani lokacin yana da wuyar zama da shi.

Magani na biyu. Idan kuna da nau'i-nau'i masu yawa kuma kuna da wasu nau'in bututun da aka kafa, to akwai aikin MBT, wanda ke ba ku damar tattara fakiti daban-daban daga monorepository kuma ku loda su zuwa S3. Wannan hanya ce mai kyau. Don haka, fayil ɗin iam-user-1.0.0.zip zai auna 1 Kb kawai, saboda lambar da za a ƙirƙiri wannan albarkatu kaɗan ne. Kuma zai yi aiki da sauri.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Bari muyi magana game da abin da ba za a iya amfani da su a cikin kayayyaki ba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Me yasa wannan mugunta yake a cikin kayayyaki? Mafi munin abu shine ɗaukar mai amfani. A ɗauka mai amfani zaɓi ne na tabbatar da mai bayarwa wanda mutane daban-daban za su iya amfani da su. Misali, duk za mu daidaita rawar. Wannan yana nufin cewa Terraform zai ɗauki wannan rawar. Sannan da wannan rawar za ta yi wasu ayyuka.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma mugunta ita ce, idan Vasya yana son haɗawa da Amazon ta hanya ɗaya, misali, ta amfani da madaidaicin yanayin yanayi, kuma Petya yana son yin amfani da maɓallin da aka raba, wanda yake da shi a cikin asirce, to ba za ku iya ƙayyade duka biyu a ciki ba. Terraform. Kuma don kada su fuskanci wahala, babu buƙatar nuna wannan toshe a cikin tsarin. Dole ne a nuna wannan a matsayi mafi girma. Wato muna da tsarin kayan aiki, tsarin samar da ababen more rayuwa da abun da ke ciki a saman. Kuma wannan ya kamata a nuna wani wuri mafi girma.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Sharri na biyu shi ne mai azurtawa. A nan mugunyar ba ta da yawa, domin idan ka rubuta code kuma yana aiki a gare ku, to za ku iya tunanin cewa idan ya yi aiki, to don me ya canza shi.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Mugunta ita ce ba koyaushe kuke sarrafa lokacin da za a ƙaddamar da wannan na'urar ba, da farko. Na biyu kuma, ba ka sarrafa abin da aws ec2 ke nufi, watau muna magana ne akan Linux ko Windows yanzu. Don haka ba za ku iya rubuta wani abu da zai yi aiki iri ɗaya akan tsarin aiki daban-daban ko don lokuta daban-daban na masu amfani ba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Misali mafi na kowa, wanda kuma aka nuna a cikin takaddun hukuma, shine cewa idan kun rubuta aws_instance kuma ku ƙididdige gungun muhawara, to babu wani laifi tare da hakan idan kun ayyana mai ba da sabis na “local-exec” a can kuma ku aiwatar da abin da za ku iya. littafin wasa .

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A gaskiya, eh, babu laifi a cikin hakan. Amma a zahiri ba da daɗewa ba za ku gane cewa wannan abu na gida-exec ba ya wanzu, misali, a cikin launch_configuration.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma lokacin da kuka yi amfani da launch_configuration, kuma kuna son ƙirƙirar ƙungiyar autoscaling daga misali ɗaya, to a cikin launch_configuration babu wani ra'ayi na "mai bayarwa". Akwai manufar "bayanan mai amfani".

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Don haka, ƙarin bayani na duniya shine amfani da bayanan mai amfani. Kuma za a ƙaddamar da shi ko dai akan misalin kanta, lokacin da aka kunna misalin, ko kuma a cikin bayanan mai amfani iri ɗaya, lokacin da ƙungiyar autoscaling ke amfani da wannan ƙaddamarwa_configuration.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Idan har yanzu kuna son gudanar da mai ba da sabis, saboda kayan aikin gluing ne, lokacin da aka ƙirƙiri albarkatun guda ɗaya, a wannan lokacin kuna buƙatar gudanar da tanadin ku, umarnin ku. Akwai da yawa irin wannan yanayi.

Kuma mafi daidaitaccen albarkatun wannan shine ake kira null_resource. Null_resource kayan aikin da ba a taɓa yin su ba ne. Ba ya taɓa komai, babu API, babu autoscaling. Amma yana ba ku damar sarrafa lokacin gudanar da umarnin. A wannan yanayin, umarnin yana gudana a lokacin halitta.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

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

Akwai alamu da yawa. Ba zan shiga cikin dukkan alamu daki-daki ba. Akwai labarin game da wannan. Amma idan kun yi aiki tare da Terraform ko amfani da tsarin wasu mutane, to kun lura sau da yawa cewa yawancin kayayyaki, kamar yawancin lambobin a buɗe tushen, mutane ne suka rubuta don bukatun kansu. Wani mutum ne ya rubuta ya warware matsalarsa. Na makale shi a GitHub, bari ya rayu. Zai rayu, amma idan babu takardu da misalai a can, to babu wanda zai yi amfani da shi. Kuma idan babu wani aikin da zai ba ku damar warware ɗan ƙaramin aiki fiye da takamaiman aikinsa, to babu wanda zai yi amfani da shi. Akwai hanyoyi da yawa don rasa masu amfani.

Idan kuna son rubuta wani abu don mutane su yi amfani da shi, to ina ba da shawarar bin waɗannan alamun.

Wannan shi ne:

  • Takaddun bayanai da misalai.
  • Cikakken ayyuka.
  • Matsaloli masu ma'ana.
  • Tsaftace lamba.
  • Gwaje-gwaje.

Gwaje-gwaje yanayi daban ne saboda suna da wahalar rubutawa. Na yi imani da yawa a cikin takardu da misalai.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Don haka, mun kalli yadda ake rubuta modules. Akwai dalilai guda biyu. Na farko, wanda shine mafi mahimmanci, ba rubutawa ba idan za ku iya, saboda gungun mutane sun riga sun yi waɗannan ayyuka a gaban ku. Kuma na biyu, idan har yanzu kuna yanke shawara, to gwada kada ku yi amfani da masu samarwa a cikin kayayyaki da masu samarwa.

Wannan shine ɓangaren launin toka na takardun. Wataƙila kuna tunani yanzu: “Wani abu ba shi da tabbas. Ban gamsu ba." Amma za mu gani nan da wata shida.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Yanzu bari muyi magana game da yadda ake kiran waɗannan kayayyaki.

Mun fahimci cewa lambar mu tana girma akan lokaci. Ba mu da fayil ɗaya, muna da fayiloli 20. Duk suna cikin babban fayil guda. Ko wataƙila manyan fayiloli guda biyar. Wataƙila za mu fara murkushe su ta hanyar yanki, ta wasu sassa. Sannan mun fahimci cewa yanzu muna da wasu rudiments na aiki tare da ƙungiyar kade-kade. Wato dole ne mu fahimci abin da ya kamata mu yi idan muka canza hanyoyin sadarwa, abin da ya kamata mu yi da sauran albarkatunmu, yadda za a haifar da waɗannan abubuwan dogaro, da dai sauransu.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Akwai matsananci biyu. Matsanancin farko duk a ɗaya ne. Muna da babban fayil guda ɗaya. A halin yanzu, wannan shine mafi kyawun aikin hukuma akan gidan yanar gizon Terraform.

Amma yanzu an rubuta shi kamar yadda aka cire kuma an cire shi. Bayan lokaci, al'ummar Terraform sun gane cewa wannan ya yi nisa daga mafi kyawun aiki, saboda mutane sun fara amfani da aikin ta hanyoyi daban-daban. Kuma akwai matsaloli. Misali, idan muka lissafa duk abin dogaro a wuri guda. Akwai yanayi idan muka danna "Tsarin Terraform" kuma har sai Terraform ya sabunta jihohin duk albarkatun, lokaci mai yawa na iya wucewa.

Yawancin lokaci shine, misali, mintuna 5. Ga wasu wannan lokaci ne mai yawa. Na ga lokuta inda ya ɗauki mintuna 15. API ɗin AWS ya shafe mintuna 15 yana ƙoƙarin gano abin da ke faruwa tare da yanayin kowane albarkatu. Wannan yanki ne mai girman gaske.

Kuma, a zahiri, matsala mai alaƙa zata bayyana lokacin da kuke son canza wani abu a wuri ɗaya, sannan ku jira mintuna 15, kuma yana ba ku zane na wasu canje-canje. Ka tofa, ka rubuta "Ee", kuma wani abu ya faru ba daidai ba. Wannan misali ne na gaske. Terraform baya ƙoƙarin kare ku daga matsaloli. Wato rubuta abin da kuke so. Za a sami matsaloli - matsalolin ku. Yayin da Terraform 0.11 baya ƙoƙarin taimaka muku ta kowace hanya. Akwai wasu wurare masu ban sha'awa a cikin 0.12 waɗanda ke ba ku damar faɗi: "Vasya, da gaske kuna son wannan, za ku iya zuwa cikin hayyacin ku?"

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Hanya ta biyu ita ce rage wannan yanki, wato kiran da ake yi daga wani wuri ba zai iya haɗawa daga wani wuri ba.

Matsalar kawai ita ce kuna buƙatar rubuta ƙarin lamba, watau kuna buƙatar bayyana masu canji a cikin babban adadin fayiloli kuma sabunta wannan. Wasu mutane ba sa son shi. Wannan al'ada ce a gare ni. Kuma wasu suna tunanin: "Me ya sa aka rubuta wannan a wurare daban-daban, zan sanya shi duka wuri guda." Wannan yana yiwuwa, amma wannan shine matsananci na biyu.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wanene yake da duk wannan yana zaune a wuri ɗaya? Mutum ɗaya, biyu, uku, wato wani yana amfani da shi.

Kuma wanene ya kira wani yanki na musamman, toshe ɗaya ko tsarin kayan more rayuwa ɗaya? Mutum biyar zuwa bakwai. Wannan yana da kyau.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Amsar da aka fi sani shine wani wuri a tsakiya. Idan aikin yana da girma, to sau da yawa za ku sami yanayi inda babu mafita ya dace kuma ba duk abin da ke aiki a can ba, don haka kun ƙare tare da cakuda. Babu wani laifi a cikin wannan, idan dai kun fahimci cewa duka biyu suna da fa'ida.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Idan wani abu ya canza a cikin tarin VPC kuma kuna son yin amfani da waɗannan canje-canje zuwa EC2, watau kuna son sabunta rukunin autoscaling saboda kuna da sabon rukunin yanar gizo, to ina kiran irin wannan ƙungiyar dogarawa. Akwai wasu mafita: wa ke amfani da me?

Zan iya ba da shawarar abin da mafita akwai. Kuna iya amfani da Terraform don yin sihiri, ko kuna iya amfani da makefiles don amfani da Terraform. Kuma duba idan wani abu ya canza a can, za ku iya kaddamar da shi a nan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Yaya kuke son wannan shawarar? Shin akwai wanda ya gaskanta wannan mafita ce mai kyau? Ina ganin murmushi, da alama shakku sun shiga ciki.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Tabbas, kar a gwada wannan a gida. Ba a taɓa tsara Terraform don gudanar da shi daga Terraform ba.

A wani rahoto sun gaya mani: "A'a, wannan ba zai yi aiki ba." Maganar ita ce kada ta yi aiki. Kodayake yana da ban sha'awa sosai lokacin da zaku iya ƙaddamar da Terraform daga Terraform, sannan Terraform, bai kamata ku yi hakan ba. Terraform ya kamata koyaushe farawa cikin sauƙi.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

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

Idan kuna buƙatar ƙungiyar makaɗa lokacin da wani abu ya canza a wuri ɗaya, to akwai Terragrunt.

Terragrunt abu ne mai amfani, ƙari ga Terraform, wanda ke ba ku damar daidaitawa da tsara kira zuwa kayan aikin ababen more rayuwa.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Fayil na musamman na Terraform yayi kama da wannan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Ka ƙayyade wane takamaiman samfurin da kake son kira.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wadanne abubuwan dogaro ne tsarin ke da shi?

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma menene hujjar wannan rukunin ya karɓa. Wannan shine kawai abin da zaku sani game da Terragrunt.

Takardun yana can, kuma akwai taurari 1 akan GitHub. Amma a mafi yawan lokuta wannan shine abin da kuke buƙatar sani. Kuma wannan yana da sauƙin aiwatarwa a cikin kamfanonin da ke fara aiki tare da Terraform.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Don haka ƙungiyar ta Terragrunt. Akwai wasu zaɓuɓɓuka.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Yanzu bari mu magana game da yadda za a yi aiki tare da code.

Idan kana buƙatar ƙara sabbin abubuwa zuwa lambar ku, a mafi yawan lokuta wannan yana da sauƙi. Kuna rubuta sabon kayan aiki, komai mai sauƙi ne.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Idan kuna da wasu albarkatun da kuka ƙirƙira a gaba, misali, kun koyi game da Terraform bayan kun buɗe asusun AWS kuma kuna son amfani da albarkatun da kuke da su, to zai dace ku tsawaita tsarin ku ta wannan hanyar, ta haka. yana goyan bayan amfani da albarkatun da ake dasu.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma ya goyi bayan ƙirƙirar sabbin albarkatu ta amfani da albarkatun toshe.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A kan fitarwa koyaushe muna mayar da id ɗin fitarwa gwargwadon abin da aka yi amfani da shi.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Matsala ta biyu mai mahimmanci a cikin Terraform 0.11 tana aiki tare da jeri.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Matsalar ita ce idan muna da irin wannan jerin masu amfani.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Kuma lokacin da muka ƙirƙiri waɗannan masu amfani ta amfani da albarkatun toshe, to komai yana tafiya lafiya. Muna shiga cikin jerin duka, ƙirƙirar fayil don kowane. Komai yana lafiya. Sannan, alal misali, mai amfani3, wanda ke tsakiyar, yakamata a cire shi daga nan, sannan duk albarkatun da aka ƙirƙira bayansa za a sake ƙirƙirar su saboda index ɗin zai canza.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Yin aiki tare da lissafin a cikin yanayi mai kyau. Menene yanayi mai kyau? Wannan shine yanayin da aka ƙirƙiri sabon ƙima lokacin da aka ƙirƙiri wannan albarkatun. Misali, AWS Access Key ko AWS Sirrin Maɓalli, watau lokacin da muka ƙirƙiri mai amfani, muna karɓar sabon Maɓallin Shiga ko Sirri. Kuma duk lokacin da muka share mai amfani, wannan mai amfani zai sami sabon maɓalli. Amma wannan ba feng shui ba ne, saboda mai amfani ba zai so ya zama abokai tare da mu ba idan muka ƙirƙira masa sabon mai amfani a duk lokacin da wani ya bar ƙungiyar.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan ita ce mafita. Wannan lambar ce da aka rubuta a Jsonnet. Jsonnet harshe ne mai ƙima daga Google.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Wannan umarnin yana ba ku damar karɓar wannan samfuri kuma yayin fitarwa yana dawo da fayil json wanda aka yi bisa ga samfur ɗin ku.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Samfurin yayi kama da wannan.

Terraform yana ba ku damar yin aiki tare da HCL da Json duka a hanya ɗaya, don haka idan kuna da ikon samar da Json, to zaku iya zamewa cikin Terraform. Za a sauke fayil ɗin tare da tsawo .tf.json cikin nasara.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Sa'an nan kuma muna aiki tare da shi kamar yadda aka saba: terraform init, terramorm amfani. Kuma muna ƙirƙirar masu amfani guda biyu.

Yanzu ba ma jin tsoro idan wani ya bar tawagar. Za mu gyara fayil ɗin json kawai. Vasya Pupkin ya bar, Petya Pyatochkin ya kasance. Petya Pyatochkin ba zai karbi sabon maɓalli ba.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Haɗa Terraform tare da wasu kayan aikin ba ainihin aikin Terraform bane. An ƙirƙiri Terraform azaman dandamali don ƙirƙirar albarkatu kuma shi ke nan. Kuma duk abin da ya zo daga baya ba damuwa Terraform ba ne. Kuma babu bukatar saƙa a ciki. Akwai Mai yiwuwa, wanda ke yin duk abin da kuke buƙata.

Amma yanayi yana tasowa lokacin da muke son tsawaita Terraform kuma mu kira wasu umarni bayan wani abu ya ƙare.

Hanya ta farko. Muna ƙirƙirar fitarwa inda muke rubuta wannan umarni.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Sannan muna kiran wannan umarni daga fitowar harsashi ta terraform kuma mu tantance ƙimar da muke so. Don haka, ana aiwatar da umarnin tare da duk abubuwan da aka maye gurbinsu. Yana da dadi sosai.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Hanya ta biyu. Wannan shine amfani da null_resource dangane da canje-canje a cikin kayan aikin mu. Za mu iya kiran wannan local-exe da zarar ID na wasu albarkatun ya canza.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

A zahiri, duk wannan yana da santsi akan takarda, saboda Amazon, kamar sauran masu ba da sabis na jama'a, yana da ɗimbin maganganun nasa.

Mafi yawan al'amarin baki shine cewa lokacin da kuka buɗe asusun AWS, yana da mahimmancin yankunan da kuke amfani da su; shin an kunna wannan fasalin a can; watakila ka bude shi bayan Disamba 2013; watakila kana amfani da tsoho a cikin VPC da dai sauransu. Akwai hani da yawa. Kuma Amazon ya warwatsa su cikin takaddun.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Akwai 'yan abubuwan da nake ba da shawarar gujewa.

Don farawa, guje wa duk muhawarar da ba ta sirri ba a cikin shirin Terraform ko Terraform CLI. Duk waɗannan ana iya sanya su ko dai a cikin fayil ɗin tfvars ko cikin canjin yanayi.

Amma ba kwa buƙatar haddace wannan duka umarnin sihirin. Terraform shirin - var kuma mun tafi. Mafarkin farko shine var, mabambanta na biyu shine var, na uku, na huɗu. Mafi mahimmancin ka'idar abubuwan more rayuwa a matsayin lambar da nake amfani da ita sau da yawa ita ce kawai ta hanyar kallon lambar, yakamata in sami cikakkiyar fahimtar abin da aka tura a can, a wace jiha kuma tare da wace dabi'u. Don haka ba sai in karanta takardun ko tambayi Vasya waɗanne sigogin da ya yi amfani da su don ƙirƙirar tarin mu ba. Ina buƙatar buɗe fayil tare da tsawo na tfvars, wanda sau da yawa ya dace da yanayin, kuma duba duk abin da ke wurin.

Hakanan, kar a yi amfani da mahallin da aka yi niyya don rage girman. Don wannan yana da sauƙin amfani da ƙananan kayan aikin kayan aiki.

Hakanan, babu buƙatar iyakancewa da haɓaka daidaito. Idan ina da albarkatu 150 kuma ina so in haɓaka daidaiton Amazon daga tsoho 10 zuwa 100, to wataƙila wani abu zai yi kuskure. Ko kuma yana iya yin kyau a yanzu, amma lokacin da Amazon ya ce kuna yin kira da yawa, za ku kasance cikin matsala.

Terraform zai yi ƙoƙarin sake farawa yawancin waɗannan matsalolin, amma ba za ku cimma kusan komai ba. Daidaituwa = 1 abu ne mai mahimmanci don amfani idan kun yi tuntuɓe akan wasu kwaro a cikin AWS API ko cikin mai ba da Terraform. Sannan kana bukatar ka saka: parallelism=1 sai ka jira Terraform ya gama kira daya, sai na biyu, sannan na uku. Zai kaddamar da su daya bayan daya.

Sau da yawa mutane suna tambayata, "Me yasa nake ganin wuraren aiki na Terraform mugaye ne?" Na yi imani da ka'idar kayayyakin more rayuwa kamar yadda code ne don ganin abin da kayayyakin more rayuwa da kuma tare da abin da dabi'u.

Masu amfani ba su ƙirƙiri wuraren aiki ba. Wannan baya nufin cewa masu amfani sun rubuta a cikin batutuwan GitHub waɗanda ba za mu iya rayuwa ba tare da wuraren aiki na Terraform ba. A'a ba kamar wannan ba. Terraform Enterprise mafita ce ta kasuwanci. Terraform daga HashiCorp ya yanke shawarar cewa muna buƙatar wuraren aiki, don haka muka shigar da shi. Na sami sauƙin saka shi a cikin babban fayil daban. Sannan za a sami ƙarin fayiloli kaɗan, amma zai fi bayyana.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Yadda za a yi aiki tare da code? A gaskiya ma, yin aiki tare da lissafin shine kawai zafi. Kuma ɗaukar Terraform cikin sauƙi. Wannan ba shine abin da zai yi muku komai mai girma ba. Babu buƙatar tura duk abin da aka rubuta a cikin takardun a can.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

An rubuta batun rahoton "don nan gaba." Zan yi magana game da wannan a takaice. A nan gaba, wannan yana nufin cewa 0.12 za a saki nan da nan.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

0.12 ton na sabbin abubuwa ne. Idan kun fito daga shirye-shirye na yau da kullun, to kun rasa kowane nau'ikan tubalan masu ƙarfi, madaukai, daidaitattun ayyuka da kwatancen yanayin, inda ba a lissafta gefen hagu da dama a lokaci guda, amma dangane da yanayin. Kuna rasa shi da yawa, don haka 0.12 zai warware muku shi.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Amma! Idan kun rubuta ƙasa da sauƙi, ta amfani da shirye-shiryen shirye-shiryen da mafita na ɓangare na uku, to ba za ku jira ba kuma kuna fatan 0.12 zai zo ya gyara muku komai.

Bayanin abubuwan more rayuwa a cikin Terraform na gaba. Anton Babenko (2018)

Na gode da rahoton! Kun yi magana game da ababen more rayuwa azaman lamba kuma a zahiri faɗi kalma ɗaya game da gwaje-gwaje. Ana buƙatar gwaje-gwaje a cikin kayayyaki? Wannan alhakin wane ne? Shin ina buƙatar rubuta shi da kaina ko kuma alhakin na'urori ne?

Shekara ta gaba za ta cika da rahotanni cewa mun yanke shawarar gwada komai. Abin da za a gwada shine babbar tambaya. Akwai abubuwan dogaro da yawa, ƙuntatawa da yawa daga masu samarwa daban-daban. Lokacin da ni da ku muna magana kuma ku ce: "Ina buƙatar gwaje-gwaje," sai na tambayi: "Me za ku gwada?" Kun ce za ku yi jarrabawa a yankinku. Sai na ce wannan ba ya aiki a yankina. Wato, ba za mu ma iya yarda da wannan ba. Ba a ma maganar cewa akwai matsalolin fasaha da yawa. Wato yadda za a rubuta waɗannan gwaje-gwajen don su isa.

Ina bincike sosai akan wannan batu, watau yadda ake samar da gwaje-gwaje ta atomatik bisa abubuwan more rayuwa da kuka rubuta. Wato, idan kun rubuta wannan lambar, to ina buƙatar gudanar da shi, bisa ga wannan zan iya ƙirƙirar gwaje-gwaje.

Mafi Girma yana ɗaya daga cikin ɗakunan karatu da aka ambata akai-akai waɗanda ke ba ku damar rubuta gwajin haɗin kai don Terraform. Wannan daya ne daga cikin abubuwan amfani. Na fi son nau'in DSL, misali, rspec.

Anton, na gode da rahoton! Sunana Valery. Bari in yi 'yar tambaya ta falsafa. Akwai, bisa sharadi, tanadi, akwai turawa. Bayarwa yana haifar da kayan aikina, a cikin ƙaddamarwa muna cika shi da wani abu mai amfani, misali, uwar garken, aikace-aikace, da dai sauransu. Kuma a cikin kaina cewa Terraform ya fi girma don samarwa, kuma Ansible ya fi ƙaddamarwa, saboda Ansible shi ma na jiki The infrastructure. yana ba ku damar shigar da nginx, Postgres. Amma a lokaci guda, Mai yiwuwa yana da alama yana ba da damar samarwa, misali, na Amazon ko albarkatun Google. Amma Terraform kuma yana ba ku damar tura wasu software ta amfani da kayan aikin sa. A ra'ayin ku, shin akwai wani nau'in kan iyaka da ke gudana tsakanin Terraform da Mai yiwuwa, a ina kuma menene mafi kyawun amfani? Ko, alal misali, kuna tsammanin cewa Ansible ya riga ya zama datti, ya kamata ku yi ƙoƙarin amfani da Terraform don komai?

Tambaya mai kyau, Valery. Na yi imani cewa Terraform bai canza ba dangane da manufa tun 2014. An halicce shi don abubuwan more rayuwa kuma ya mutu don abubuwan more rayuwa. Har yanzu muna da kuma za mu sami buƙatuwar sarrafa tsari mai yiwuwa. Kalubalen shine akwai bayanan mai amfani a cikin launch_configuration. Kuma a can za ku ja Mai yiwuwa, da dai sauransu. Wannan shi ne daidaitattun bambancin da na fi so.

Idan muna magana game da kyawawan abubuwan more rayuwa, to akwai abubuwan amfani kamar Packer waɗanda ke tattara wannan hoton. Sannan Terraform yana amfani da tushen bayanai don nemo wannan hoton da sabunta ƙaddamarwa_configuration. Wato ta wannan hanyar bututun shine mu fara jan Tracker, sannan mu ja Terraform. Kuma idan gini ya faru, to, sabon canji ya faru.

Sannu! Na gode da rahoton! Sunana Misha, kamfanin RBS. Kuna iya kiran Mai yiwuwa ta hanyar mai bayarwa lokacin ƙirƙirar kayan aiki. Mai yiwuwa kuma yana da batun da ake kira dynamic inventory. Kuma za ku iya fara kiran Terraform, sannan ku kira Ansible, wanda zai karbi albarkatun daga jihar ku aiwatar da shi. Me ya fi?

Mutane suna amfani da duka biyu tare da nasara daidai. Da alama a gare ni cewa ƙima mai ƙarfi a cikin Ansible abu ne mai dacewa, idan ba muna magana ne game da ƙungiyar autoscaling ba. Domin a cikin rukunin autoscaling mun riga mun sami kayan aikin mu, wanda ake kira launch_configuration. A cikin launch_configuration muna rikodin duk abin da ke buƙatar ƙaddamarwa lokacin da muka ƙirƙiri sabon hanya. Saboda haka, tare da Amazon, yin amfani da kaya mai ƙarfi da karanta fayil ɗin Terraform ts, a ganina, ya wuce kima. Kuma idan kun yi amfani da wasu kayan aikin inda babu ra'ayi na "ƙungiyar autoscaling", alal misali, kuna amfani da DigitalOcean ko wasu masu ba da sabis inda babu ƙungiyar autoscaling, to a can zaku ja API da hannu, nemo adiresoshin IP, ƙirƙirar. fayil ɗin ƙira mai ƙarfi, kuma Mai yiwuwa zai riga ya yawo ta cikinsa. Wato, don Amazon akwai ƙaddamarwa_configuration, kuma ga komai da komai akwai ƙima mai ƙarfi.

source: www.habr.com

Add a comment