Wothandizira amagwiritsa ntchito laibulale yathu ya Go pagulu kuti agwire ntchito ndi VPC API. Onse laibulale ndi woperekayo ali wotseguka, chitukuko chawo chikuchitika pa Github:
Mu fayilo anthu.tf magawo onse omwe adzagwiritsidwe ntchito poyimba ma module akufotokozedwa. Ena mwa iwo ali ndi zikhalidwe zosasinthika, mwachitsanzo, seva idzapangidwa m'derali ndi 3a ndi masinthidwe awa:
Kukangana kunyalanyaza_kusintha amakulolani kunyalanyaza kusintha kwa mawonekedwe id kwa chithunzi chomwe chimagwiritsidwa ntchito popanga makina enieni. Muutumiki wa VPC, zithunzi zambiri zapagulu zimasinthidwa kamodzi pa sabata ndipo nthawi yomweyo awo id komanso kusintha. Izi ndichifukwa cha zomwe zili mu gawo la OpenStack - Glance, momwe zithunzi zimatengedwa ngati zinthu zosasinthika.
Ngati mukupanga kapena kusintha seva yomwe ilipo kapena disk yomwe ili ndi mkangano chithunzi_id imagwiritsidwa ntchito id chithunzi cha anthu onse, ndiye chithunzicho chikasinthidwa, kuyendetsa chiwonetsero cha Terraform kudzapanganso seva kapena disk. Kugwiritsa ntchito mkangano kunyalanyaza_kusintha amakulolani kupeŵa mkhalidwe wotero.
Zindikirani: kukangana kunyalanyaza_kusintha adawonekera ku Terraform kalekale: kukokera #2525.
Kukangana ignore_resize_confirmation zofunikira kuti musinthe kukula kwa disk, ma cores, kapena kukumbukira kwa seva. Zosintha zoterezi zimapangidwa kudzera mu gawo la OpenStack Nova pogwiritsa ntchito pempho sintha. Mosasinthika Nova pambuyo pempho sintha imayika seva pamalo ake verify_resize ndikudikirira chitsimikiziro chowonjezera kuchokera kwa wogwiritsa ntchito. Komabe, khalidweli likhoza kusinthidwa kuti Nova asadikire zochita zina kuchokera kwa wogwiritsa ntchito.
Mtsutso womwe waperekedwa umalola Terraform kuti asadikire zomwe zikuchitika verify_resize kwa seva ndikukonzekera kuti seva ikhale yogwira ntchito pambuyo posintha magawo ake. Mtsutso ukupezeka kuchokera ku mtundu 1.10.0 wa OpenStack Terraform wopereka: kukokera #422.
Kupanga Zothandizira
Musanayambe mawonetseredwe, chonde dziwani kuti mu chitsanzo chathu, opereka awiri osiyana amayambitsidwa, ndipo opereka OpenStack amadalira zothandizira za Selectel, popeza popanda kupanga wogwiritsa ntchito polojekitiyi, sizingatheke kuyang'anira zinthu zomwe zili zake. . Tsoka ilo, chifukwa chomwechi sitingathe kungoyendetsa lamulo terraform ntchito mkati mwa chitsanzo chathu. Choyamba tiyenera kuchita ntchito za module project_with_user ndipo pambuyo pake kwa china chirichonse.
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
Pulojekitiyo, wogwiritsa ntchito ndi udindo zitapangidwa, mutha kuyamba kupanga zotsalazo:
Mutha kugwira ntchito ndi makina omwe adapangidwa kudzera pa SSH pogwiritsa ntchito IP yodziwika.
Kusintha Zothandizira
Kuphatikiza pakupanga zinthu kudzera mu Terraform, zitha kusinthidwanso.
Mwachitsanzo, tiyeni tiwonjeze kuchuluka kwa ma cores ndi kukumbukira kwa seva yathu posintha zikhalidwe zamagawo. seva_vcpus и seva_ram_mb mu file zitsanzo/vpc/server_local_root_disk/main.tf:
Muzochitika zonsezi, muyenera kutsimikizira kufufutidwa kwa zinthu zonse:
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
Chitsanzochi chimapanga pulojekiti, wogwiritsa ntchito ntchitoyo, ndikukweza gulu limodzi la Kubernetes. Mu fayilo anthu.tf mutha kuwona zikhalidwe zosasinthika, monga kuchuluka kwa ma node, mawonekedwe awo, mtundu wa Kubernetes, ndi zina.
Kuti tipange zothandizira zofanana ndi chitsanzo choyamba, choyamba tiyamba kuyambitsa ma modules ndikupanga ma modules project_with_userkenako kupanga china chilichonse:
Tisamutsa kupanga ndi kuyang'anira magulu a Kubernetes kudzera mu gawo la OpenStack Magnum. Mutha kudziwa zambiri za momwe mungagwirire ntchito ndi cluster mu imodzi mwazathu nkhani zam'mbuyo, komanso maziko a chidziwitso.
Pokonzekera masango, ma disks ndi makina enieni adzapangidwa ndipo zigawo zonse zofunika zidzayikidwa. Kukonzekera kumatenga pafupifupi mphindi 4, panthawi yomwe Terraform idzawonetsa mauthenga monga:
module.kubernetes_cluster.openstack_containerinfra_cluster_v1.cluster_1: Still creating... (3m0s elapsed)
Kukhazikitsa kukamaliza, Terraform iwonetsa kuti gululi lakonzeka ndikuwonetsa ID yake: