Terraform

A Terraform használata a Google Cloud Platform szolgáltatással?

A Terraform használata a Google Cloud Platform szolgáltatással?
A Terraform egy olyan eszköz, amelyet könnyedén kezelhet az infrastruktúra kódokként. A HashiCorp fejlesztette ki nyílt forráskódú projektként a felhőfejlesztők számára, hogy infrastruktúrájukat nagyon magas szintű nyelven kezeljék (HCL). Az eszköz legnagyobb előnye, hogy kivonja a főbb infrastrukturális szolgáltatásokat, például az AWS, az OpenStack, a Vultr, a Digital Ocean, a Google Cloud, és lehetővé teszi a fejlesztők számára, hogy egységes szabványos formátumban egységesítsék konfigurációikat. Ráadásul automatizálás és részletes kivitelezés is lehetséges a Terraform segítségével. Windows, Linux, MacOS platformokon érhető el, és bármely nagyobb felhőplatformhoz használható, közepes szintű műszaki ismeretekkel.

Ez az útmutató bemutatja a Terraform használatát a Google Cloud platformmal. Ez az útmutató feltételezi, hogy a felhasználónak van fiókja a Google Cloud platformon, és készen áll a használatra, ha nem, akkor ingyenes próbafiókot könnyedén létrehozhat egy évig. A Google Cloud azonban érvényes hitelkártyaszámot igényel a konzolhoz való hozzáféréshez; ezért győződjön meg róla, hogy foglalkoznak vele, mielőtt továbblépne.

Követelmények és feltételek

A Google Cloud platform számos szolgáltatásból áll; ezért nehéz mindegyiket egyetlen útmutatóban lefedni, ezért ez az útmutató csak a Google virtuálisgép-példányok szakaszát fedi le. Bemutatja, hogyan lehet Nginx webkiszolgálót telepíteni az Ubuntu virtuális gép példányába a Google Cloud infrastruktúrában.

Mivel az útmutató a terraformról szól, nyilván telepíteni kell a rendszerbe. Ezenkívül SSH-kulcsot kell létrehozni a virtuális gép-példány eléréséhez.

A Terraform telepítése az Ubuntu-ra

A Terraform kétféle módon telepíthető. Az első módszer a kézi módszer, amely megköveteli a felhasználótól, hogy töltse le és telepítse a rendszerbe, az alternatív és a leginkább ajánlott módszer az automatizált módszer, amely néhány kódsorral letölti és telepíti a terraformot a rendszerbe. Kövesse az alábbi parancsokat a megvalósításához.

  1. Telepítse az unzip csomagot a rendszerbe a terraform csomag kibontásához, miután letöltötte.
sudo apt-get install unzip
  1. Töltse le és telepítse a terraformot a megadott linkről. Vegye figyelembe, hogy a cikk írásakor a terraform legújabb verziója 0.11.10. A jövőben a verzió más lehet. Ezért mindig figyeljen a hivatalos weboldalukra, hogy információkat szerezzen a legújabb terraform csomagokról.
wget https: // kiadások.hashicorp.com / terraform / 0.11.10 / terraform_0.11.10_linux_amd64.postai irányítószám
  1. Bontsa ki a terraformot az éppen aktív könyvtárba. Alapértelmezés szerint ez az Otthoni könyvtár az Ubuntu-ban.
unzip terraform_0.11.10_linux_amd64.postai irányítószám
  1. Vigye a terraformot a bináris mappába. A Terraformnak nincs telepítőfájlja; ezért a bináris fájlt kézzel kell elhelyezni a bin fájlban.
sudo mv terraform / usr / local / bin /
  1. A következő paranccsal férhet hozzá a terraformhoz a parancssorból, annak könyvtárának megadása nélkül.
terraform --verzió

Saját SSH-kulcs előállítása

A terraform telepítése után a következő fontos lépés a saját SSH nyilvános / privát kulcspár létrehozása, hogy kommunikáljon a készülő virtuális gép példánnyal. Az SSH kulcspár erős biztonságot nyújt a hagyományos jelszó / felhasználónév hitelesítéssel szemben; ezért ennek az opciónak a követése erősen ajánlott, bár nem kötelező.

1. Írja be a következő parancsot az Ubuntu shellbe az SSH kulcspár létrehozásához.

ssh-keygen

2. Először nevet kér a kulcspárhoz, majd az ssh kulcs jelszavát. A nyilvános kulcs létrehozása .pub, míg a privát kulcsot a . Mindkét kulcs az éppen aktív könyvtárban jön létre. Tartsa biztonságos helyen a magánkulcsot, mivel fontos hozzáférni a virtuális gép példányához.

Konfigurálja a Google Cloud szolgáltatást a Terraform segítségével

Miután a fent említett két szegmens elkészült, folytassa, és hozzon létre egy ingyenes próbafiókot a Google Cloud szolgáltatásban. Mivel a fiók létrehozása egyszerű folyamat, itt nincs leírva. Miután hozzáférést kapott a Google Cloud konzolhoz, kövesse az alábbi lépéseket a Google Cloud terraformos konfigurálásához.

  1. Keresse meg a következő URL-t.
    https: // konzol.felhő.Google.com
  1. Kattintson a „Saját projektek” gombra a konzol bal felső sarkában.
  2. Hozzon létre új projektet, vagy használjon meglévő projektet ehhez az útmutatóhoz. A „projekt” célja a különböző szolgáltatások csoportosítása a Google Cloud szolgáltatásban. A projekt ennek a szolgáltatási hierarchiának a legmagasabb csomópontja, és a többi szolgáltatás alá tartozik. Az egyik projekt alatt létrehozott szolgáltatás nem érhető el egy másik projektből. A projekt létrehozása után másolja és tartsa valahol biztonságos helyen. A következő képernyőképen a projekt azonosítója a következő karizmatikus-összeg-202020, és lehet, hogy más lesz a felhő konzolján. 
  3. Keresse meg a következő webes URL-t, és töltse le a hitelesítő adatfájlt JSON formátumban, hogy hitelesítse a felhasználót, amikor csatlakozik a Google felhő platformjához. Ez a rendszergazdai fiók; ezért győződjön meg arról, hogy ez a hitelesítő fájl biztonságos helyen biztonságos. https: // konzol.felhő.Google.com / apis / credentials / serviceaccountkey 
  4. Hozzon létre egy fájlt, és nevezze át főnek.tf. Ez a fájl a terraform konfigurációs fájlja, majd használja a következő kódblokkot első kódsoraként. A szolgáltató neve a szolgáltató kapcsolatfelvételének megadására szolgál. A Terraform számos felhőplatformot támogat; ezért a felhőplatform nevét kifejezetten meg kell adni. Itt a Google, ami azt jelenti, hogy kapcsolatba lép a Google felhő platformjával. A címsoron kívül 3 attribútum van a blokkban, a „hitelesítő adatok” attribútum a hitelesítő adatok fent leírt nevének megadására szolgál, a projekt neve az a hely a Google felhőben, ahol a virtuális gép példánya létrehozva. A 3. lépésben létrehozott azonosítót itt használjuk projektnévként. A régió az a földrajzi hely, ahol a virtuális gép-példány létrejön. Több régió létezik. Ezen a linken hivatkozhat az összes elérhető régióra. https: // felhő.Google.com / appengine / docs / helyszolgáltató "google"
    hitelesítő adatok = "$ fájl (" CREDENTIALS_FILE.json ")"
    project = "PROJECT_NAME"
    régió = "REGION_NAME"

  1. A következő paranccsal telepítheti a terraform beépülő moduljait. A következő parancs automatikusan beolvassa a terraform konfigurációs fájlt, és meghatározza a telepítendő bővítményeket, valamint letölti a terraform szolgáltatói adatait is. Ez az útmutató a Google Cloud platformot használja; ezért letölti a Google felhő terraform szolgáltatójának adatait. A parancs a terraform konfigurációs fájlban a „szolgáltató” kulcsszónál megadott név alapján azonosítja a szolgáltatót. terraform init
  1. A következő két kódblokkal adjon meg további információkat a virtuális gép példányáról. A kezdetektől fogva a random id plugint használja egy 8 számjegyből álló véletlen szám előállítására, majd hozzárendeli ezt a számot a instance_id változóhoz, hogy a virtuális gép példányának előtagjaként használhassa. A második kódblokkban létrehoz egy virtuális gép példányt a „nucuta-vm-. A géptípus az a kiszolgálócsomag, amelyet a virtuálisgép-példány fogadására használnak. Az elérhető géptípusok megtalálásához olvassa el ezt a webes URL-t. https: // felhő.Google.com / compute / docs / machine-types. A zóna a régió pontos helye. Minden régióban főleg 3 zóna áll rendelkezésre, a, b, c. Minden zónának megvan a saját hardver / szoftver konfigurációja. Használja ezt a webes URL-t az összes elérhető zóna és hardverkonfigurációjának hivatkozására. https: // felhő.Google.com / compute / docs / region-zone / resource "random_id" "instance_id"
    bájt_hossz = 8

    erőforrás "google_compute_instance" "nucuta"
    név = "nucuta-vm - $ random_id.instance_id.hex "
    géptípus = "f1-mikro"
    zone = "asia-south1-a"
  1. Használja a következő kódblokkot a „google_compute_instance” kódblokk belsejében. Meghatározza a használni kívánt operációs rendszert. Használja ezt a webes URL-t a Google felhő platformjának összes elérhető operációs rendszerének megkereséséhez. https: // felhő.Google.com / compute / docs / images. Képet ír, mert az operációs rendszereket „kép” fájlként tárolják. A terraform config fájl végrehajtásakor a képfájl kibontásra kerül, és az operációs rendszere éppúgy települ a virtuális gép példányába, mint egy normál számítógépre. A képattribútum ebben a formátumban van, képprojekt / képcsalád. boot_disk
    Initial_params
    image = "ubuntu-os-cloud / ubuntu-1604-lts"

  1. Használja a következő kódot a „google_compute_instance” kódblokkban. Megadja az induló parancsfájlt, amelyet az újonnan létrehozott virtuális géppéldányon futtat. Ez a parancsfájl a virtuális gép példányának létrehozásakor azonnal végrehajtásra kerül. A következő példában frissíti a helyi csomaginformációk tárát a legfrissebb információkkal, majd az összes csomagot frissíti a dist-upgrade programmal, majd telepíti az nginx csomagot. Ügyeljen arra, hogy a -y flag használatával a folyamat ne legyen interaktív, vagyis automatikusan végrehajtja és végrehajtja a folyamatot anélkül, hogy felhasználói beavatkozást igényelne. metadata_startup_script = "sudo apt-get -y frissítés;
    sudo apt-get -y dist-upgrade;
    sudo apt-get -y telepítse az nginx "
  1. Használja a következő kódblokkot a „google_compute_instance” kódblokkban. Az alábbi kódblokk meghatározza a hálózati csatolót, amelyet az aktuális virtuális géppéldány összekapcsolására használnak más virtuális géppéldányokkal, eszközökkel és hálózatokkal. Az Access_config blokk arra szolgál, hogy a virtuális géppéldányhoz külső IP-címet rendeljen hozzá az internetről való eléréshez. hálózati felület
    network = "alapértelmezett"
    access_config

  1. Végül használja a következő kódblokkot a „google_compute_instance” kódblokkban. Megadja a felhasználónevet és a nyilvános SSH kulcsot. Győződjön meg arról, hogy a létrehozott nyilvános SSH kulcs ugyanabban a mappában van, mint a terraform konfigurációs fájl. A felhasználónévnek annak a fióknak a nevét kell megadnia, ahonnan az SSH kulcs létrejött, például ha a fiók neve root, akkor a felhasználónév root. metaadatok
    sshKeys = "dilanga: $ file (" dilanga.kocsma")"

  1. A végső kódblokknak így kell kinéznie 
  2. Használja a következő kódblokkot kívül a „google_compute_instance” kódblokkból. Alapértelmezés szerint a virtuális gép példánya blokkolja az összes bejövő és kimenő forgalmat. Mivel ez az útmutató webkiszolgálót hoz létre, meg kell nyitni a 80-as és a 443-as portot, hogy a felhasználók az interneten keresztül hozzáférhessenek hozzá. A névattribútum a kezdetektől profilt hoz létre a google számítási tűzfalakban ehhez a szabályhoz, a hálózati attribútum meghatározza, hogy a szabály mely hálózati interfészre vonatkozik, az engedélyezés blokk engedélyezi az alatta megadott protokollokat és portjait. Az Icmp protokollt a webszerver pingelésére használják, hogy megbizonyosodjanak arról, hogy nyilvános. A pingelést sok szolgáltatás gyakran használja a weboldal elérhetőségének megismerésére. erőforrás "google_compute_firewall" "alapértelmezett"
    name = "nginx-tűzfal"
    network = "alapértelmezett"
     
    lehetővé teszi
    protokoll = "tcp"
    portok [[80 "," 443 "]

     
    lehetővé teszi
    protokoll = "icmp"

  3. Használja a következő kódblokkot kívül a „google_compute_instance” részből az aktuális virtuális gép-példány nyilvános IP-címének kinyomtatásához. kimenet "ip"
    value = "$ google_compute_instance.nucuta.hálózati felület.0.hozzáférés_konfig.0.nat_ip "
  4. A következő paranccsal ellenőrizheti a konfigurációs fájlt és a hitelesítő adatokat. Ezenkívül előnézeti, hogyan néz ki a végeredmény a konfigurációs fájl végrehajtása után. terraform terv
  5. majd a következő paranccsal hajtsa végre a konfigurációs fájlt. terraform alkalmazható
  6. Most használja a nyilvános IP-címet bármely webböngészőn a virtuálisgép-példány webkiszolgálójának eléréséhez.
  7. A következő paranccsal érheti el a virtuális gép példányát SSH-n keresztül a kiszolgáló kezeléséhez. Ellenőrizze, hogy a privát kulcs az aktuális könyvtárban van-e, vagy adja meg a titkos kulcs elérési útját.
  8. ssh -i @

    Következtetés

    Ennek elégnek kell lennie az induláshoz.  A teljes konfigurációs fájl, fő.tf, az alábbiakban látható. A kiemelt szövegek a felhasználói igényeknek megfelelően módosíthatók.

    szolgáltató "google"
    hitelesítő adatok = "$ fájl (" dilannga_credentials.json ")"
    project = "karizmatikus-összeg-202020"
    region = "asia-south1"

     
    erőforrás "random_id" "instance_id"
    bájt_hossz = 8

     
    erőforrás "google_compute_instance" "nucuta"
    név = "nucuta-vm - $ random_id.instance_id.hex "
    géptípus = "f1-mikro"
    zone = "asia-south1-a"
     
    boot_disk
    Initial_params
    image = "ubuntu-os-cloud / ubuntu-1604-lts"


     
    metadata_startup_script = "sudo apt-get -y frissítés; sudo apt-get -y dist-upgrade;
    sudo apt-get -y telepítse az nginx "
     
    hálózati felület
    network = "alapértelmezett"
     
    access_config
     


     
    metaadatok
    sshKeys = "dilanga: $ file (" dilanga.kocsma")"


     
    erőforrás "google_compute_firewall" "alapértelmezett"
    name = "nginx-tűzfal"
    network = "alapértelmezett"
     
    lehetővé teszi
    protokoll = "tcp"
    portok [[80 "," 443 "]

     
    lehetővé teszi
    protokoll = "icmp"


     
    kimenet "ip"
    value = "$ google_compute_instance.nucuta.hálózati felület.0.hozzáférés_konfig.0.nat_ip "
Az Xdotool használata az egérkattintások és a billentyűleütések ösztönzéséhez Linux alatt
Az Xdotool egy ingyenes és nyílt forráskódú parancssori eszköz az egérkattintások és a billentyűleütések szimulálására. Ez a cikk egy rövid útmutatót ...
A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...