CreateService
In this article:
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 — Параметры резервного копирования.
Тип: Объект BackupSettingsRequest
Необходимо: Нет
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 — Детальное описание сервиса.
Тип: Объект 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