Введение
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-ключа в качестве меры безопасности.
- Добавить репозиторий
aptHashiCorp в источники программного обеспечения вашей системы. - Установить пакет Terraform с помощью команды
apt-get. - Проверить установку, проверив версию Terraform.
Следуя этим шагам, вы настроили чистое и управляемое окружение для установки Terraform, которое можно легко обновлять в будущем с помощью стандартных системных команд.



