Создание сервера Bare Metal
С помощью Terraform можно создавать (арендовать) серверы Bare Metal. В качестве примеров будет создан сервер с базовой конфигурацией сетевых интерфейсов.
Также при помощи ресурса vkcs_baremetal_server вы можете создать серверы со следующими конфигурациями сетевых интерфейсов:
- с агрегированными (bonded) интерфейсами;
- с интерфейсами для работы в тегированных сетях (tagged VLAN).
Для доступа к серверу будет использоваться новая пара SSH-ключей.
При создании сервера используются:
-
ресурсы:
- vkcs_networking_network — создает сеть для размещения сервера;
- vkcs_networking_subnet — создает подсеть в этой сети;
- vkcs_compute_keypair — создает ключевую пару SSH;
- vkcs_baremetal_server — создает сервер Bare Metal;
-
источники данных:
- vkcs_baremetal_flavor — позволяет получить информацию о шаблоне конфигурации сервера Bare Metal;
- vkcs_baremetal_flavors — позволяет получить информацию о доступных для сервера Bare Metal шаблонах конфигурации;
- vkcs_baremetal_os — позволяет получить информацию об операционной системе сервера Bare Metal;
- vkcs_baremetal_oses — позволяет получить информацию о доступных для сервера Bare Metal ОС;
- vkcs_baremetal_server — позволяет получить информацию о сервере Bare Metal.
-
Обратитесь в техническую поддержку, чтобы подключить в ваш проект возможность арендовать серверы Bare Metal, если это еще не сделано.
-
Убедитесь, что баланса лицевого счета хватает для аренды желаемой конфигурации сервера Bare Metal.
-
Установите Terraform и настройте провайдер, если этого еще не сделано.
Поместите настройки провайдера в файл конфигурации Terraform
provider.tf. -
Убедитесь, что клиент OpenStack установлен, и пройдите аутентификацию в проекте.
Создайте файл main.tf.
Поместите в файл и при необходимости отредактируйте следующее содержимое:
resource "vkcs_compute_keypair" "tf_bmaas" {name = "terraform-bmaas"public_key = file("terraform-bmaas.pub")}data "vkcs_baremetal_flavor" "tf_flavor" {name = "BM_CX301_N_2_nic"# cpu_model = "Intel(R) Xeon(R) Gold 6338 CPU @ 2.00GHz"}output "flavor_info" {value = {id = data.vkcs_baremetal_flavor.tf_flavor.idname = data.vkcs_baremetal_flavor.tf_flavor.namecpu_cores = data.vkcs_baremetal_flavor.tf_flavor.cpu_coresram_size = data.vkcs_baremetal_flavor.tf_flavor.ram_sizessd_size = data.vkcs_baremetal_flavor.tf_flavor.ssd_sizehdd_size = data.vkcs_baremetal_flavor.tf_flavor.hdd_size}}data "vkcs_baremetal_os" "my_os" {name = "ubuntu"version = "22.04"raid_type = "NO_RAID"}resource "vkcs_networking_network" "network" {name = "tf_test_network"description = "my network description"}resource "vkcs_networking_subnet" "subnet" {network_id = vkcs_networking_network.network.id}resource "vkcs_baremetal_server" "server" {name = "tf-server"flavor_id = data.vkcs_baremetal_flavor.tf_flavor.idkey_pair = vkcs_compute_keypair.tf_bmaas.nameuser_data = file("cloud-init-user-data.yaml")availability_zone = "ME1"os_id = data.vkcs_baremetal_os.my_os.idraid_type = "NO_RAID"nic {name = "nic0"vlan {native = truenetwork_id = vkcs_networking_network.network.idsubnet_id = vkcs_networking_subnet.subnet.id}}}data "vkcs_baremetal_server" "example" {id = vkcs_baremetal_server.server.id}
В файле описаны:
-
параметры сервера — сервер с именем
tf-serverв зоне доступности ME1 с одним физическим сетевым интерфейсомnic0; -
присваиваемые серверу ресурсы и данные:
- пара SSH-ключей для доступа к серверу — создается новая пара ключей с именем
terraform-bmaas; - шаблон конфигурации (flavor) сервера — шаблон с именем
BM_CX301_N_2_nic, содержащий конфигурацию на базе процессора Intel(R) Xeon(R) Gold 6338 CPU @ 2.00GHz; - ОС сервера — Ubuntu версии 22.04, установленная без использования программного массива;
- сеть и подсеть, в которых будет размещен сервер — создается новая сеть с именем
tf_test_networkи подсеть с параметрами по умолчанию.
- пара SSH-ключей для доступа к серверу — создается новая пара ключей с именем
-
Поместите в одну директорию все файлы конфигурации Terraform:
provider.tf,main.tf.
-
Перейдите в эту директорию.
-
Выполните команду:
terraform init -
Выполните команду:
terraform applyПри запросе подтверждения введите
yes. -
Дождитесь завершения операции.
Подключитесь к серверу с помощью приватного SSH-ключа из созданной пары ключей terraform-bmaas.
При успешном подключении в консоли будет показан типовой вывод Ubuntu:
Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-46-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantageSystem information as of Wed May 10 18:05:44 UTC 2023System load: 0.0078125 Processes: 98Usage of /: 35.2% of 7.42GB Users logged in: 0Memory usage: 9% IPv4 address for ens3: 192.168.199.20Swap usage: 0%...
Сервер Bare Metal потребляет ресурсы и тарифицируется. Если он вам больше не нужен, удалите его:
-
Перейдите в директорию с файлами конфигурации Terraform.
-
Выполните команду:
terraform destroyПри запросе подтверждения введите
yes. -
Дождитесь завершения операции.