Больше не нужно искать работу мечты — присоединяйтесь к команде Клауда

Локальные зеркала для Terraform и Packer

Александр Бархатов
Александр Бархатов
Технический писатель
27 мая 2024 г.
210
11 минут чтения
Средний рейтинг статьи: 5

При работе с облачными и хостинг-провайдерами часто используется подход под названием Infrastructure as Code (IaC, инфраструктура как код), при котором инфраструктурные компоненты, такие как виртуальные машины, балансировщики, прокси-серверы и т.д. создаются и разворачиваются путем написания конфигурационных файлов вместо использования ручного управления, например, при помощи веб–интерфейса. Среди достоинств использования Infrastructure as Code можно выделить автоматизацию процессов при разворачивание инфраструктуры а также скорость работы.

При использовании подхода «инфраструктура как код» обычно используют два основных инструмента: Terraform и Packer.

Terraform — утилита для создания и настройки облачной инфраструктуры, использующая подход Infrastructure as Code. Terraform поддерживает работу с обширным списком различных облачных провайдеров, включая Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform, Alibaba Cloud, Oracle Cloud. Также Terraform поддерживает работу с облачным провайдером Timeweb Cloud.

Для написания конфигурационных файлов Terraform использует свой собственный язык, который называется Hashicorp Configuration Language или сокращенно HCL.

Packer — утилита для создания образов виртуальных машин. Готовый образ включает в себя выбранную операционную систему, программное обеспечение а также необходимые настройки. Как и в случае с Terraform, Packer поддерживает интеграцию с различными облачными провайдерами с целью быстрого разворачивания новой виртуальной машины.

Packer используют, когда приходится часто собирать образы операционных систем на базе ядра Linux.

Обе утилиты разработаны одной компанией (HashiCorp), имеют открытый исходным код и распространяются бесплатно. Также отдельно присутствуют коммерческие Enterprise-версии двух продуктов, особенностью которых является наличие поддержки от разработчиков, а также предоставлен дополнительный функционал для работы в больших командах. При этом основной функционал одинаков, как в бесплатной версии, так и в коммерческой.

Однако, с марта 2022 года скачать Terraform и Packer с официального сайта HashiCorp пользователям с российскими IP-адресами нельзя. Здесь на помощь приходят зеркала.

В данной статье мы установим Terraform и Packer на операционные системы Ubuntu 22.04 и Windows Server 2022, используя зеркальные сайты (зеркала).

Предварительные требования

Для установки Terraform и Packer при помощи зеркальных сайтов нам понадобится:

  • Сервер или виртуальная машина на ядре с операционной системой Linux. Использовать можно как самые популярные дистрибутивы, включая Ubuntu, Debian, Astra Linux, CentOS, RHEL, Fedora, так и менее популярные — AlmaLinux, Arch Linux и другие. В данной статье будет использоваться дистрибутив Ubuntu версии 22.04, однако команды установки будут одинаковыми для всех современных дистрибутивов Linux.

  • Сервер или виртуальная машина с операционной системой Windows. Использовать можно любую редакцию, как домашнюю (Home Edition), так и серверную (Server). В данной статье будет использоваться дистрибутив Windows Server версии 2022.

Регистрация в Timeweb Cloud

Чтобы арендовать облачный или выделенный сервер в Timeweb Cloud, необходимо пройти регистрацию. 

Переходим по ссылке для регистрации нового пользователя. Мы выберем регистрацию на физическое лицо и заполним следующие данные:

  • ФИО,

  • адрес электронной почты, 

  • номер телефона.

После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.

Создание облачного сервера

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

1) Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

2) После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить». 

3) Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu версии 22.04 и Windows Server 2022.

4) Выбираем регион, в котором будет находиться наш сервер. Выбирать рекомендуется тот регион, который ближе всего находится к вам физически. У каждого доступного региона справа вверху отображается ping, т.е. время, необходимое для передачи данных с вашего компьютера на сервер. Чем меньше указанное время, тем быстрее будет осуществляться передача данных.

Image2

5) Далее выбираем необходимую конфигурацию для серверов. Так как в данной статье упор делается только на установке Terraform и Packer, то для конфигурации сервера с Ubuntu выберем двухъядерный процессор и 40 ГБ жесткого диска. Для сервера с Windows выберем двухъядерный процессор и 50 ГБ жесткого диска. В реальности вам необходимо выбирать именно ту конфигурацию, которая будет удовлетворять вашим потребностям при работе с Terraform и Packer. Выбираем соответствующий тариф.

6) Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети. 

7) По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS–атак (последняя доступна только в Санкт–Петербурге и Москве).

8) Также заранее можно загрузить SSH–ключ, чтобы не входить на север при помощи пароля.

9) Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

10) Для создания сервера необходимо нажать на кнопку «Заказать».

Если на вашем аккаунте недостаточно средств, то будет выведено предупреждение о необходимости пополнить баланс. После оплаты и создания сервера откроется Дашборд сервера, где можно будет найти IP–адрес, логин и пароль для подключения.

Доступ к Terraform через официальный сайт

Если попробовать скачать Terraform или Packer с официального сайта HashiCorp, например, для дистрибутива Ubuntu, то пользователи с российскими IP-адресами будут получать ошибки.

При попытке скачать GPG ключ от официального репозитория Terraform появляется ошибка ERROR 404: Not Found:

Image19

Если же попробовать установить пакет Terraform, то при попытке подключения к официальному репозиторию Hashicorp будет отображаться ошибка 404 Not Found:

Image6

При попытке скачать GPG-ключ от официального репозитория Packer будет отображаться ошибка: curl: (22) The requested URL returned error: 404:

Image16

Если же попробовать установить пакет Packer, то при попытке подключения к официальному репозиторию Hashicorp будет отображаться ошибка 404 Not Found:

Image15

Также при попытке перехода в некоторые разделы сайта HashiCorp, например, app.terraform.io и registry.terraform.io, пользователи с российскими IP-адресами будут видеть следующее предупреждение:

Image4

Зеркальные сайты для скачивания Terraform и Packer

В качестве альтернативы для российских пользователей были созданы зеркальные сайты, на которых располагаются дистрибутивы Terraform и Packer. В частности, такие сайты предоставляют Яндекс и КРОК.

Адреса зеркал от Яндекс:

Адреса зеркал от КРОК:

Разница между ними заключается в том, что в зеркале от Яндекса доступны различные версии Terraform и Packer, в то время как в зеркале от КРОК доступна только одна версия Terraform и три версии Packer.

Вы можете использовать любое из данных зеркал.

cloud

Установка Terraform при помощи зеркального сайта на Ubuntu 22.04

Для того чтобы установить Terraform с зеркального сайта на дистрибутив операционной системы Ubuntu версии 22.04, необходимо выполнить следующее:

  1. Скачиваем дистрибутив Terraform необходимой версии, используя зеркало Яндекс или КРОК при помощи утилиты wget.

Если используем зеркало от Яндекс и версию Terraform 1.8.2:

wget https://hashicorp-releases.yandexcloud.net/terraform/1.8.2/terraform_1.8.2_linux_amd64.zip

Если используем зеркало от КРОК и версию Terraform 1.1.7:

wget https://hc-releases.website.cloud.croc.ru/terraform/1.1.7/terraform_1.1.7_linux_amd64.zip
  1. Убедитесь, что у вас присутствует пакет unzip , а при его отсутствии установите его:
apt -y install unzip

Разархивируем скачанный архив в зависимости от имени файла:

unzip terraform_1.8.2_linux_amd64.zip

Или:

unzip terraform_1.1.7_linux_amd64.zip

На выходе будет два файла: исполняемый файл terraform и текстовый файл с лицензией: 

Image7

  1. После того как архив был разархивирован, необходимо добавить путь к директории, в которой находится исполняемый файл terraform, используя переменную PATH и команду:
export PATH=$PATH:/home/alex

Где /home/alex — полный путь до исполняемого файла terraform.

  1. Проверяем, что Terraform был успешно установлен, путем вывода его версии:
terraform --version

Image13

Если в ответ команда вернула версию, то Terraform был успешно установлен.

Установка Terraform при помощи зеркального сайта на Windows Server 2022

Для того чтобы установить Terraform с зеркального сайта на операционную систему Windows Server 2022, необходимо выполнить следующее:

  1. Скачиваем дистрибутив Terraform для Windows необходимой версии используя зеркало Яндекс или КРОК. В качестве примера воспользуемся версией 1.8.2 которую можно скачать по ссылке из зеркала Яндекс.
  2. Разархивируем скачанный архив. На выходе будет два файла: исполняемый файл terraform и текстовый файл с лицензией:

Image1

Исполняемый файл terraform можно перенести в любую удобную директорию, предварительно убедившись, что ваша учетная запись обладает необходимыми правами на выбранную директорию.

  1. Далее необходимо добавить полный путь где находится исполняемый файл terraform в переменную окружению (PATH) для того, чтобы запускать Terraform из командной строки (cmd). Для этого в строке поиска введите «Изменение системных переменных среды» и запустите:

Image3

  1. В открывшемся окне переходим в раздел «Переменные среды»:

Image8

  1. В разделе «Переменные среды пользователя» выбираем переменную Path и нажимаем на кнопку «Изменить»:

Image17

  1. Для того чтобы добавить путь до исполняемого файла terraform, необходимо нажать на кнопку «Создать» и прописать полный путь до директории с terraform. Например, в данном примере полный путь до файла с terraformC:\Users\user1\Downloads:

Image10

Нажимаем на кнопку ОК для сохранения и выхода из меню переменных среды.

  1. Запускаем командную строку (cmd) и вводим команду:
terraform

Image18

Если в ответ команда вернула список доступных команд, то Terraform был успешно добавлен в переменную окружения.

Установка Packer при помощи зеркального сайта на Ubuntu 22.04

Для того чтобы установить Packer из зеркального сайта на дистрибутив операционной системы Ubuntu версии 22.04, необходимо выполнить следующее:

  1. Скачиваем дистрибутив Packer необходимой версии, используя зеркало Яндекс или КРОК при помощи утилиты wget.

Если используем зеркало от Яндекс и версию Packer 1.10.3:

wget https://hashicorp-releases.yandexcloud.net/packer/1.10.3/packer_1.10.3_linux_amd64.zip

Если используем зеркало от КРОК и версию Packer 1.8.0:

wget https://hc-releases.website.cloud.croc.ru/packer/1.8.0/packer_1.8.0_linux_amd64.zip
  1. Убедитесь, что у вас присутствует пакет unzip или при необходимости установите его:
apt -y install unzip

Разархивируем скачанный архив в зависимости от имени файла:

unzip packer_1.10.3_linux_amd64.zip

Или:

unzip packer_1.8.0_linux_amd64.zip

На выходе будет два файла — исполняемый файл packer и текстовый файл с лицензией:

Image14

  1. После того как архив был разархивирован, необходимо добавить путь к директории, в которой находится исполняемый файл packer, используя переменную PATH и команду:
export PATH=$PATH:/home/alex

Где /home/alex — полный путь до исполняемого файла packer.

  1. Проверяем, что Packer был успешно установлен, путем вывода его версии:
packer --version

Image9

Установка Packer при помощи зеркального сайта на Windows Server 2022

Для того чтобы установить Packer из зеркального сайта на операционную систему Windows Server 2022, необходимо выполнить следующее:

  1. Скачиваем дистрибутив Packer для Windows необходимой версии, используя зеркало Яндекс или КРОК. В качестве примера воспользуемся версией 1.9.5, которую можно скачать по ссылке из зеркала Яндекс.
  2. Разархивируем скачанный архив. На выходе будет один исполняемый файл packer:

Image5

Исполняемый файл packer можно перенести в любую удобную директорию, предварительно убедившись, что ваша учетная запись обладает необходимыми правами на выбранную директорию.

  1. Далее необходимо добавить полный путь, где находится исполняемый файл packer, в переменную окружению (PATH) для того, чтобы запускать Packer из командной строки (cmd). Для этого в строке поиска введите «Изменение системных переменных среды» и запустите:

Image3

  1. В открывшемся окне переходим в раздел «Переменные среды»:

Image8

  1. В разделе «Переменные среды пользователя» выбираем переменную Path и нажимаем на кнопку «Изменить»:

Image17

  1. Для того чтобы добавить путь до исполняемого файла packer, необходимо нажать на кнопку «Создать» и прописать полный путь до директории с packer. Например, в данном примере полный путь до файла с packer следующий — C:\Users\user1\Downloads:

Image10

Нажимаем на кнопку ОК для сохранения и выхода из меню переменных среды.

  1. Запускаем командную строку (cmd) и вводим команду packer:
packer

Image11

Если в ответ команда вернула список доступных команд, то Packer был успешно добавлен в переменную окружения.

Выгодные тарифы на облачные серверы Linux и Windows

Заключение

В данной статье мы подробно рассмотрели установку двух популярных open-source-утилит: Terraform и Packer, используя зеркальные сайты. Благодаря наличию зеркальных сайтов вы сможете продолжать работать со своей облачной инфраструктурой используя Terraform, а также создавать образы операционных систем с помощью Packer.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
27 мая 2024 г.
210
11 минут чтения
Средний рейтинг статьи: 5
Пока нет комментариев