From d2a13647eefbc3a6ccaa3829274ef40fbfd6b24a Mon Sep 17 00:00:00 2001 From: Nikita Sorokin Date: Thu, 28 Sep 2023 16:10:45 +0300 Subject: [PATCH] 4.4.0 updates --- ...ии-о-статическом-пути.md | 41 ++++++ ...ке-статических-путей.md | 36 +++++ ...ми-машинами-на-базе-KVM.md | 2 +- ...ение-кластером-kubernetes.md | 134 +++++++++++++++++- ...пой-базового-сервиса.md | 44 ++++++ ...нсировщиком-нагрузки.md | 1 + ...-статическими-путями.md | 62 ++++++++ Home.md | 3 + 8 files changed, 321 insertions(+), 2 deletions(-) create mode 100644 06.01.77-Data-функция-decort_vins_static_route-получение-информации-о-статическом-пути.md create mode 100644 06.01.78-Data-функция-decort_vins_static_route_list-получение-информации-о-списке-статических-путей.md create mode 100644 07.01.22-Resource-функция-decort_vins_static_route-управление-статическими-путями.md diff --git a/06.01.77-Data-функция-decort_vins_static_route-получение-информации-о-статическом-пути.md b/06.01.77-Data-функция-decort_vins_static_route-получение-информации-о-статическом-пути.md new file mode 100644 index 0000000..d18df09 --- /dev/null +++ b/06.01.77-Data-функция-decort_vins_static_route-получение-информации-о-статическом-пути.md @@ -0,0 +1,41 @@ +Функция доступна в провайдере версии 4.4.0 и выше. + +_Data source_ функция **decort_vins_static_route** служит для получения информации о статическом пути + +## Аргументы +_Data source_ функция **decort_vins_static_route** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| -------- | --- | :---: | --- | +| vins_id | int | :heavy_check_mark: | ID VINS | +| route_id | int | :heavy_check_mark: | ID статического пути | + +## Возвращаемые значения + +| Параметр | Тип | Описание | +| ------------ | ------- | ----------------------------------------------- | +| destination | string | IP целевой сети | +| gateway | string | IP шлюза | +| guid | string | guid ресурса | +| netmask | string | сетевая маска | +| compute_ids | []int | Список ID compute, которым предоствавлен доступ | + + +## Пример использования + +```terraform +data "decort_vins_static_route" "route" { + #обязательный параметр + #id vins в котором добавлены routes + #тип - число + vins_id = 1111 + + #обязательный параметр + #id route + #тип - число + route_id = 1 +} +``` + +После успешного завершения такого вызова **decort_vins_static_route** в переменной `data.decort_vins_static_route.route` будут сохранены возвращаемые значения. + diff --git a/06.01.78-Data-функция-decort_vins_static_route_list-получение-информации-о-списке-статических-путей.md b/06.01.78-Data-функция-decort_vins_static_route_list-получение-информации-о-списке-статических-путей.md new file mode 100644 index 0000000..281d442 --- /dev/null +++ b/06.01.78-Data-функция-decort_vins_static_route_list-получение-информации-о-списке-статических-путей.md @@ -0,0 +1,36 @@ +Функция доступна в провайдере версии 4.4.0 и выше. + +_Data source_ функция **decort_vins_static_route_list** служит для получения информации о списке статических путей + +## Аргументы +_Data source_ функция **decort_vins_static_route_list** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| -------- | --- | :---: | --- | +| vins_id | int | :heavy_check_mark: | ID VINS | + +## Возвращаемые значения + +В случае успешного выполнения _data source_ функция **decort_vins_static_route_list** возвращает в указанную при вызове переменную, в поле items массив, каждый элемент которого состоит из следующих параметров: + +| Параметр | Тип | Описание | +| ------------ | ------- | ----------------------------------------------- | +| destination | string | IP целевой сети | +| gateway | string | IP шлюза | +| guid | string | guid ресурса | +| netmask | string | сетевая маска | +| compute_ids | []int | Список ID compute, которым предоствавлен доступ | +| route_id | int | ID статического пути | + +## Пример использования + +```terraform +data "decort_vins_static_route_list" "list" { + #обязательный параметр + #id vins в котором добавлены routes + #тип - число + vins_id = 1111 +} +``` + +После успешного завершения такого вызова **decort_vins_static_route_list** в переменной `data.decort_vins_static_route_list.list` будут сохранены возвращаемые значения. \ No newline at end of file diff --git a/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md b/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md index 378e54e..1ff5af2 100644 --- a/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md +++ b/07.01.01-Resource-функция-decort_kvmvm-управление-виртуальными-машинами-на-базе-KVM.md @@ -64,7 +64,7 @@ terraform apply ### Работа с cloud_init -Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](#https://cloudinit.readthedocs.io/en/latest/reference/examples.html). +Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). **Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** diff --git a/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md b/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md index 73e6aa6..c6d980f 100644 --- a/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md +++ b/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes.md @@ -19,7 +19,136 @@ _Resource_ функция **decort_k8s** служит для управлени - Добавлен id виртуальной сети, которая используется с кластером k8s. - Добавлены описания IP адресов для группы воркеров. - Добавлены описания IP адресов для группы мастеров. -- Добавлены описания IP адресов виртуальной сети, которая присоеденена к группе воркеров. +- Добавлены описания IP адресов виртуальной сети, которая присоеденена к группе воркеров. + +### Работа с cluster_config + +Для использования cluster_config конфигурации, следует: + +1. Создать файл с расширением `.json` в рабочей директории. +2. Описать в созданном файле конфигурацию cluster_config в формате JSON: + +#### cluster_config.json + +```json +{ + "apiServer": { + "extraArgs": { + "oidc-issuer-url": "https://dex.decs.local/", + "oidc-client-id": "dex", + "oidc-username-claim": "email", + "oidc-groups-claim": "groups", + "oidc-ca-file": "/etc/kubernetes/ssl/kc-ca.pem" + } + } +} +``` + +3. Указать путь до файла `cluster_config.json` в качестве значения параметра `cluster_config` в ресурсе `decort_k8s`: + +```terraform +resource "decort_k8s" "cluster1" { + # ... + + cluster_config = file("cluster_config.json") + + # ... +} +``` + +4. Выполнить `terraform apply` + +### Работа с oidc__cert + +Для работы с oidc_cert следует: +1. Создать файл с ssl-сертификатом в формате x509 pem c названием ca.crt в рабочей директории + +#### ca.crt + +Пример содержания файла ca.crt +``` +-----BEGIN CERTIFICATE----- +MIIDzTCCArWgAwIBAgIUUW9bFlExT8f/gVX4OrYXegInXi0wDQYJKoZIhvcNAQEL +BQAwdjELMAkGA1UEBhMCUlUxDzANBgNVBAgMBk1vc2NvdzEPMA0GA1UEBwwGTW9z +Y293MQwwCgYDVQQKDANBQkMxDDAKBgNVBAsMA0FCQzEMMAoGA1UEAwwDQUJDMRsw +GQYJKoZIhvcNAQkBFgxBQkNAbWFpbC5jb20wHhcNMjMwOTI2MTQ0MzM2WhcNMjQw +OTI1MTQ0MzM2WjB2MQswCQYDVQQGEwJSVTEPMA0GA1UECAwGTW9zY293MQ8wDQYD +VQQHDAZNb3Njb3cxDDAKBgNVBAoMA0FCQzEMMAoGA1UECwwDQUJDMQwwCgYDVQQD +DANBQkMxGzAZBgkqhkiG9w0BCQEWDEFCQ0BtYWlsLmNvbTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAOUGj6B7sBrAYBuAQ4I0f6plcrLG33cNGzcktZrS +SZRWOMwXzBCUNNOBKXZHnapUAoZW23BllpZ/y50Y01JAggdBPbODw864ZROJMt3P +xlZZJQghraFUF8H/ANsmRzfh3nD98fBSr4YUg2VGEwg+Qvzh2peiNBRer4tD6QuV +BqiJZyUNrz0JUKmFZF/uTM4rNRhmF7y95A49GDZeIzwFFARSMkQPtIjMj8h75fs3 +PD41wEkQyV5SSM3YMGQeqp/7ay10ec31s6cn/PBB8bF8PTVYc+hJOfNuVrkm8CqG +w1kzKg+7ztgcCMOEL2yftgckg5PSFMQ+5RPgBieEOj3IDHsCAwEAAaNTMFEwHQYD +VR0OBBYEFPLv18WpzpwIGhqlM2EAHl7TXgNnMB8GA1UdIwQYMBaAFPLv18WpzpwI +GhqlM2EAHl7TXgNnMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEB +ADbH2Y4ExwEllkKrQ+VcyajjPXV9vcG5Ag+/9DUM0aFCO4H0ZzdBKHVCGMwIx5sS +gLSLx2zoT2F3oTHaJ4T9iVx+sBleKZZbpApO51dLaVSiy69cfkZy/GOMiWuEEZPU +UdGTMAAoM1+gqx8n0EsGf96zJZ+PtjHi6RdNmPBnuRRvRRPXQKNLJF1kYDgYlFdH +KxLl/lm/Y0zhV/VNd7OXsV0LAsyrRiNpuyCaniCOTR1ZRkD4UfWkc/bbNgbLjAfb +8Y0SjvSiYpFPE0DQv0ksSrhySJtyCy71UTGzSHI+tRB9LwhnDiijAoT7LnxQgNq8 +5IdaZNyYvyGubkczwBrFddU= +-----END CERTIFICATE----- +``` + +2. Указать путь до файла `ca.crt` в качестве значениея параметра `oidc_cert` в ресурсе `decort_k8s` + +```terraform +resource "decort_k8s" "cluster1" { + # ... + + oidc_cert = file("ca.crt") + + # ... +} +``` + +3. Выполнить `terraform apply` + + + +### Работа с cloud_init + +Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). + +**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** + +Для использования cloud_init конфигурации, следует: + +1. Создать файл с расширением `.tftpl` в рабочей директории. +2. Описать в созданном файле конфигурацию cloud_init в формате YAML: + +### initconfig.tftpl + +``` +--- +users: +- groups: users, wheel + name: user + plain_text_passwd: examplePassword + primary_group: user + ssh_authorized_keys: + - ssh-rsa EXAMPLE%id_rsa.pub + sudo: ALL=(ALL) NOPASSWD:ALL + +``` + +3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_k8s`: + +```terraform +resource "decort_k8s" "cluster1" { + # ... + + cloud_init = file("initconfig.tftpl") + + # ... +} +``` + +4. Выполнить `terraform apply` + +**Конфигурация cloud_init применяется только при создании кластера, во всех остальных случаях - игнорируется** ## Аргументы _Resource_ функция **decort_k8s** для создания кластера принимает следующие аргументы: @@ -37,6 +166,9 @@ _Resource_ функция **decort_k8s** для создания кластер | masters | Struct{} [см. ниже](#описание-блока-masters) | :x: | Настройка мастер-группы | | workers | Struct{} [см. ниже](#описание-блока-workers) | :x: | Настройка worker-групп | | extnet_id | int | :x: | ID внешней сети для соединения workers.
Если не задано,
то сеть будет выбрана платформой. | +| cloud_init | string | :x: | Используется на этапе создания вм.
Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. | +| cluster_config | string | :x: | используется для определения глобальных настроек и конфигураций для всего кластера. Она включает в себя такие параметры, как имя кластера, настройки DNS, методы аутентификации и другие конфигурации в масштабах кластера. вставьте допустимую строку JSON со всеми уровнями вложенности. | +| oidc_cert | string | :x: | ssl-сертификат в формате x509 pem | | start | bool | :x: | Старт/Стоп кластера | ### Описание блока masters diff --git a/07.01.13-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md b/07.01.13-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md index d6106d9..e27195f 100644 --- a/07.01.13-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md +++ b/07.01.13-Resource-функция-decort_bservice_group-управление-группой-базового-сервиса.md @@ -2,6 +2,47 @@ _Resource_ функция **decort_bservice_group** служит для управления группой базового (basic service). Базовый сервис служит шаблоном для создания вычислительных мощностей (computes) по заданным правилам. Все вычислительные мощности объединяются в вычислительные группы, с помощью которых мощностями можно управлять. +### Работа с cloud_init + +Cloud Init позволяет запустить ВМ с предустановленными настройками пользователя, группами и доступами. Подробнее про настройку cloud_init можно прочесть по [ссылке](https://cloudinit.readthedocs.io/en/latest/reference/examples.html). + +**Пароли, указанные в cloud_init не сохраняются на платформе и не отображаются в API!** + +Для использования cloud_init конфигурации, следует: + +1. Создать файл с расширением `.tftpl` в рабочей директории. +2. Описать в созданном файле конфигурацию cloud_init в формате YAML: + +#### initconfig.tftpl + +``` +--- +users: +- groups: users, wheel + name: user + plain_text_passwd: examplePassword + primary_group: user + ssh_authorized_keys: + - ssh-rsa EXAMPLE%id_rsa.pub + sudo: ALL=(ALL) NOPASSWD:ALL +``` + +3. Указать путь до файла `initconfig.tftpl` в качестве значения параметра `cloud_init` в ресурсе `decort_bservice`: + +```terraform +resource "decort_bservice" "service1" { + # ... + + cloud_init = file("initconfig.tftpl") + + # ... +} +``` + +4. Выполнить `terraform apply` + +**Конфигурация cloud_init применяется только при создании компьюта, во всех остальных случаях - игнорируется** + ## Аргументы После создания ресурса, необходимо **обязательно** в файле .tf, в котором описана группа, заполнить поле compgroup_id, чтобы продолжить работу с группами. _Resource_ функция **decort_bservice_group** принимает следующие аргументы: @@ -16,6 +57,9 @@ _Resource_ функция **decort_bservice_group** принимает след | disk | int | :heavy_check_mark: | Размер диска, ГБ, каждой мощности
Используется при создании и редактировании | | image_id | int | :heavy_check_mark: | ID образа каждой мощности
Используется при создании | | driver | string | :heavy_check_mark: | Драйвер
Используется при создании | +| sep_id | int | :x: | ID storage endpoint provider | +| sep_pool | string | :x: | Название SEP pool'а | +| cloud_init | string | :x: | Используется на этапе создания вм.
Параметры для утилиты _cloud_init_, которая используется в платформе DECORT для первичного конфигурирования виртуальной машины после её создания. | role | string | :x: | Роль(тег) группы
Используется при создании и редактировании | | timeout_start | int | :x: | Таймаут начала работы групп
Используется при создании | | vinses | []int | :x: | Список ID виртуальных сетей
Используется либо vinses, либо extnets
Используется при создании и редактировании | diff --git a/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md b/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md index cb1be90..13955eb 100644 --- a/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md +++ b/07.01.14-Resource-функция-decort_lb-управление-балансировщиком-нагрузки.md @@ -16,6 +16,7 @@ _Resource_ функция **decort_lb** принимает следующие а | enable | bool | :x: | Флаг доступности балансировщика | | restart | bool | :x: | Флаг перезагрузки балансировщика. Можно использовать только на созданном ресурсе. По умолчанию - false. Перезагрузка происходит только при смене флага с false на true | | config_reset | bool | :x: | Флаг сброса конфигурации балансировщика. По умолчанию - false. Сброс происходит только при изменении флага с false на true | +| ha_mode | bool | :x: | Использовать высокодоступную схему для развертывания LB | | permanently | bool | :x: | Флаг моментального удаления балансировщика из платформы. По-умолчанию - false. При необходимости, после изменения значения флага, необходимо выполнить `terraform apply` для изменения значения флага в состоянии терраформа, а после этого - `terraform destroy` | | restore | bool | :x: | Флаг восстановления балансировщика после удаления. Восстановить возможно только балансировщики, удаленные с флагом permanently равным false. Предварительно, необходимо импортировать удаленный ресурс и изменить значение флага. После этого - выполнить `terraform apply`. | diff --git a/07.01.22-Resource-функция-decort_vins_static_route-управление-статическими-путями.md b/07.01.22-Resource-функция-decort_vins_static_route-управление-статическими-путями.md new file mode 100644 index 0000000..5f4d7ba --- /dev/null +++ b/07.01.22-Resource-функция-decort_vins_static_route-управление-статическими-путями.md @@ -0,0 +1,62 @@ +Функция доступна в провайдере версии 4.4.0 и выше. + +_Resource_ функция **decort_vins_static_route** служит для управления статичесикми путями. Функция позволяет: +- Создать статический путь +- Удалить статический путь +- Выдать/отозвать доступ к статическому пути для compute + +## Аргументы +_Resource_ функция **decort_vins_static_route** принимает следующие аргументы: + +| Аргумент | Тип | Обязательный | Описание | +| -------- | --- | :---: | --- | +| vins_id | int | :heavy_check_mark: | ID VINS | +| destination | string | :heavy_check_mark: | IP целевой сети | +| gateway | string | :heavy_check_mark: | IP шлюза | +| netmask | string | :heavy_check_mark: | Сетевая маска | +| compute_ids | []int | :x: | Список ID compute, которым предоставить доступ | + +## Возвращаемые значения + +| Параметр | Тип | Описание | +| ------------ | ------- | ----------------------------------------------- | +| destination | string | IP целевой сети | +| gateway | string | IP шлюза | +| guid | string | guid ресурса | +| netmask | string | сетевая маска | +| compute_ids | []int | Список ID compute, которым предоствавлен доступ | + + +## Пример использования + +```terraform +resource "decort_vins_static_route" "sr" { + +#id Vins +#обязательный параметр +#тип - число +vins_id = 1111 + +# destination network +# обязательный параметр +#тип - строка +destination = "192.168.201.0" + +# destination network mask +#обязательный параметр +#тип - строка +netmask = "255.255.255.255" + +# IP-адрес из пула свободных IP-адресов ViNS ID +#обязательный параметр +#тип - строка +gateway = "192.168.201.40" + +# список виртуальных машин, которым будет предоставлен доступ к роуту +#опциональный параметр +#тип - массив чисел +compute_ids = [111,222] +} +``` + +После успешного завершения такого вызова **decort_vins_static_route** в переменной `decort_vins_static_route.sr` будут сохранены возвращаемые значения. \ No newline at end of file diff --git a/Home.md b/Home.md index 3b985a8..bc411d8 100644 --- a/Home.md +++ b/Home.md @@ -75,6 +75,8 @@ Terraform провайдер для платформы DECORT с API верси - [**decort_vins_ip_list**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.52-Data-функция-decort_vins_ip_list-получение-информации-о-зарезервированных-ip-адресах-для-указанного-vins) - получение информации о зарезервированных ip адресах для указанного vins - [**decort_vins_list_deleted**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.53-Data-функция-decort_vins_list_deleted-получение-информации-о-удаленных-виртуальных-сетях) - получение информации о удаленных виртуальных сетях - [**decort_vins_nat_rule_list**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.54-Data-функция-decort_vins_nat_rule_list-получение-информации-о-правилах-NAT-для-указанного-vins) - получение информации о правилах NAT для указанного vins + - [**decort_vins_static_route**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.77-Data-функция-decort_vins_static_route-получение-информации-о-статическом-пути.md) + - [**decort_vins_static_route_list**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.78-Data-функция-decort_vins_static_route_list-получение-информации-о-списке-статических-путей.md) - [**decort_kvmvm_audits**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.55-Data-функция-decort_kvmvm_audits-получения-информации-о-аудитах-компьюта) - получение информации о аудитах компьюта - [**decort_kvmvm_get_audits**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.56-Data-функция-decort_kvmvm_get_audits-получения-информации-о-аудитах-компьюта) - получение информации о аудитах компьюта - [**decort_kvmvm_get_console_url**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/06.01.57-Data-функция-decort_kvmvm_get_console_url-получение-url-консоли-компьюта) - получение url адреса консоли компьюта @@ -135,6 +137,7 @@ Terraform провайдер для платформы DECORT с API верси - [**decort_resgroup**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.02-Resource-функция-decort_resgroup-управление-ресурсными-группами) - управление ресурсными группами - [**decort_disk**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.03-Resource-функция-decort_disk-управление-дисковыми-ресурсами) - управление дисковыми ресурсами. - [**decort_vins**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.04-Resource-функция-decort_vins-управление-виртуальными-сетевыми-сегментами) - управление виртуальными сетевыми сегментами. + - [**decort_vins_static_route**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.22-Resource-функция-decort_vins_static_route-управление-статическими-путями.md) - [**decort_snapshot**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.05-Resource-функция-decort_snapshot-управление-снапшотами) - управление snapshot - [**decort_k8s**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.06-Resource-функция-decort_k8s-управление-кластером-kubernetes) - управление кластером - [**decort_k8s_cp**](https://repository.basistech.ru/BASIS/terraform-provider-decort/wiki/07.01.21-Resource-функция-decort_k8s_cp-управление-control-plane-кластера) - управление control plane