Создание CCE-кластера и пула узлов

  1. Установите и настройте Terraform.

  2. Добавьте в конфигурационный файл блок кода, который создаст VPC и подсеть:

    resource "sbercloud_vpc" "cce_vpc" {
    name = "cce_vpc"
    cidr = "192.168.0.0/16"
    }
    resource "sbercloud_vpc_subnet" "cce_vpc_subnet_1" {
    name = "cce_vpc_subnet_1"
    cidr = "192.168.0.0/24"
    gateway_ip = "192.168.0.1"
    primary_dns = "100.125.13.59"
    secondary_dns = "100.125.65.14"
    vpc_id = sbercloud_vpc.cce_vpc.id
    }
    Примечание

    Для корректной работы используйте внутренние адреса DNS платформы Advanced: 100.125.13.59 и 100.125.65.14.

    Если нужно использовать пользовательские DNS-серверы, настройте перенаправление на внутренние адреса DNS платформы Advanced или укажите один из адресов в настройках подсети. Например:

    resource "sbercloud_vpc_subnet" "cce_vpc_subnet_1" {
    name = "cce_vpc_subnet_1"
    cidr = "192.168.0.0/16"
    gateway_ip = "192.168.0.1"
    primary_dns = "100.125.13.59"
    secondary_dns = "8.8.8.8"
    vpc_id = sbercloud_vpc.myvpc.id
    }
  3. Выберите вкладку с нужным режимом работы сети CCE-кластера и добавьте в конфигурационный файл блок кода, который создаст CCE-кластер:


    resource "sbercloud_cce_cluster" "cce_cluster" {
    name = "cce-cluster"
    flavor_id = "cce.s1.small"
    container_network_type = "overlay_l2"
    vpc_id = sbercloud_vpc. cce_vpc.id
    subnet_id = sbercloud_vpc_subnet. cce_vpc_subnet_1.id
    container_network_cidr = "10.0.0.0/16"
    service_network_cidr = "10.247.0.0/16"
    }
    Описание параметров

    Параметр

    Описание

    name

    Название кластера

    flavor_id

    Спецификация кластера

    container_network_type

    Режим работы сети

    vpc_id

    VPC, в котором будут расположены рабочие узлы

    subnet_id

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

    container_network_cidr

    Сегмент сети для контейнеров

    service_network_cidr

    Сегмент сети для сервисов

  4. Добавьте в конфигурационный файл блок кода, который создаст пул узлов:

    resource "sbercloud_cce_node_pool" "cce_cluster_node_pool" {
    cluster_id = sbercloud_cce_cluster.cce_cluster.id
    name = "cce-cluster-node-pool "
    os = "CentOS 7.6"
    initial_node_count = 1
    flavor_id = "s7n.xlarge.2"
    password = var.node_password
    scall_enable = true
    min_node_count = 1
    max_node_count = 5
    scale_down_cooldown_time = 100
    priority = 1
    root_volume {
    size = 40
    volumetype = "SAS"
    }
    data_volumes {
    size = 100
    volumetype = "SAS"
    }
    labels = {
    label1 = "label1"
    label2 = "label2"
    }
    tags = {
    tag1 = "tag1"
    tag2 = "tag2"
    }
    }
    Описание параметров

    Параметр

    Описание

    cluster_id

    ID CCE-кластера.

    name

    Название пула узлов.

    os

    Операционная система рабочего узла.

    initial_node_count

    Начальное количество ожидаемых узлов в пуле узлов. Этот параметр также можно использовать для последующего масштабирования количества узлов вручную.

    flavor_id

    Спецификация узла.

    password

    Пароль рабочего узла.

    scall_enable

    Включение/отключение автомасштабирования.

    min_node_count

    Минимальное количество рабочих узлов.

    max_node_count

    Максимальное количество рабочих узлов.

    scale_down_cooldown_time

    Время между операциями масштабирования в минутах.

    priority

    Приоритет пула узлов.

    root_volume

    Параметры системного диска.

    data_volumes

    Параметры диска с данными.

    labels

    Список меток.

    tags

    Список тегов.

  5. Добавьте в конфигурационный файл блок кода, который добавит надстройку «autoscaler»:

    data "sbercloud_cce_addon_template" "autoscaler" {
    cluster_id = sbercloud_cce_cluster.cce_cluster.id
    name = "autoscaler"
    version = "1.25.7"
    }
    resource "sbercloud_cce_addon" "autoscaler" {
    cluster_id = sbercloud_cce_cluster.cce_cluster.id
    template_name = "autoscaler"
    version = "1.25.7"
    values {
    basic = jsondecode(data.sbercloud_cce_addon_template.autoscaler.spec).basic
    custom = merge(
    jsondecode(data.sbercloud_cce_addon_template.autoscaler.spec).parameters.custom,
    {
    cluster_id = sbercloud_cce_cluster.cce_cluster.id
    tenant_id = var.tenant_id
    }
    )
    }
    }
  6. В шагах 4–5 используются две переменные: password и tenant_id. Добавьте их значения в файл variables.tf по шаблону:

    variable "tenant_id" {
    default = "account-id"
    }
    variable "node_password" {
    default = "password"
    }

    Где:

    • account-id замените на Account ID в разделе My Credentials.

    • password замените на пароль, который будет задан для рабочего узла.

  7. Добавьте в конфигурационный файл блок кода, который установит надстройку «cce-hpa-controller»:

    resource "sbercloud_cce_addon" "cce-hpa-controller" {
    cluster_id = sbercloud_cce_cluster.cce_cluster.id
    template_name = "cce-hpa-controller"
    }

Конфигурационный файл готов. Содержимое файлов, полученных в результате выполнения инструкции, можно скопировать ниже.

Advanced