Установка Terraform

LinuxBeginner
Практиковаться сейчас

Введение

Terraform — это инструмент Infrastructure as Code (IaC) с открытым исходным кодом, разработанный HashiCorp. Он позволяет определять и развертывать инфраструктуру центров обработки данных с использованием языка конфигурации высокого уровня.

В этой лабораторной работе вы узнаете, как установить Terraform в системе Ubuntu 22.04. Мы будем следовать официальному руководству HashiCorp, которое включает добавление GPG-ключа HashiCorp и официального репозитория пакетов. Этот метод гарантирует, что вы сможете легко устанавливать и обновлять Terraform с помощью стандартного менеджера пакетов apt.

Обновление системы и установка пакетов gnupg и software-properties-common

На этом шаге вы обновите список пакетов вашей системы и установите необходимые предварительные пакеты. Это важнейший первый шаг, гарантирующий, что ваша система обновлена и имеет инструменты, необходимые для добавления и управления новыми репозиториями программного обеспечения.

Сначала обновите индекс пакетов apt. Эта команда загружает информацию о пакетах из всех настроенных источников.

sudo apt-get update

Далее установите gnupg, software-properties-common и wget.

  • gnupg требуется для проверки GPG-подписи репозитория HashiCorp.
  • software-properties-common предоставляет полезные скрипты для управления источниками программного обеспечения.
  • wget — это утилита для загрузки файлов из интернета, которую мы будем использовать для получения GPG-ключа.

Выполните следующую команду для установки этих пакетов:

sudo apt-get install -y gnupg software-properties-common wget

Вы увидите вывод, когда apt загружает и устанавливает пакеты и их зависимости. Успешная установка завершится без каких-либо сообщений об ошибках.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
...
Setting up gnupg ([version]) ...
Setting up software-properties-common ([version]) ...
...

Теперь, когда предварительные требования установлены, вы готовы добавить GPG-ключ HashiCorp.

Загрузка и установка GPG-ключа HashiCorp с использованием wget и gpg --dearmor

На этом шаге вы загрузите GPG-ключ HashiCorp и добавите его в цепочку ключей вашей системы. Этот ключ используется apt для проверки подлинности пакетов, загружаемых из репозитория HashiCorp, и подтверждения того, что они не были изменены.

Мы будем использовать одну команду, которая объединяет wget, gpg и tee для выполнения этой задачи.

  • wget -O- ... загружает ключ по URL и выводит его в стандартный вывод (stdout).
  • gpg --dearmor обрабатывает ключ из стандартного ввода и преобразует его в двоичный формат, который ожидает apt.
  • sudo tee ... принимает двоичный ключ из стандартного ввода и записывает его в файл /usr/share/keyrings/hashicorp-archive-keyring.gpg. Мы используем tee с sudo, потому что для записи в этот каталог требуются права суперпользователя (root).

Установите GPG-ключ HashiCorp.

wget -O- https://apt.releases.hashicorp.com/gpg \
  | gpg --dearmor \
  | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null

Если команда выполнена успешно, она выведет двоичное содержимое GPG-ключа в ваш терминал, одновременно записывая его в указанный файл. Вы можете увидеть поток нечитаемых символов; это ожидаемое поведение.

--[timestamp]--  https://apt.releases.hashicorp.com/gpg
Resolving apt.releases.hashicorp.com (apt.releases.hashicorp.com)... [server IPs]
Connecting to apt.releases.hashicorp.com (apt.releases.hashicorp.com)|[IP]|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: [size] ([size_human]) [binary/octet-stream]
Saving to: 'STDOUT'

-                   100%[===================>]   [size]  --.-KB/s    in 0s

[timestamp] ([speed]) - written to stdout [[size]/[size]]

... (binary output from gpg) ...

Теперь ключ сохранен в вашей системе и готов к использованию пакетом apt.

Проверка отпечатка GPG-ключа HashiCorp с помощью gpg --fingerprint

На этом шаге вы проверите отпечаток GPG-ключа, который вы только что загрузили. Это важная мера безопасности, позволяющая убедиться, что вы используете правильный, официальный ключ от HashiCorp, а не вредоносный.

Вы можете отобразить отпечаток ключа с помощью команды gpg, указав ей на файл цепочки ключей, который мы создали на предыдущем шаге.

Выполните следующую команду:

gpg --no-default-keyring --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg --fingerprint

Команда отобразит детали ключа, включая его отпечаток.

/usr/share/keyrings/hashicorp-archive-keyring.gpg
-------------------------------------------------
pub   rsa4096 [creation_date] [SC] [expires: [expiry_date]]
      [FINGERPRINT]
uid           [ unknown] HashiCorp Security (HashiCorp Package Signing) <security+packaging@hashicorp.com>
sub   rsa4096 [creation_date] [S] [expires: [expiry_date]]

Вы должны убедиться, что отпечаток открытого ключа (pub key fingerprint) совпадает с тем, который опубликован HashiCorp. Отпечаток должен представлять собой 40-символьную шестнадцатеричную строку. Если вывод совпадает с ожидаемым отпечатком, вы можете быть уверены, что используете правильный ключ.

Добавление репозитория HashiCorp в источники apt и обновление apt

На этом шаге вы добавите официальный репозиторий HashiCorp в список источников apt вашей системы. Это укажет менеджеру пакетов, где искать пакеты Terraform.

Добавьте официальный репозиторий HashiCorp в вашу систему.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

Эта команда не должна выводить никакого вывода. Теперь, когда новый репозиторий добавлен, вы должны снова обновить список пакетов apt, чтобы он узнал о пакетах, доступных из источника HashiCorp.

sudo apt update

В выводе вы должны увидеть строку, указывающую, что apt получает пакеты из https://apt.releases.hashicorp.com.

Hit:1 http://[mirror]/ubuntu jammy InRelease
Hit:2 http://[mirror]/ubuntu jammy-updates InRelease
Hit:3 http://[mirror]/ubuntu jammy-backports InRelease
Hit:4 http://[mirror]/ubuntu jammy-security InRelease
Get:5 https://apt.releases.hashicorp.com jammy InRelease [[size] kB]
Get:6 https://apt.releases.hashicorp.com jammy/main amd64 Packages [[size] kB]
Fetched [total] kB in [time] ([speed] kB/s)
Reading package lists... Done

Ваша система теперь настроена на установку программного обеспечения из официального репозитория HashiCorp.

Установка пакета Terraform с помощью apt-get install terraform

На этом заключительном шаге вы установите Terraform. Поскольку GPG-ключ и репозиторий настроены, теперь вы можете использовать стандартную команду apt-get install. apt автоматически найдет пакет Terraform в репозитории HashiCorp, проверит его подпись и установит.

Выполните следующую команду для установки Terraform:

sudo apt-get install terraform

apt покажет вам пакеты, которые будут установлены, и запросит подтверждение. Поскольку мы находимся в неинтерактивной среде, установка продолжится автоматически.

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
  terraform
[upgrade_info]
Need to get [size] MB of archives.
After this operation, [disk_space] MB of additional disk space will be used.
Get:1 https://apt.releases.hashicorp.com jammy/main amd64 terraform amd64 [version]-1 [[size] MB]
...
Setting up terraform ([version]-1) ...

После завершения установки вы можете проверить, что Terraform установлен корректно, проверив его версию.

terraform -v

Эта команда должна вывести установленную версию Terraform.

Terraform v[version]
on linux_amd64

Поздравляем! Вы успешно установили Terraform в вашей системе.

Резюме

В этой лабораторной работе вы успешно установили Terraform в системе Ubuntu, используя официальный репозиторий пакетов HashiCorp.

Вы узнали, как:

  • Обновить вашу систему и установить необходимые пакеты, такие как gnupg и wget.
  • Загрузить и добавить официальный GPG-ключ HashiCorp для обеспечения подлинности пакетов.
  • Проверить отпечаток (fingerprint) GPG-ключа в качестве меры безопасности.
  • Добавить репозиторий apt HashiCorp в источники программного обеспечения вашей системы.
  • Установить пакет Terraform с помощью команды apt-get.
  • Проверить установку, проверив версию Terraform.

Следуя этим шагам, вы настроили чистое и управляемое окружение для установки Terraform, которое можно легко обновлять в будущем с помощью стандартных системных команд.