Terraform

Kuidas kasutada Terraformi koos Google Cloud Platformiga?

Kuidas kasutada Terraformi koos Google Cloud Platformiga?
Terraform on tööriist, mida kasutatakse infrastruktuuri kui koodide hõlpsaks haldamiseks. Selle on välja töötanud HashiCorp kui avatud lähtekoodiga projekti pilvearendajatele, et hallata oma infrastruktuuri väga kõrgel tasemel keeles (HCL). Selle tööriista suurim eelis on see, et see võtab välja peamised infrastruktuuriteenused nagu AWS, OpenStack, Vultr, Digital Ocean, Google Cloud ja võimaldab arendajatel oma konfiguratsiooni ühtses standardses vormingus ühtlustada. Lisaks on Terraformiga võimalik ka automatiseerimine ja üksikasjalik teostamine. See on saadaval Windowsi, Linuxi, MacOS-i platvormidel ja seda saab kasutada kõigi suuremate mõõduka tehniliste teadmistega pilveplatvormidega.

Selles juhendis selgitatakse, kuidas Terraformi kasutada Google Cloudi platvormiga. Selles juhendis eeldatakse, et kasutajal on Google Cloudi platvormil konto ja see on kasutamiseks valmis, kui mitte, siis on võimalik tasuta proovikonto aasta jooksul hõlpsalt luua. Kuid Google Cloud nõuab oma konsoolile juurdepääsu saamiseks kehtivat krediitkaardinumbrit; seega veenduge enne jätkamist, et sellega tegeletakse.

Nõuded ja tingimused

Google Cloudi platvorm koosneb suurest arvust teenustest; seetõttu on neid kõiki raske ühes juhendis kajastada ja seetõttu hõlmab see juhend ainult Google VM-i eksemplaride jaotist. See näitab, kuidas Nginxi veebiserverit installida Ubuntu VM-i eksemplari Google Cloudi infrastruktuuris.

Kuna juhend on seotud terraformiga, tuleb ilmselt see süsteemi installida. Lisaks tuleb VM-i eksemplarile juurdepääsemiseks luua SSH-võti.

Kuidas installida Terraform Ubuntu

Terraformi saab paigaldada kahel erineval viisil. Esimene meetod on käsitsi viis, mis nõuab kasutajalt selle süsteemi allalaadimist ja installimist, alternatiivne ja kõige soovitatavam viis on automatiseeritud viis, mis laadib alla ja installib terrakoori süsteemi koos paari koodireaga. Selle elluviimiseks järgige järgmisi käske.

  1. Terraform-paketi ekstraheerimiseks pärast selle allalaadimist installige süsteemis unzip-pakett.
sudo apt-get install unzip
  1. Laadige alla ja installige terraform antud lingilt. Pange tähele, et artikli kirjutamise hetkel on terraformi uusim versioon 0.11.10. Tulevikus võib versioon olla erinev. Nii et pöörake alati tähelepanu nende ametlikule veebisaidile, et saada teavet uusima terraformi paketi kohta.
wget https: // vabastab.hashicorp.com / terraform / 0.11.10 / terraform_0.11.10_linux_amd64.tõmblukk
  1. Ekstraktige terraform praegu aktiivsesse kataloogi. Vaikimisi on see Ubuntu kodukataloog.
lahti pakkima terraform_0.11.10_linux_amd64.tõmblukk
  1. Teisaldage terraform binaarkataloogi. Terraformil pole häälestusfaili; seetõttu tuleb selle binaarfail paigutada prügikasti faili käsitsi.
sudo mv terraform / usr / local / bin /
  1. Kasutage järgmist käsku, et pääseda käsurealt terraformile, määramata selle kataloogi.
terraform --versioon

Kuidas luua oma SSH-võti

Pärast terraformi installimist on järgmine oluline samm luua oma SSH-i avalik / privaatne võti paar, et suhelda loodava VM-i eksemplariga. SSH-võtmepaar pakub traditsioonilise parooli / kasutajanime autentimise suhtes tugevat turvalisust; seetõttu on selle võimaluse järgimine tungivalt soovitatav, kuigi see pole kohustuslik.

1. SSH-võtmepaari loomiseks tippige Ubuntu kestale järgmine käsk.

ssh-keygen

2. Kohe alguses küsib see võtmepaarile nime ja seejärel ssh-võtme parooli. Avalik võti luuakse nimega .pubi, samas kui privaatne võti luuakse . Mõlemad võtmed luuakse praegu aktiivses kataloogis. Hoidke privaatvõti turvalises kohas turvalisena, kuna VM-i eksemplarile on oluline juurde pääseda.

Google Cloudi seadistamine Terraformiga

Kui eeltoodud kaks segmenti on lõpule viidud, looge Google Cloudis tasuta proovikonto. Kuna konto loomine on lihtne protsess, pole seda siin kirjeldatud. Pärast Google Cloudi konsoolile juurdepääsu saamist järgige järgmisi samme Google Cloudi maastiku kujundamiseks.

  1. Liikuge järgmisele URL-ile.
    https: // konsool.pilv.google.com
  1. Klõpsake konsooli vasakus ülanurgas nuppu "Minu projektid".
  2. Looge selles juhendis kas uus projekt või kasutage olemasolevat projekti. Projekti eesmärk on Google Cloudi erinevate teenuste rühmitamine. Projekt on selle teenuste hierarhia kõrgeim sõlm ja ülejäänud teenused lähevad selle alla. Ühe projekti raames loodud teenusele pole juurdepääsu teisest projektist. Kui projekt on loodud, kopeerige ja hoidke selle ID kusagil turvalises kohas. Järgmisel ekraanipildil on projekti ID karismaatiline-summa-202020, ja see võib teie pilvekonsoolis olla erinev. 
  3. Google'i pilveplatvormiga ühenduse loomisel kasutaja autentimiseks faili JSON-vormingus allalaadimiseks navigeerige järgmisele veebiaadressile. See on administraatori konto; seega veenduge, et see mandaadifail oleks turvalises kohas turvaline. https: // konsool.pilv.google.com / apis / credentials / serviceaccountkey 
  4. Looge fail ja nimetage see ümber peamiseks.tf. See fail on terraformi konfiguratsioonifail, seejärel kasutage oma esimese koodireana järgmist koodiplokki. Pakkuja nimi on teenuseosutaja ühenduse loomiseks märkimine. Terraform toetab suurt hulka pilveplatvorme; seetõttu tuleb pilveplatvormi nimi sõnaselgelt öelda. Siin on see Google, mis tähendab, et see ühendub Google'i pilveplatvormiga. Peale pealkirja on plokis 3 atribuuti, atribuut „credentials” on ette nähtud ülalt alla laaditud mandaadifaili nime määramiseks, projekti nimi on asukoht Google'i pilves, kus VM-i eksemplar luuakse. 3. etapis loodud ID-d kasutatakse siin projekti nimena. Piirkond on geograafiline asukoht, kus VM-i eksemplar luuakse. Piirkondi on mitu. Selle lingi abil saate viidata kõigile saadaolevatele piirkondadele. https: // pilv.google.com / appengine / docs / asukohtade pakkuja "google"
    mandaat = "$ fail (" CREDENTIALS_FILE.json ")"
    projekt = "PROJECT_NAME"
    piirkond = "REGION_NAME"

  1. Terraformi pistikprogrammide installimiseks kasutage järgmist käsku. Järgmine käsk skannib terraformi konfiguratsioonifaili automaatselt ja tuvastab installitavad pistikprogrammid, lisaks laadib see alla ka terraformi pakkuja teabe. Selles juhendis kasutatakse Google Cloudi platvormi; seega laadib see alla Google'i pilveterraformi pakkuja teabe. Käsk tuvastab teenuseosutaja nimest, mis on märgitud terraformi konfiguratsioonifaili märksõnas “pakkuja”. terraform init
  1. VM-i eksemplari kohta lisateabe määratlemiseks kasutage kahte järgmist koodiplokki. Algusest peale kasutab see juhusliku ID pistikprogrammi 8-kohalise juhusliku arvu genereerimiseks, seejärel määrab selle numbri muutujale instance_id, et seda kasutada VM-i eksemplari nime eesliitena. Teises koodiplokis loob see VM-i eksemplari nimega „nucuta-vm-. Masina tüüp on serveripakett, mida kasutatakse VM-i eksemplari hostimiseks. Saadaolevate masinatüüpide leidmiseks vaadake seda veebiaadressit. https: // pilv.google.com / compute / docs / machine-types. Tsoon on piirkonna täpne asukoht. Igas piirkonnas on saadaval peamiselt 3 tsooni, a, b, c. Igal tsoonil on oma riistvara / tarkvara konfiguratsioon. Selle veebi URL-i abil saate viidata kõigile saadaolevatele tsoonidele ja nende riistvara konfiguratsioonile. https: // pilv.google.com / compute / docs / regioonid-tsoonid / ressurss "random_id" "instance_id"
    baidi pikkus = 8

    ressurss "google_compute_instance" "nucuta"
    name = "nucuta-vm - $ juhuslik_id.instants_id.hex "
    masina tüüp = "f1-mikro"
    zone = "asia-south1-a"
  1. Kasutage koodiplokis „google_compute_instance” järgmist koodiplokki. See täpsustab kasutatava operatsioonisüsteemi. Selle veebi URL-i abil leiate kõik Google'i pilveplatvormi jaoks saadaolevad operatsioonisüsteemid. https: // pilv.google.com / compute / docs / images. Seal on kirjas pilt, kuna operatsioonisüsteemid on salvestatud pildifailidena. Terraform-konfiguratsioonifaili käivitamisel eraldatakse pildifail ja selle operatsioonisüsteem installitakse VM-i eksemplari nagu tavalises arvutis. Pildiatribuut on selles vormingus, pildiprojekt / pildiperekond. boot_disk
    initize_params
    image = "ubuntu-os-cloud / ubuntu-1604-lts"

  1. Kasutage koodi blokeerimisel „google_compute_instance” järgmist koodi. See määrab käivitatud skripti, mida käivitada vastloodud VM-i eksemplaris. See skript käivitatakse kohe pärast VM-i eksemplari loomist. Järgmises näites värskendab see kohaliku paketiinfo hoidlat uusima teabega, seejärel värskendab kõiki pakette dist-upgrade abil, seejärel installib paketi nginx. Kasutage lipu -y, et muuta protsess mitteinteraktiivseks, see tähendab, et see käivitab ja viib protsessi automaatselt läbi ilma kasutaja sekkumiseta. metadata_startup_script = "sudo apt-get -y värskendus;
    sudo apt-get -y dist-upgrade;
    sudo apt-get -y installige nginx "
  1. Kasutage koodiplokis „google_compute_instance” järgmist koodiplokki. Järgmine koodiplokk määrab võrguliidese, mida kasutatakse praeguse VM-i eksemplari ühendamiseks teiste VM-i eksemplaride, seadmete ja võrkudega. Blokki Access_config kasutatakse VM-i eksemplari välise IP-aadressi eraldamiseks Internetist pääsemiseks. network_interface
    network = "vaikimisi"
    access_config

  1. Lõpuks kasutage koodiplokis „google_compute_instance” järgmist koodiplokki. See määrab kasutajanime ja avaliku SSH-võtme. Veenduge, et loodud avalik SSH-võti oleks terraformi konfiguratsioonifailiga samas kaustas. Kasutajanimi peaks olema selle konto nimi, kust SSH-võti loodi, näiteks kui konto nimi on juur, siis selle kasutajanimi on juur. metaandmed
    sshKeys = "dilanga: $ file (" dilanga.pubi ")"

  1. Lõplik koodiplokk peaks välja nägema selline 
  2. Kasutage järgmist koodiplokki väljas google_compute_instance koodiplokist. Vaikimisi blokeerib VM-i eksemplar kogu sissetuleva ja väljamineva liikluse. Kuna see juhend loob veebiserveri, tuleb porti 80 ja 443 avada, et võimaldada kasutajatel sellele Interneti kaudu juurde pääseda. Algusest peale loob atribuut name selle reegli jaoks profiili Google'i arvutuste tulemüüris, võrgu atribuut määrab, millisele võrguliidesele reegel kehtib, lubage plokk lubab protokollid ja selle all olevad pordid. Icmp-protokolli kasutatakse veebiserveri pingimiseks, et veenduda, et see oleks avalikkusele kättesaadav. Pingingut kasutavad paljud teenused sageli veebisaidi kättesaadavuse väljaselgitamiseks. ressurss "google_compute_firewall" "vaikimisi"
    name = "nginx-tulemüür"
    network = "vaikimisi"
     
    lubama
    protokoll = "tcp"
    pordid = ["80", "443"]

     
    lubama
    protokoll = "icmp"

  3. Kasutage järgmist koodiplokki väljas väärtusest “google_compute_instance” praeguse VM-i eksemplari avaliku IP-aadressi printimiseks. väljund "ip"
    väärtus = "$ google_compute_instance.tuum.võrgu_liides.0.juurdepääsukonfig.0.nat_ip "
  4. Konfigureerimisfaili ja mandaadifaili kontrollimiseks kasutage järgmist käsku. Samuti eelvaade, kuidas lõplik tulemus välja näeb, kui konfiguratsioonifail on käivitatud. terraformi plaan
  5. seejärel kasutage konfiguratsioonifaili käivitamiseks järgmist käsku. terraform kehtib
  6. Nüüd kasutage VM-i eksemplari veebiserverile juurdepääsu saamiseks mis tahes veebibrauseri avalikku IP-aadressi.
  7. Serveri haldamiseks SSM-i kaudu VM-i eksemplarile pääsemiseks kasutage järgmist käsku. Veenduge, et privaatne võti oleks praeguses kataloogis, või määrake privaatse võtme tee.
  8. ssh -i @

    Järeldus

    Sellest peaks alustamiseks piisama.  Täielik konfiguratsioonifail, peamine.tf, on näidatud allpool. Esiletõstetud tekste saab vastavalt kasutaja vajadustele muuta.

    pakkuja "google"
    volikirjad = "$ file (" dilannga_credentials.json ")"
    projekt = "karismaatiline-summa-202020"
    region = "asia-south1"

     
    ressurss "random_id" "instance_id"
    baidi pikkus = 8

     
    ressurss "google_compute_instance" "nucuta"
    name = "nucuta-vm - $ juhuslik_id.instants_id.hex "
    masina_tüüp = "f1-mikro"
    zone = "asia-south1-a"
     
    boot_disk
    initize_params
    image = "ubuntu-os-cloud / ubuntu-1604-lts"


     
    metadata_startup_script = "sudo apt-get -y värskendus; sudo apt-get -y dist-upgrade;
    sudo apt-get -y installige nginx "
     
    network_interface
    network = "vaikimisi"
     
    access_config
     


     
    metaandmed
    sshKeys = "dilanga: $ file (" dilanga.pubi ")"


     
    ressurss "google_compute_firewall" "vaikimisi"
    name = "nginx-tulemüür"
    network = "vaikimisi"
     
    lubama
    protokoll = "tcp"
    pordid = ["80", "443"]

     
    lubama
    protokoll = "icmp"


     
    väljund "ip"
    väärtus = "$ google_compute_instance.tuum.võrgu_liides.0.juurdepääsukonfig.0.nat_ip "
Kuidas installida ja mängida Doomi Linuxis
Doomi sissejuhatus Doom-seeria sai alguse 90ndatel pärast algse Doomi väljaandmist. See oli kohene hitt ja sellest ajast alates on mänguseeria pälvinu...
Vulkan Linuxi kasutajatele
Iga uue põlvkonna graafikakaartidega näeme, et mängude arendajad ületavad graafilise truuduse piire ja jõuavad fotorealismile ühe sammu lähemale. Kuid...
OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...