CreateService#

Description#

Запрос на создание сервиса PaaS.

Request Parameters#

Необходимые параметры#

  • highAvailability — Указывает, запускать ли отказоустойчивый сервис.

    • Тип: Boolean

    • Необходимо: Да

  • instanceType — Тип экземпляров.

    • Тип: String

    • Необходимо: Да

  • name — Имя сервиса.

    • Тип: String

    • Необходимо: Да

  • parameters — Набор параметров сервиса PaaS.

    • Тип: Dict

    • Необходимо: Да

    • Возможные значения: Зависят от типа сервиса (см. Параметры PaaS)

  • rootVolumeType — Тип загрузочного диска экземпляра.

    • Тип: String

    • Необходимо: Да

    • Возможные значения: st2 | gp2 | io2

  • rootVolumeSize — Размер загрузочного диска экземпляра в ГиБ.

    • Тип: Integer

    • Необходимо: Да

  • securityGroupIds — Список идентификаторов групп безопасности.

    • Тип: Array of strings

    • Необходимо: Да

  • serviceClass — Класс сервиса PaaS.

    • Тип: String

    • Необходимо: Да

    • Возможные значения для конкретного типа сервиса:

      • elasticsearch: search

      • elk: logging

      • memcached: cacher

      • mongodb: database

      • mysql: database

      • pgsql: database

      • prometheus: monitoring

      • rabbitmq: message_broker

      • redis: database | cacher

  • serviceType — Тип сервиса PaaS.

    • Тип: String

    • Необходимо: Да

    • Возможные значения: elasticsearch | elk | memcached | mongodb | mysql | pgsql | prometheus | rabbitmq | redis

Опциональные параметры#

  • arbitratorRequired — Указывает, создавать ли кластер с арбитром.

    • Тип: Boolean

    • Необходимо: Нет

  • backupSettings — Параметры резервного копирования.

  • dataVolumeIops — Количество операций чтения/записи в секунду для диска для данных.

    • Тип: Integer

    • Необходимо: Да, если задан тип io2 для диска для данных

  • dataVolumeSize — Размер диска для данных в ГиБ.

    • Тип: Integer

    • Необходимо: Нет

  • dataVolumeType — Тип диска для данных.

    • Тип: String

    • Необходимо: Нет

    • Возможные значения: st2 | gp2 | io2

  • externalBalancerRequired — Указывает, создавать ли внешний балансировщик нагрузки.

    • Тип: Boolean

    • Необходимо: Нет

    • Значение по умолчанию: False

    • Ограничения: Создание балансировщика возможно только для отказоустойчивого сервиса PaaS.

  • instanceQty — Количество экземпляров.

    • Тип: Integer

    • Необходимо: Нет

  • internalBalancerRequired — Указывает, создавать ли внутренний балансировщик нагрузки.

    • Тип: Boolean

    • Необходимо: Нет

    • Значение по умолчанию: False

    • Ограничения: Создание балансировщика возможно только для отказоустойчивого сервиса PaaS.

  • networkInterfaceIds — Список идентификаторов сетевых интерфейсов.

    • Тип: Array of strings

    • Необходимо: Да, если не задан список идентификаторов подсетей

  • rootVolumeIops — Количество операций чтения/записи в секунду для загрузочного диска экземпляра.

    • Тип: Integer

    • Необходимо: Да, если задан тип io2 для загрузочного диска экземпляра

  • sshKeyName — Имя SSH-ключа для доступа к экземплярам.

    • Тип: String

    • Необходимо: Нет

  • subnetIds — Список идентификаторов подсетей.

    • Тип: Array of strings

    • Необходимо: Да, если не задан список идентификаторов сетевых интерфейсов

  • userData — Пользовательские данные.

    • Тип: String

    • Необходимо: Да, если задан userDataContentType

  • userDataContentType — Тип пользовательских данных userData.

    • Тип: String

    • Необходимо: Да, если задан userData

    • Возможные значения: cloud-config | x-shellscript

Response Elements#

  • service — Детальное описание сервиса.

Examples#

Для управления сервисами PaaS в К2 Облаке с помощью API необходима кастомизированная версия библиотеки boto3:

import boto3

session = boto3.Session(
   aws_access_key_id="<AWS_ACCESS_KEY_ID>",
   aws_secret_access_key="<AWS_SECRET_ACCESS_KEY>",
   region_name="",
)

paas_client = session.client(
   'paas',
   endpoint_url='https://paas.k2.cloud/',
)

paas_client.create_service(
   name='production-database',
   serviceType='redis',
   serviceClass='database',
   subnetIds=['subnet-0A17D740'],
   securityGroupIds=['sg-F10FB1F3'],
   rootVolumeType='st2',
   rootVolumeSize=32,
   dataVolumeType='st2',
   dataVolumeSize=32,
   instanceType='c5.large',
   parameters={
      'version': '6.2.6',
      'monitoring': False,
      'logging': False,
   },
   highAvailability=False,
   externalBalancerRequired=False,
   internalBalancerRequired=False,
)

Или утилита c2-paas из пакета K2 Cloud API Client:

c2-paas CreateService name production-database serviceType redis serviceClass database subnetIds.1 subnet-0A17D740 securityGroupIds.1 sg-F10FB1F3 rootVolumeType st2 rootVolumeSize 32 dataVolumeType st2 dataVolumeSize 32 instanceType t1.large parameters.version 6 parameters.monitoring false highAvailability false externalBalancerRequired false internalBalancerRequired false