Тераформа

Как да използваме Terraform с Google Cloud Platform?

Как да използваме Terraform с Google Cloud Platform?
Terraform е инструмент, използван за лесно управление на инфраструктурата като кодове. Той е разработен от HashiCorp като проект с отворен код за разработчиците на облак за управление на тяхната инфраструктура на език от много високо ниво (HCL). Най-голямото предимство на този инструмент е, че той абстрахира основните инфраструктурни услуги като AWS, OpenStack, Vultr, Digital Ocean, Google Cloud и позволява на разработчиците да обединят конфигурацията си в един стандартен формат. На всичкото отгоре с Terraform са възможни и автоматизация и детайлно изпълнение. Предлага се в платформи Windows, Linux, MacOS и може да се използва с всяка основна облачна платформа с умерено ниво на технически познания.

Това ръководство показва как да използвате Terraform с платформата Google Cloud. Това ръководство предполага, че потребителят има акаунт в платформата на Google Cloud и е готов за използване, ако не е възможно да се създаде безплатен пробен акаунт с лекота за една година. Google Cloud обаче изисква валиден номер на кредитна карта, за да има достъп до конзолата си; следователно се уверете, че е решен, преди да продължите напред.

Изисквания и условия

Платформата Google Cloud се състои от голям брой услуги; следователно е трудно да се обхванат всички в едно ръководство и следователно това ръководство обхваща само раздела за инстанции на Google VM. Той демонстрира как да инсталирате уеб сървър на Nginx в екземпляр на Ubuntu VM в инфраструктурата на Google Cloud.

Тъй като ръководството е за тераформа, очевидно трябва да бъде инсталирано в системата. Освен това трябва да се генерира SSH ключ за достъп до екземпляра на VM.

Как да инсталирате Terraform на Ubuntu

Terraform може да се инсталира по два различни начина. Първият метод е ръчен начин, който изисква от потребителя да го изтегли и инсталира в системата, алтернативният и най-препоръчителният начин е автоматизиран начин, който изтегля и инсталира тераформата в системата с няколко кодови реда. Следвайте следните команди, за да го направите.

  1. Инсталирайте пакета за разархивиране в системата, за да извлечете пакета terraform, след като бъде изтеглен.
sudo apt-get инсталиране разархивирайте
  1. Изтеглете и инсталирайте terraform от дадената връзка. Имайте предвид, че в момента, в който се пише статията, последната версия на terraform е 0.11.10. В бъдеще версията може да е различна. Затова винаги обръщайте внимание на официалния им уебсайт за получаване на информация за най-новия пакет тераформа.
wget https: // releases.hashicorp.com / terraform / 0.11.10 / тераформа_0.11.10_linux_amd64.цип
  1. Извлечете тераформата в текущата активна директория. По подразбиране това е директорията Home в Ubuntu.
разархивирайте terraform_0.11.10_linux_amd64.цип
  1. Преместете тераформата в двоичната папка. Terraform няма файл за настройка; следователно неговият двоичен файл трябва да бъде поставен в bin файла ръчно.
sudo mv terraform / usr / local / bin /
  1. Използвайте следната команда за достъп до тераформа от командния ред, без да посочвате нейната директория.
тераформа --версия

Как да генерирате собствен SSH ключ

След инсталирането на terraform, следващата важна стъпка е генерирането на собствена двойка SSH публичен / частен ключ за комуникация с екземпляра на VM, който предстои да бъде създаден. Двойката SSH ключове осигурява силна сигурност спрямо традиционното удостоверяване с парола / потребителско име; следователно спазването на тази опция е силно препоръчително, въпреки че не е задължително.

1. В черупката на Ubuntu въведете следната команда, за да генерирате двойката SSH ключове.

ssh-keygen

2. В самото начало той иска име за двойката ключове, след това паролата за ключа ssh. Публичният ключ се създава като .pub, докато частният ключ е създаден като . И двата ключа са създадени в текущата активна директория. Пазете частния ключ на сигурно място, тъй като е важно да получите достъп до екземпляра на VM.

Конфигурирайте Google Cloud с Terraform

След като горепосочените два сегмента са завършени, продължете и създайте безплатен пробен акаунт в Google Cloud. Тъй като създаването на акаунт е лесен процес, той не е описан тук. След като получите достъп до конзолата на Google Cloud, следвайте следните стъпки, за да конфигурирате Google Cloud с тераформа.

  1. Придвижете се до следния URL адрес.
    https: // конзола.облак.google.com
  1. Щракнете върху бутона „Моите проекти“ в горния ляв ъгъл на конзолата.
  2. Създайте или нов проект, или използвайте съществуващ проект за това ръководство. Целта на „проекта“ е групиране на различни услуги в Google Cloud. Проектът е най-високият възел на тази йерархия на услугите и останалите услуги отиват под него. Услугата, създадена по един проект, не е достъпна от друг проект. След като проектът е създаден, копирайте и съхранявайте неговия идентификатор на безопасно място. На следващата екранна снимка идентификаторът на проекта е харизматична сума-202020, и може да е различен в облачната ви конзола. 
  3. Придвижете се до следния уеб адрес, за да изтеглите файла с идентификационни данни във формат JSON, за да удостоверите потребителя при свързване с облачна платформа на Google. Това е администраторският акаунт; следователно се уверете, че този файл с идентификационни данни е на сигурно място. https: // конзола.облак.google.com / apis / credentials / serviceaccountkey 
  4. Създайте файл и го преименувайте като основен.tf. Този файл е конфигурационният файл за тераформа, след това използвайте следния кодов блок като първите си редове код. Името на доставчика е за посочване на доставчика, с който да се свържете. Terraform поддържа голям брой облачни платформи; следователно името на облачната платформа трябва да бъде изрично посочено. Тук това е Google, което означава, че се свързва с облачната платформа на Google. Освен заглавието, в блока има 3 атрибута, атрибутът „идентификационни данни“ е за посочване на името на файла на идентификационните данни, изтеглено по-горе, името на проекта е местоположението в облака на Google, където се създава екземпляра на VM. Идентификаторът, създаден в стъпка 3, се използва тук като име на проекта. Регионът е географското местоположение, където се създава екземпляр на виртуална машина. Има множество региони. Използвайте тази връзка, за да се обърнете към всички налични региони. https: // облак.google.com / appengine / docs / доставчик на местоположения "google"
    идентификационни данни = "$ файл (" CREDENTIALS_FILE.json ")"
    project = "PROJECT_NAME"
    регион = "REGION_NAME"

  1. Използвайте следната команда, за да инсталирате плъгини за terraform. Следващата команда автоматично сканира конфигурационния файл на terraform и идентифицира кои плъгини да бъдат инсталирани, освен това изтегля и информацията за доставчика за terraform. Това ръководство използва платформата Google Cloud; по този начин той изтегля информация за доставчик на Google Cloud Terraform. Командата идентифицира доставчика от името, посочено в ключовата дума „доставчик“ в конфигурационния файл на terraform. тераформ инит
  1. Използвайте следните два кодови блока, за да дефинирате повече информация за екземпляр на VM. От самото начало използва приставката за произволен идентификатор, за да генерира произволно число с 8 цифри, след което присвоява това число на променлива instance_id за използване като префикс за името за екземпляр на VM. Във втория кодов блок той създава VM екземпляр с името “nucuta-vm-. Типът машина е сървърният пакет, който се използва за хостване на екземпляра на VM. Вижте този уеб URL, за да намерите наличните типове машини. https: // облак.google.com / compute / docs / machine-types. Zone е точното местоположение на региона. Във всеки регион има основно 3 зони, a, b, c. Всяка зона има своя собствена хардуерна / софтуерна конфигурация. Използвайте този уеб URL за препратка към всички налични зони и тяхната хардуерна конфигурация. https: // облак.google.com / compute / docs / region-zone / resource "random_id" "instance_id"
    дължина на байта = 8

    ресурс "google_compute_instance" "nucuta"
    name = "nucuta-vm - $ random_id.instance_id.шестнадесетичен "
    machine_type = "f1-micro"
    zone = "asia-south1-a"
  1. Използвайте следния кодов блок вътре в кодовия блок „google_compute_instance“. Той определя операционната система, която ще се използва. Използвайте този уеб URL, за да намерите всички налични операционни системи за облачна платформа на Google. https: // облак.google.com / compute / docs / images. Там се казва image, защото операционните системи се съхраняват като файлове с изображения. Когато файлът за конфигуриране на terraform се изпълнява, файлът с изображение се извлича и операционната му система се инсталира в екземпляра на VM точно както на обикновен компютър. Атрибутът на изображението е в този формат, имиджов проект / семейство изображения. boot_disk
    Initialize_params
    изображение = "ubuntu-os-cloud / ubuntu-1604-lts"

  1. Използвайте следния код в кодовия блок „google_compute_instance“. Той определя стартовия скрипт, който да се изпълнява на новосъздадения екземпляр на VM. Този скрипт се изпълнява веднага след създаването на екземпляра на VM. В следващия пример той актуализира хранилището с информация за локален пакет с най-новата информация, след това актуализира всички пакети с dist-upgrade, след което инсталира nginx пакет. Уверете се, че използвате флаг -y, за да направите процеса неинтерактивен, което означава, че той автоматично изпълнява и изпълнява процеса, без да изисква намеса на потребителя. metadata_startup_script = "sudo apt-get -y актуализация;
    sudo apt-get -y dist-upgrade;
    sudo apt-get -y инсталирай nginx "
  1. Използвайте следния кодов блок в кодовия блок „google_compute_instance“. Следният кодов блок указва мрежовия интерфейс, който се използва за свързване на текущия екземпляр на VM с други екземпляри, устройства и мрежи на VM. Блокът Access_config се използва за разпределяне на екземпляра на VM външен IP адрес за достъп до него от Интернет. мрежов_интерфейс
    мрежа = "по подразбиране"
    access_config

  1. И накрая, използвайте следния кодов блок в кодовия блок “google_compute_instance”. Той посочва потребителското име и публичния SSH ключ. Уверете се, че генерираният публичен SSH ключ е в същата папка като конфигурационния файл на terraform. Потребителското име трябва да е името на акаунта, от който е създаден SSH ключът, например ако името на акаунта е root, тогава потребителското му име е root. метаданни
    sshKeys = "dilanga: $ файл (" dilanga.кръчма ")"

  1. Последният кодов блок трябва да изглежда така 
  2. Използвайте следния кодов блок отвън на кодовия блок „google_compute_instance“. По подразбиране VM екземпляр блокира целия входящ и изходящ трафик. Тъй като това ръководство създава уеб сървър, трябва да се отворят портове 80 и 443, за да се позволи на потребителите да имат достъп до него през Интернет. От самото начало атрибутът на име създава профил в защитната стена на google за това правило, атрибутът на мрежата посочва към кой мрежов интерфейс се прилага правилото, позволява блокът позволява протоколите и неговите портове, посочени под него. Icmp протоколът се използва за пинг на уеб сървъра, за да се увери, че е достъпен за обществеността. Pinging често се използва от много услуги, за да установи наличието на уеб сайт. ресурс "google_compute_firewall" "по подразбиране"
    name = "nginx-firewall"
    мрежа = "по подразбиране"
     
    позволява
    протокол = "tcp"
    портове = ["80", "443"]

     
    позволява
    протокол = "icmp"

  3. Използвайте следния кодов блок отвън на “google_compute_instance”, за да отпечата публичния IP адрес на текущия екземпляр на VM. изход "ip"
    стойност = "$ google_compute_instance.нукута.мрежов_интерфейс.0.access_config.0.nat_ip "
  4. Използвайте следната команда, за да проверите конфигурационния файл и файла с идентификационни данни. Той също така преглежда как изглежда крайният резултат след изпълнението на конфигурационния файл. план за тераформа
  5. след това използвайте следната команда, за да изпълните конфигурационния файл. прилага се тераформа
  6. Сега използвайте публичния ip адрес на всеки уеб браузър за достъп до уеб сървъра на екземпляра на VM.
  7. Използвайте следната команда за достъп до екземпляра на VM през SSH за управление на сървъра. Уверете се, че частният ключ е в текущата директория или посочете пътя към частния ключ.
  8. ssh -i @

    Заключение

    Това трябва да е достатъчно, за да започнете.  Пълният конфигурационен файл, главен.tf, е показано по-долу. Маркираните текстове могат да се променят в съответствие с изискванията на потребителя.

    доставчик "google"
    идентификационни данни = "$ файл (" dilannga_credentials.json ")"
    проект = "харизматична сума-202020"
    регион = "азия-юг1"

     
    ресурс "random_id" "instance_id"
    дължина на байта = 8

     
    ресурс "google_compute_instance" "nucuta"
    name = "nucuta-vm - $ random_id.instance_id.шестнадесетичен "
    machine_type = "f1-micro"
    zone = "asia-south1-a"
     
    boot_disk
    Initialize_params
    изображение = "ubuntu-os-cloud / ubuntu-1604-lts"


     
    metadata_startup_script = "sudo apt-get -y update; sudo apt-get -y dist-upgrade;
    sudo apt-get -y инсталирай nginx "
     
    мрежов_интерфейс
    мрежа = "по подразбиране"
     
    access_config
     


     
    метаданни
    sshKeys = "dilanga: $ файл (" dilanga.кръчма ")"


     
    ресурс "google_compute_firewall" "по подразбиране"
    name = "nginx-firewall"
    мрежа = "по подразбиране"
     
    позволява
    протокол = "tcp"
    портове = ["80", "443"]

     
    позволява
    протокол = "icmp"


     
    изход "ip"
    стойност = "$ google_compute_instance.нукута.мрежов_интерфейс.0.access_config.0.nat_ip "
Инсталирайте най-новата стратегия за игра OpenRA на Ubuntu Linux
OpenRA е Libre / Free Real Time стратегия за игра, която пресъздава ранните игри на Westwood като класическата Command & Conquer: Red Alert. Разпредел...
Инсталирайте най-новия Dolphin Emulator за Gamecube & Wii на Linux
Dolphin Emulator ви позволява да играете избраните от вас игри Gamecube & Wii на Linux Personal Computers (PC). Като безплатно достъпен и емулатор на...
Как да използвам GameConqueror Cheat Engine в Linux
Статията обхваща ръководство за използването на GameConqueror cheat engine в Linux. Много потребители, които играят игри под Windows, често използват ...