Waxaan bilownay bixiye Terraform-ka rasmiga ah si uu ula shaqeeyo Selectel. Alaabtani waxay u ogolaataa dadka isticmaala inay si buuxda u hirgeliyaan maareynta kheyraadka iyada oo loo marayo habka Kaabayaasha-sida-koodka.
Bixiyuhu hadda waxa uu taageeraa maamulka ilaha adeegga "Daruur gaar ah oo toos ah" (kadibna loo yaqaan VPC). Mustaqbalka, waxaan qorsheyneynaa inaan ku darno maareynta kheyraadka adeegyada kale ee ay bixiso Selectel.
Sidaad horeba u ogeyd, adeega VPC waxa lagu dhisay OpenStack. Si kastaba ha noqotee, iyadoo ay ugu wacan tahay xaqiiqda ah in OpenStack uusan bixineynin qalab asal ah oo loogu adeego daruuraha dadweynaha, waxaan ku hirgelinay shaqeynta maqan ee API-yo dheeraad ah oo fududeynaya maareynta walxaha isku dhafan oo ka dhigaya shaqada mid ku habboon. Qaar ka mid ah hawlaha laga heli karo OpenStack waa laga xiray isticmaalka tooska ah, laakiin waa la heli karaa iyada oo loo marayo API our.
Bixiyaha Selectel Terraform hadda waxa ku jira awoodda lagu maareeyo ilaha VPC ee soo socda:
mashaariicda iyo qoondadooda;
isticmaalayaasha, doorarkooda iyo calaamadahooda;
shabakadaha dadweynaha, oo ay ku jiraan gobollada iyo VRRP;
shatiyada software.
Bixiyuhu wuxuu isticmaalaa maktabada Go dadweynaha si uu ula shaqeeyo VPC API. Laybareeriga iyo bixiyaha laftiisaba waa il furan, horumarkooda waxaa lagu fuliyaa Github:
Si aad u maamusho ilaha kale ee daruuriga ah, sida mashiinada farsamada gacanta, saxanadaha, Kubernetes kutlada, waxaad isticmaali kartaa bixiyaha OpenStack Terraform. Dukumeentiga rasmiga ah ee labada bixiye ayaa laga heli karaa xiriirinta soo socota:
Si aad u bilowdo, waxaad u baahan tahay inaad ku rakibto Terraform (tilmaamaha iyo isku xirka xirmooyinka rakibidda ayaa laga heli karaa website-ka rasmiga ah).
Si uu u shaqeeyo, bixiyaha waxa uu u baahan yahay furaha API Selectel, kaas oo lagu dhex abuuray koontaroolada koontada.
Muujinta la shaqaynta Selectel waxaa la sameeyay iyadoo la adeegsanayo Terraform ama iyadoo la adeegsanayo tusaaleyaal diyaarsan oo laga heli karo kaydka Github: terraform-tusaalooyin.
Kaydka oo leh tusaalayaal waxa loo qaybiyaa laba hage:
modules, oo ka kooban qaybo yar yar oo dib loo isticmaali karo kuwaas oo qaata go'an cabbiro ahaan sida wax gelinta oo maamula qayb yar oo agab ah;
Faylka ku jira vars.tf dhammaan xuduudaha la isticmaali doono marka la waco modules-ka la sifeynayo. Qaar ka mid ah waxay leeyihiin qiyamka caadiga ah, tusaale ahaan, server-ka waxaa lagu abuuri doonaa aagga ru-3a qaabeynta soo socota:
Haddii loo baahdo, waxaad cayimi kartaa fure dadweyne oo kale. Furaha looma baahna in lagu qeexo dariiqa faylalka; waxaad kaloo ku dari kartaa qiimaha xadhig ahaan.
Faylkan dheeraadka ah ee cutubyada ayaa la bilaabay mashruuc_la_isticmaal ΠΈ server_local_root_disk, kuwaas oo maamula agabka lagama maarmaanka ah.
dood iska indha_isbeddelka waxay kuu ogolaanaysaa inaad iska indho tirto isbeddelada sifada id ee sawirka loo isticmaalo in lagu abuuro mishiinka farsamada. Adeegga VPC, inta badan sawirada dadwaynaha si toos ah ayaa loo cusboonaysiiyaa todobaadkiiba hal mar isla mar ahaantaana iyaga id sidoo kale isbedel. Tan waxa u sabab ah waxyaabaha gaarka ah ee qaybta OpenStack - Glance, kaas oo sawiradu loo tixgaliyo wax aan la bedeli karin.
Haddii aad abuurayso ama wax ka beddelayso server ama disk jira oo leh dood ahaan sawirka_id waxaa loo isticmaalaa id sawirka guud, ka dib markii sawirkaas la cusboonaysiiyo, socodsiinta Terraform manifest mar kale waxay dib u abuuri doontaa server-ka ama diskka. Isticmaalka dood iska indha_isbeddelka kuu ogolaanayaa inaad ka fogaato xaaladdan oo kale.
dood iska illow_resize_confirmation loo baahan yahay in si guul leh loo cabbiro saxanka maxalliga ah, koorayaasha, ama xusuusta server-ka. Isbedelada noocan oo kale ah waxaa lagu sameeyaa qaybta OpenStack Nova iyadoo la adeegsanayo codsi ucabirto. Default Nova ka dib codsiga ucabirto wuxuu dhigayaa server-ka xaalad xaqiijin_cabbir wuxuuna sugayaa xaqiijin dheeraad ah isticmaalaha. Si kastaba ha ahaatee, dhaqankan waa la bedeli karaa si Nova aysan u sugin ficillo dheeraad ah isticmaalaha.
Doodda la cayimay waxay u oggolaanaysaa Terraform inaysan sugin heerka xaqiijin_cabbir loogu talagalay server-ka oo u diyaargarow in server-ku uu ku jiro xaalad firfircoon ka dib markaad beddesho cabbirkiisa. Doodda waxaa laga heli karaa nooca 1.10.0 ee bixiyaha OpenStack Terraform: jiid#422.
Abuurista Khayraadka
Ka hor inta aanad bilaabin bandhigyada, fadlan ogow in tusaale ahaan, laba bixiye oo kala duwan ayaa la bilaabay, iyo bixiyaha OpenStack waxay ku xiran tahay kheyraadka bixiyaha Selectel, maadaama aan la abuurin isticmaale mashruuca, waa wax aan suurtagal ahayn in la maareeyo walxaha uu leeyahay. . Nasiib darro, isla sabab la mid ah ma socodsiin karno amarka terraform codsan gudaha tusaalahayaga. Marka hore waxaan u baahanahay inaan sameyno codso loogu talagalay moduleka mashruuc_la_isticmaal iyo ka dib wax kasta oo kale.
Waxaan ku bilownay cutubyada anagoo adeegsanayna amarka:
$ terraform init
Soosaarku wuxuu muujinayaa in Terraform ay soo dejiso noocyadii ugu dambeeyay ee bixiyeyaasha ay isticmaasho oo ay hubiso dhammaan cutubyada lagu sifeeyay tusaalaha.
Marka hore aan dabaqno moduleka mashruuc_la_isticmaal. Tani waxay u baahan tahay in gacanta lagu dhaafo qiyamka doorsoomayaasha aan la dejin:
sel_account lambarkaaga koontada Selectel;
sel_token oo wata furahaaga Selectel API;
user_password oo wata furaha sirta ah ee isticmaalaha OpenStack.
Qiimaha labada doorsoome ee hore waa in laga soo qaadaa kontaroolada.
Doorsoomaha ugu dambeeya, waxaad la imaan kartaa erayga sirta ah ee kasta.
Si aad u isticmaasho moduleka waxaad u baahan tahay inaad bedesho qiyamka SEL_ACCOUNT, SEL_TOKEN ΠΈ USER_PASSWORD socodsiinaya amarka:
Plan: 3 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
Marka mashruuca, isticmaalaha iyo doorka la abuuro, waxaad bilaabi kartaa abuurista kheyraadka hadhay:
Fadlan ogow in tani ay keenayso dib u kicinta mishiinka farsamada ee la abuuray.
Si aad u codsato qaabaynta mishiin cusub, isticmaal amarka terraform codsan, kaas oo aan horay u bilownay.
Dhammaan walxaha la abuuray ayaa lagu soo bandhigi doonaa Xakamaynta VPC:
Inaga tusaale ahaan bakhaarrada Waxa kale oo aad arki kartaa muujinta abuurista mashiinnada farsamada gacanta oo wata shabakado.
Tusaale ahaan abuurista koox Kubernetes ah
Inta aynaan u gudbin tusaalaha xiga, waxaan nadiifin doonaa agabkii aan hore u abuurnay. Si tan loo sameeyo xididka mashruuca terraform-tusaale/tusaale/vpc/server_local_root_disk Aan socodsiino amarka si aan u tirtirno walxaha OpenStack:
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
Waxaan ku wareejin doonaa abuurista iyo maamulka Kubernetes kutlooyinka iyada oo loo marayo qaybta OpenStack Magnum. Waxaad ka heli kartaa wax badan oo ku saabsan sida loola shaqeeyo kooxdeena mid ka mid ah articles horesidoo kale saldhiga aqoonta.
Marka la diyaarinayo kutlada, saxanadaha iyo mashiinada farsamada ayaa la abuuri doonaa waxaana lagu rakibayaa dhammaan qaybaha lagama maarmaanka ah. Diyaargarawgu wuxuu qaadanayaa ilaa 4 daqiiqo, wakhtigaas oo Terraform uu soo bandhigi doono fariimaha sida:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
Marka rakibiddu dhammaato, Terraform waxay tilmaamaysaa in kooxdu diyaar tahay oo ay muujiso aqoonsigeeda:
Si aad u maamusho kutlada Kubernetes ee la abuuray iyada oo loo marayo utility kubectl waxaad u baahan tahay inaad hesho faylka gelitaanka kooxda Si tan loo sameeyo, u tag mashruuca lagu abuuray Terraform ee liiska mashaariicda ee akoonkaaga:
Marka xigta, raac xiriirka sida xxxxxx.selvpc.ruKaaso hoos ka muuqda magaca mashruuca:
Macluumaadka gelitaanka, isticmaal magaca isticmaalaha iyo erayga sirta ah ee aad ku dhex abuurtay Terraform. Haddaadan khiyaanayn vars.tf ama ugu weyn.tf tusaale ahaan, isticmaaluhu wuxuu yeelan doonaa magaca tf_user. Waa inaad u isticmaashaa qiimaha doorsoomuhu sirta ahaan TF_VAR_user_password, kaas oo lagu cayimay bilowga terraform codsan hore.
Gudaha mashruuca waxaad u baahan tahay inaad tagto tab Kubureteska:
Halkani waa halka ay ku yaalaan kooxda lagu sameeyay Terraform. Soo deji faylka kubectl Waxaad ka heli kartaa tab "helitaanka":
Tilmaamaha rakibidda waxay ku yaalliin isla tab. kubectl iyo isticmaalka la soo dejiyey config.yaml.
Ka dib markii la bilaabay kubectl iyo dejinta doorsoomayaasha deegaanka KUBECONFIG Waxaad isticmaali kartaa Kubernetes:
Tirada qanjidhada kooxdu si fudud ayaa loogu beddeli karaa iyada oo loo marayo Terraform.
Faylka ku jira ugu weyn.tf qiimaha soo socda ayaa la cayimay:
cluster_node_count = "${var.cluster_node_count}"
Qiimahan ayaa laga beddelay vars.tf:
variable "cluster_node_count" {
default = 2
}
Waxaad ku bedeli kartaa qiimaha caadiga ah midkood vars.tf, ama si toos ah u qeex qiimaha loo baahan yahay ugu weyn.tf: