Перейти к основному содержимому

Managed Kubernetes — жизнь после миграции

Миграция не повлияет на работу существующих приложений. Но, в связи с тем, что в Selectel и в Vscale для работы с MKS используются разные линейки виртуальных машин, для корректного добавления нод в кластеры, мигрированные из Vscale, потребуется выполнить несколько действий.

Мы подготовили для тебя инструкцию по управлению кластерами в Selectel.

Управление кластером

Управление кластером осуществляется через панель управления Selectel. Подробнее о том, как управлять кластером, можно узнать в документации.

После миграции ты сможешь управлять уже созданными группами нод через панель управления Selectel. Подробнее о том, как управлять группами нод, можно узнать в документации.

Создание дополнительной группы нод

На данный момент в панели управления Selectel нет возможности создать новую группу нод с Shared Line инстансами. Поэтому, для сохранения специальной цены на инстансы, необходимо создать новую группу нод с помощью API MKS.

Шаг 1. Настройка OpenStack CLI

Для создания ноды с помощью API MKS, необходимо настроить OpenStack CLI, чтобы получить флейвор (конфигурацию) инстансов, которые будут созданы в группе нод.

Для установки OpenStack CLI, рекомендуем использовать инструкцию наших коллег из Selectel.

Шаг 2. Получение ID флейвора

Для создания группы нод с Shared Line инстансами, необходимо получить ID флейвора. Для этого, авторизуйся в OpenStack CLI и выполни команду:

openstack flavor list

Флейворы соответствуют конфигурациям облачного сервера и определяют количество vCPU, RAM и размер локального диска (если он есть в этой конфигурации) сервера. Вы можете посмотреть все готовые флейворы облачных серверов и флейворы, созданные по запросу.

Выбери флейвор, который соответствует Shared Line инстансу нужной тебе конфигурации. Скопируй значение ID флейвора, оно понадобится для создания группы нод на дальнейших шагах.

Ниже приведен пример вывода команды openstack flavor list для региона ru-9 (сокращенный):

+------------+-----------------------+--------+------+-----------+-------+-----------+
| ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public |
+------------+-----------------------+--------+------+-----------+-------+-----------+
| 1 | m1.tiny | 512 | 0 | 0 | 1 | True |
| 1011 | SL1.1-1024 | 1024 | 0 | 0 | 1 | True |
| 2011 | CPU1.4-8192 | 8192 | 0 | 0 | 4 | True |
| 4011 | RAM1.2-16384 | 16384 | 0 | 0 | 2 | True |
| 3021 | GL2.6-24576-0-1GPU | 24576 | 0 | 0 | 6 | True |
| 9011 | PRC10.1-512 | 512 | 0 | 0 | 1 | True |
| 9021 | PRC20.1-512 | 512 | 0 | 0 | 1 | True |
| 9051 | PRC50.1-512 | 512 | 0 | 0 | 1 | True |
| 8301 | HFL1.1-2048-30 | 2048 | 30 | 0 | 1 | True |
+------------+-----------------------+--------+------+-----------+-------+-----------+

Здесь:

  • ID — ID флейвора облачного сервера;

  • Name — имя флейвора, которое соответствует конфигурации:

    • m1.XX — базовые конфигурации OpenStack, аналогичные произвольным конфигурациям;
    • SL1.XX — фиксированные конфигурации линейки Standard Line;
    • CPU1.XX — фиксированные конфигурации линейки CPU Line;
    • RAM1.XX — фиксированные конфигурации линейки Memory Line;
    • GL2.XX — фиксированные конфигурации линейки GPU Line;
    • PRC10.XX — фиксированные конфигурации линейки Shared Line с долей vCPU 10%;
    • PRC20.XX — фиксированные конфигурации линейки Shared Line с долей vCPU 20%;
    • PRC50.XX — фиксированные конфигурации линейки Shared Line с долей vCPU 50%;
    • HFL1.XX — фиксированные конфигурации линейки HighFreq Line;
    • SGX1.XX — фиксированные конфигурации линейки SGX Line;
  • RAM — размер оперативной памяти в МБ;

  • Disk — размер локального диска в ГБ;

  • VCPUs — количество vCPU;

  • Is Public — область видимости флейвора:

    • True — публичные готовые флейворы;
    • False — приватные флейворы.
к сведению

По умолчанию в Vscale все новые группы нод создавались из флейворов PRC50.XX. Если ты хочешь сохранить специальную цену на инстансы, то выбирай флейвор с долей vCPU 50%. Для оптимальной работы рекомендуем начинать с конфигурации, в которой есть минимум 2 GB RAM.

Шаг 3. Получение Keystone токена

Для работы с API MKS, необходимо получить Keystone токен. Сделать это можно, следуя инструкции.

Шаг 4. Создание группы нод с помощью API MKS

Теперь мы готовы создать новую группу нод с помощью API MKS.

  1. Используй метод POST /v1/clusters/{cluster_id}/nodegroups.
  2. В теле запроса укажи необходимые параметры в объекте nodegroup:
    • count: количество нод в группе
    • flavor_id: ID конфигурации виртуальной машины
    • volume_gb: размер диска в ГБ
    • volume_type: тип диска
    • labels: метки для группы нод (опционально)
    • taints: тейнты для группы нод (опционально)
    • availability_zone: зона доступности (опционально)
    • local_volume: использовать локальный диск вместо сетевого (опционально)

Пример запроса с использованием curl:

curl -X POST "https://api.selectel.ru/mks/v1/clusters/{cluster_id}/nodegroups" \
-H "X-Auth-Token: ваш_токен" \
-H "Content-Type: application/json" \
-d '{
"nodegroup": {
"count": 3,
"flavor_id": "9053",
"volume_gb": 50,
"volume_type": "fast.ru-3a",
"labels": {
"environment": "production"
},
"taints": [
{
"key": "foo",
"value": "bar",
"effect": "NoSchedule"
}
],
"availability_zone": "ru-3a",
"local_volume": false
}
}'

После успешного создания группы нод, API вернет тебе пустой ответ со статусом 204. Для просмотра созданной группы нод, можешь использовать метод GET /v1/clusters/{cluster_id}/nodegroups/{nodegroup_id}, где {cluster_id} — ID твоего кластера, а {nodegroup_id} — ID созданной группы нод. Группа нод будет также отображаться в панели управления Selectel.