Terraform манифесін жергілікті тестілеу
Жергілікті тестілеу алдында OpenStack PID жеткізушілер тізіміне енгізілгеніне көз жеткізіңіз (толығырақ — Дайындық операциялары бөлімінде).
Жергілікті тестілеу кезінде қолданыстағы желілердің ішкі желілерін пайдаланыңыз немесе жаңа желі құрып, оның ішкі желісін пайдаланыңыз (толығырақ — Желілер және ішкі желілер бөлімінде).
Terraform plans/<PLAN_NAME>/deployment/deploy.tf манифесін жергілікті тестілеу үшін:
-
Terraform-ды жергілікті түрде орнатыңыз:
- Terraform-ды VK Cloud ресми айнасынан жүктеп алыңыз.
- Архивті шығарып,
Pathорта айнымалысында шығарылған файлға жолды көрсетіңіз. - Terraform сәтті орнатылғанына көз жеткізу үшін
terraform -helpпәрменін орындаңыз.
-
Бұлтты платформаның ЖК-сінде екі факторлы аутентификацияны (2FA) және API арқылы қолжетімділікті қосыңыз (толығырақ — 2FA басқару бөлімінде).
-
Terraform үшін CLI конфигурациясы бар файлды өңдеңіз: Windows үшін —
terraform.rc, басқа ОЖ үшін —.terraformrc(толығырақ — Terraform ресми құжаттамасында):-
Terraform айналармен және жергілікті провайдерлермен бір уақытта жұмыс істеуі үшін келесі ақпаратты қосыңыз:
provider_installation {filesystem_mirror {# Полный путь до директории pluginspath = "/home/user_name/.terraform.d/plugins"include = ["vk-cs.local/*/*", "ivk-cs.local/*/*"]}network_mirror {url = "https://terraform-mirror.mcs.mail.ru"include = ["registry.terraform.io/*/*"]}direct {exclude = ["registry.terraform.io/*/*", "vk-cs.local/*/*", "ivk-cs.local/*/*"]}} -
Terraform-ның айналармен және жергілікті провайдерлермен бір уақытта жұмыс істеуі талап етілмесе, файлды тазалаңыз.
-
Егер жергілікті компьютерде мұндай файл болмаса, бұл қадамды өткізіп жіберіңіз.
-
-
VK CS провайдерінің плагинін GitHub арқылы жүктеп алыңыз.
-
iVK CS провайдерінің плагинін алу үшін marketplace@cloud.vk.com мекенжайына хат жіберіңіз. Хатта манифесті жергілікті түрде тестілейтін компьютердің ОЖ-сін және оның архитектурасын көрсетіңіз (мысалы, amd64 архитектурасындағы Linux).
-
Егер Terraform үшін CLI конфигурациясы бар файл жергілікті компьютерде болмаса немесе ол тазартылған болса, null провайдерінің плагинін Terraform ресми сайтынан жүктеп алыңыз.
-
terraform.dдиректориясындаpluginsдиректориясын жасаңыз.terraform.dдиректориясы компьютерде Terraform орнатылғаннан кейін автоматты түрде жасалады, оның жолы ОЖ-ге байланысты (толығырақ — Terraform ресми құжаттамасында). -
pluginsдиректориясында келесі директория құрылымын жасаңыз:-
ivk-cs.local.-
ivk-cs.-
ivkcs.-
<PROVIDER_VERSION>.<OPERATING_SYSTEM>.
-
-
-
-
registry.terraform.io.-
hashicorp.-
null.-
<PROVIDER_VERSION>.<OPERATING_SYSTEM>.
-
-
-
-
vk-cs.local.-
vk-cs.-
vkcs.-
<PROVIDER_VERSION>.<OPERATING_SYSTEM>.
-
-
-
Мұнда:
-
<PROVIDER_VERSION>— провайдер плагинінің нұсқасы. Мәні плагин файлының атауынан анықталады. Мысалы,terraform-provider-vkcs_0.4.2плагині үшін нұсқа0.4.2, алterraform-provider-null_v3.2.1_x5плагині үшін —3.2.1. -
<OPERATING_SYSTEM>— компьютердің ОЖ-сі. Мәнді анықтау үшінterraform --versionпәрменін орындаңыз. Пәрмен шығысында Terraform-ның ағымдағы нұсқасы және архитектурасы бар ОЖ көрсетіледі.Жауап мысалыTerraform v1.5.4on linux_amd64Жоғарыдағы мысалда
<OPERATING_SYSTEM>мәніlinux_amd64болады.
-
-
Жүктелген провайдерлердің плагиндерін тиісті
<OPERATING_SYSTEM>директорияларына орналастырыңыз.amd64 архитектурасындағы Linux ОЖ үшін `/home/user_name/.terraform.d/plugins` директориясы құрылымының мысалы/home/user_name/.terraform.d│└── plugins├── ivk-cs.local│ └── ivk-cs│ └── ivkcs│ └── 0.0.4│ └── linux_amd64│ └── terraform-provider-ivkcs_0.0.4├── registry.terraform.io│ └── hashicorp│ └── null│ └── 3.2.1│ └── linux_amd64│ └── terraform-provider-null_v3.2.1└── vk-cs.local└── vk-cs└── vkcs└── 0.4.2└── linux_amd64└── terraform-provider-vkcs_0.4.2 -
Манифесті тестілеу үшін жұмыс директориясын жасаңыз.
-
Жұмыс директориясында
auth.tfфайлын жасаңыз. -
auth.tfфайлында пайдаланылатын провайдерлерді сипаттаңыз.-
VK CS және iVK CS провайдерлерін көрсетіңіз. Егер Terraform үшін CLI конфигурациясы бар файл жергілікті компьютерде болмаса немесе ол тазартылған болса, қосымша түрде null провайдерін де көрсетіңіз.
terraform {required_providers {vkcs = {# Путь локального плагина провайдера. Указывается часть пути после terraform.d/pluginssource = "vk-cs.local/vk-cs/vkcs"# Версия провайдераversion = "0.2.2"}ivkcs = {source = "ivk-cs.local/ivk-cs/ivkcs"version = "0.1.15"}null = {source = "registry.terraform.io/hashicorp/null"version = "3.2.1"}}} -
VK CS және iVK CS провайдерлері үшін манифесті тестілейтін бұлтты платформадағы аккаунт пен жоба туралы ақпаратты көрсетіңіз:
provider "vkcs" {# User Domain IDuser_domain_name = "users"username = "USER_NAME"password = "PASSWORD"project_id = "PROJECT_ID"# Region Nameregion = "RegionOne"}provider "ivkcs" {# URL компонента Keystone облачной платформыauth_url = "https://cloud.vk.com/infra/identity/v3/"user_domain_name = "users"username = "USER_NAME"password = "PASSWORD"project_id = "OPENSTACK_PROJECT_ID"region = "RegionOne"# URL сервиса Infra APIinfra_url = "https://cloud.vk.com/marketplace/api/infra-api/api/v1/"}Аккаунт пен жоба туралы ақпарат бұлтты платформаның ЖК-сінде көрсетіледі.
-
-
plans/<PLAN_NAME>/deployment/deploy.tfфайлын жұмыс директориясына көшіріңіз. -
Егер жергілікті тестілеу үшін
deploy.tfманифесінде сипатталмаған қосымша мәндерді құру қажет болса (мысалы, сыртқы IP бар ВМ), онда жұмыс директориясындаextended.tfфайлын жасаңыз. -
extended.tfфайлында провайдерлердің ресурстары мен деректер көздерін пайдаланып қосымша мәндерді сипаттаңыз. -
Жұмыс директориясында провайдерлерді инициализациялау үшін
terraform initпәрменін орындаңыз. -
Жұмыс директориясында
deploy.tfжәнеextended.tfфайлдарында сипатталған ресурстарды құруды іске қосу үшінterraform applyпәрменін орындаңыз. -
Ресурстарды құруды растау үшін
yesенгізіңіз. -
Манифестер орындалғаннан кейін бұлтты платформаның ЖК-сіне өтіп, ресурстардың құрылғанына көз жеткізіңіз.