docs(fullpipe_chain): clarify user-provided parameters

This commit is contained in:
Repinoid
2026-09-28 09:56:18 +03:00
parent 9f96185f37
commit e0587f5f1b
3 changed files with 42 additions and 13 deletions
+13
View File
@@ -0,0 +1,13 @@
# This file is maintained automatically by "terraform init".
# Manual edits may be lost in future updates.
provider "tf-registry.containerk8s.services.ngcloud.ru/nubes-dev/nubes" {
version = "2.0.23"
constraints = "2.0.23"
hashes = [
"h1:Eq+cA5R1pnQBRwbAIsIKhXeFM9bJmJ1Dee/VitxcFOE=",
"zh:25f4b35fac44b72153a89e8d5128984d5ed7d41d25cd9dac50e03f281f3a3ea4",
"zh:c13cfb7e6a5e25eea5414b262e6ed08d0e86913e055e33721acc1c152c828981",
"zh:c8b0972b72eb38be128510d91940f817279ec9a5c1cce5d660ce9c5991238d47",
]
}
+16 -4
View File
@@ -23,7 +23,9 @@ git clone https://gitea.services.ngcloud.ru/Nail/tf_examples.git
cd tf_examples/fullpipe_chain cd tf_examples/fullpipe_chain
``` ```
## 2. Возьмите значения в ЛК ## 2. Возьмите обязательные значения в ЛК
Эти значения нельзя оставлять примерами: их нужно заменить на значения вашей организации и доступного ресурсного пула.
| Значение | Где взять | Пример | | Значение | Где взять | Пример |
|---|---|---| |---|---|---|
@@ -31,11 +33,18 @@ cd tf_examples/fullpipe_chain
| `organization` | ЛК → услуга «Организация в Cloud Director» → название услуги | `organ` | | `organization` | ЛК → услуга «Организация в Cloud Director» → название услуги | `organ` |
| `vdc_network_provider` | ЛК → создание vDC → «Сетевой провайдер» | `snb1` | | `vdc_network_provider` | ЛК → создание vDC → «Сетевой провайдер» | `snb1` |
| `vdc_provider_vdc` | ЛК → создание vDC → «Provider VDC» | `Intel Broadwell 2.4` | | `vdc_provider_vdc` | ЛК → создание vDC → «Provider VDC» | `Intel Broadwell 2.4` |
| `vdc_storage_config` | ЛК → создание vDC → доступные дисковые политики | `SATA` | | `vdc_storage_config` | ЛК → создание vDC → доступные дисковые политики; в шаблоне укажите имя политики и размер в JSON-массиве | `[{"name":"SATA","size":"200"}]` |
| `ip_space_name` | ЛК → карточка организации → внешние IP | `internet-ipv4-v1` | | `ip_space_name` | ЛК → карточка организации → внешние IP | `internet-ipv4-v1` |
| `vm_user_public_key` | содержимое `~/.ssh/id_ed25519.pub` (`ssh-keygen` создаст пару, если её нет) | `ssh-ed25519 AAAA...` | | `vm_user_public_key` | содержимое `~/.ssh/id_ed25519.pub` (`ssh-keygen` создаст пару, если её нет) | `ssh-ed25519 AAAA...` |
Остальные значения уже подставлены в `terraform.tfvars.example` — меняйте, если нужно. `vdc_network_provider`, `vdc_provider_vdc` и `vdc_storage_config` должны быть совместимы
с одним ресурсным пулом, который вы выбираете при создании vDC. Если в вашем ЛК другие
названия, подставьте их из ЛК, а не оставляйте значения примера.
Остальные значения в шаблоне — рабочие значения по умолчанию для этой цепочки.
Имена услуг (`*_resource_name`), имена vApp/ВМ/кластера и параметры размеров можно
изменить; имена должны быть уникальны в вашей организации. `api_token` и публичный
SSH-ключ обязательно замените на свои значения.
## 3. Заполните terraform.tfvars ## 3. Заполните terraform.tfvars
@@ -44,12 +53,15 @@ cp terraform.tfvars.example terraform.tfvars
nano terraform.tfvars # подставьте значения из шага 2 nano terraform.tfvars # подставьте значения из шага 2
``` ```
Полный список параметров — в `variables.tf`, у каждой переменной есть описание. Проверьте, что в файле не остались `eyJhbGciOi...`, `AAAA...`, `organ`, `null` или
чужие имена ресурсов. Полный список параметров — в `variables.tf`, у каждой переменной
есть описание.
## 4. Выполните команды ## 4. Выполните команды
```bash ```bash
terraform init # один раз — скачает провайдер terraform init # один раз — скачает провайдер
terraform validate # проверит синтаксис и типы до обращения к API
terraform plan # покажет, что будет создано (7 ресурсов: vDC, Edge, IP, SNAT, vApp, ВМ, Штурвал) terraform plan # покажет, что будет создано (7 ресурсов: vDC, Edge, IP, SNAT, vApp, ВМ, Штурвал)
terraform apply # создаст (подтвердить: yes) terraform apply # создаст (подтвердить: yes)
``` ```
+13 -9
View File
@@ -2,18 +2,20 @@
# Шаблон значений для fullpipe_chain. # Шаблон значений для fullpipe_chain.
# #
# 1. Скопируйте файл: cp terraform.tfvars.example terraform.tfvars # 1. Скопируйте файл: cp terraform.tfvars.example terraform.tfvars
# 2. Заполните значения ниже (откуда брать — в комментариях и в README.md). # 2. Замените обязательные значения ниже на свои (источник — README.md и комментарии).
# 3. terraform.tfvars НЕ публикуйте и не коммитьте: в нём токен доступа. # 3. terraform.tfvars НЕ публикуйте и не коммитьте: в нём токен доступа.
# ============================================================================= # =============================================================================
# ЛК → Профиль → Токены → «Технический» # ОБЯЗАТЕЛЬНО: ЛК → Профиль → Токены → «Технический».
# Не оставляйте примерный токен и не передавайте настоящий токен коллегам.
api_token = "eyJhbGciOi..." api_token = "eyJhbGciOi..."
# Название услуги «Организация в Cloud Director» в ЛК (например: organ). # ОБЯЗАТЕЛЬНО: точное название услуги «Организация в Cloud Director» в ЛК.
# Организацию создайте заранее в ЛК — Terraform её не создаёт и не удаляет. # Организацию создайте заранее в ЛК; Terraform её не создаёт и не удаляет.
organization = "organ" organization = "organ"
# Имя ipSpace для внешнего IP. Смотреть в ЛК в карточке организации. # ОБЯЗАТЕЛЬНО: имя доступного ipSpace из карточки организации в ЛК.
# Для ВМ и Штурвала нужен внешний доступ через этот ipSpace.
ip_space_name = "internet-ipv4-v1" ip_space_name = "internet-ipv4-v1"
# Сколько внешних IP выделить (строкой): 3 держит кластер Штурвал, 4-й — внешний адрес ВМ. # Сколько внешних IP выделить (строкой): 3 держит кластер Штурвал, 4-й — внешний адрес ВМ.
ip_count = "4" ip_count = "4"
@@ -22,9 +24,11 @@ ip_count = "4"
# Имя vDC в ЛК — любое. # Имя vDC в ЛК — любое.
vdc_resource_name = "fullpipe-vdc" vdc_resource_name = "fullpipe-vdc"
# ЛК → создание vDC → «Сетевой провайдер» # ОБЯЗАТЕЛЬНО: ЛК → создание vDC → «Сетевой провайдер».
# Значение должно быть доступно в выбранном ресурсном пуле.
vdc_network_provider = "snb1" vdc_network_provider = "snb1"
# ЛК → создание vDC → «Provider VDC» # ОБЯЗАТЕЛЬНО: ЛК → создание vDC → «Provider VDC».
# Выбирайте Provider VDC из того же пула, что и сетевой провайдер.
vdc_provider_vdc = "Intel Broadwell 2.4" vdc_provider_vdc = "Intel Broadwell 2.4"
# vCPU, шт. Кластер Штурвал занимает 8 vCPU (2 ноды × 4), поэтому для ВМ нужен запас. # vCPU, шт. Кластер Штурвал занимает 8 vCPU (2 ноды × 4), поэтому для ВМ нужен запас.
vdc_cpu_allocated = 12 vdc_cpu_allocated = 12
@@ -32,8 +36,8 @@ vdc_cpu_allocated = 12
vdc_cpu_guaranteed = 0 vdc_cpu_guaranteed = 0
# RAM, ГБ # RAM, ГБ
vdc_mem_allocated = 32 vdc_mem_allocated = 32
# Дисковая политика: JSON-массив, name — имя политики из ЛК, size — размер в ГБ. # ОБЯЗАТЕЛЬНО проверить в ЛК: политика должна быть доступна выбранному Provider VDC.
# Пример: политика SATA, 200 ГБ. # Формат — JSON-массив; name — точное имя политики, size — размер в ГБ.
vdc_storage_config = "[{\"name\":\"SATA\",\"size\":\"200\"}]" vdc_storage_config = "[{\"name\":\"SATA\",\"size\":\"200\"}]"
# --- Edge (сетевой шлюз периметра) --- # --- Edge (сетевой шлюз периметра) ---