Метод create

Создает группу узлов в указанном кластере Kubernetes.

HTTP-запрос

POST https://mks.api.cloud.yandex.net/managed-kubernetes/v1/nodeGroups

Параметры в теле запроса

{
  "clusterId": "string",
  "name": "string",
  "description": "string",
  "labels": "object",
  "nodeTemplate": {
    "platformId": "string",
    "resourcesSpec": {
      "memory": "string",
      "cores": "string",
      "coreFraction": "string"
    },
    "bootDiskSpec": {
      "diskTypeId": "string",
      "diskSize": "string"
    },
    "metadata": "object",
    "v4AddressSpec": {
      "oneToOneNatSpec": {
        "ipVersion": "string"
      }
    },
    "schedulingPolicy": {
      "preemptible": true
    }
  },
  "scalePolicy": {
    "fixedScale": {
      "size": "string"
    }
  },
  "allocationPolicy": {
    "locations": [
      {
        "zoneId": "string",
        "subnetId": "string"
      }
    ]
  }
}
Поле Описание
clusterId string

Обязательное поле. Идентификатор кластера Kubernetes, в котором следует создать группу узлов. Чтобы получить идентификатор кластера Kubernetes, используйте list запрос.

name string

Новое имя группы узлов. Имя должно быть уникальным в каталоге.

Значение должно соответствовать регулярному выражению |[a-z][-a-z0-9]{1,61}[a-z0-9].

description string

Новое описание группы узлов.

Максимальная длина строки в символах — 256.

labels object

Метки ресурса в формате key:value.

Не более 64 на ресурс. Длина строки в символах для каждого ключа должна быть от 1 до 63. Каждый ключ должен соответствовать регулярному выражению [a-z][-_0-9a-z]. Максимальная длина строки в символах для каждого значения — 63. Каждое значение должно соответствовать регулярному выражению [-_0-9a-z].

nodeTemplate object

Обязательное поле. Шаблон узла для создания группы узлов.

nodeTemplate.
platformId
string

Идентификатор аппаратной платформы виртуальной машины.

nodeTemplate.
resourcesSpec
object

Вычислительные ресурсы узла, такие как объем памяти и количество ядер.

nodeTemplate.
resourcesSpec.
memory
string (int64)

Объем памяти в байтах, доступный виртуальной машине.

Допустимые значения — от 0 до 274877906944 включительно.

nodeTemplate.
resourcesSpec.
cores
string (int64)

Количество ядер, доступное узлу.

Значение должно быть равно 0, 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 или 32.

nodeTemplate.
resourcesSpec.
coreFraction
string (int64)

Базовый уровень производительности CPU с возможностью повышения производительности выше этого уровня. Это поле устанавливает базовую производительность для каждого ядра.

Значение должно быть равно 0, 5, 20, 50 или 100.

nodeTemplate.
bootDiskSpec
object

Метаданные, назначаемые этому шаблону виртуальной машины, в формате key:value. Сюда входят пользовательские метаданные и предопределенные ключи.

Например, вы можете использовать метаданные для предоставления вашего открытого SSH-ключа узлу. Дополнительные сведения см. в разделе Метаданные виртуальной машины.

nodeTemplate.
bootDiskSpec.
diskTypeId
string

Идентификатор типа диска.

Значение должно соответствовать регулярному выражению |network-nvme|network-hdd.

nodeTemplate.
bootDiskSpec.
diskSize
string (int64)

Размер диска в байтах.

Допустимые значения — от 0 до 4398046511104 включительно.

nodeTemplate.
metadata
object

Не более 64 на ресурс. Длина строки в символах для каждого ключа должна быть от 1 до 63. Каждый ключ должен соответствовать регулярному выражению [a-z][-_0-9a-z]*. Максимальная длина строки в символах для каждого значения — 131072.

nodeTemplate.
v4AddressSpec
object

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

nodeTemplate.
v4AddressSpec.
oneToOneNatSpec
object

Конфигурация one-to-one NAT. Настройка one-to-one NAT гарантирует, что узлам будут назначены публичные IP-адреса. Поэтому интернет будет доступен на всех узлах группы узлов. Если поле не задано, NAT не будет настроен.

nodeTemplate.
v4AddressSpec.
oneToOneNatSpec.
ipVersion
string

Версия IP для публичного IP-адреса.

  • IPV4: IPv4-адрес, например 192.168.0.0.
  • IPV6: IPv6-адрес, на данный момент не доступен.
nodeTemplate.
schedulingPolicy
object

Конфигурация политики планирования.

nodeTemplate.
schedulingPolicy.
preemptible
boolean (boolean)

Если значение равно true — будет создана прерываемая виртуальная машина. Значение по умолчанию: false. Прерываемые виртуальные машины будут принудительно остановлены в срок, не превышающий 24 часа с момента их создания. Остановленные виртуальные машины можно запустить повторно, без потери данных. Дополнительные сведения см. в разделе Прерываемые виртуальные машины.

scalePolicy object

Обязательное поле. Политика масштабирования группы узлов.

scalePolicy.
fixedScale
object
Политика масштабирования группы узлов.
scalePolicy.
fixedScale.
size
string (int64)

Количество узлов в группе узлов.

Минимальное значение — 1.

allocationPolicy object

Политика распределения группы узлов по зонам и регионам.

allocationPolicy.
locations[]
object

Список местоположений (зон доступности и подсетей), в которых будут выделены ресурсы для группы узлов.

allocationPolicy.
locations[].
zoneId
string

Обязательное поле. Идентификатор зоны доступности, в которой могут находиться узлы.

allocationPolicy.
locations[].
subnetId
string

Идентификатор подсети. Если сеть, выбранная для кластера Kubernetes, имеет только одну подсеть в указанной зоне, идентификатор подсети может быть опущен.

Ответ

HTTP Code: 200 - OK

{
  "id": "string",
  "description": "string",
  "createdAt": "string",
  "createdBy": "string",
  "modifiedAt": "string",
  "done": true,
  "metadata": "object",

  //  включает только одно из полей `error`, `response`
  "error": {
    "code": "integer",
    "message": "string",
    "details": [
      "object"
    ]
  },
  "response": "object",
  // конец списка возможных полей

}

Ресурс Operation. Дополнительные сведения см. в разделе Объект Operation.

Поле Описание
id string

Идентификатор операции.

description string

Описание операции. Длина описания должна быть от 0 до 256 символов.

createdAt string (date-time)

Время создания ресурса в формате в RFC3339.

Строка в формате RFC3339.

createdBy string

Идентификатор пользователя или сервисного аккаунта, инициировавшего операцию.

modifiedAt string (date-time)

Время, когда ресурс Operation последний раз обновлялся. Значение в формате RFC3339.

Строка в формате RFC3339.

done boolean (boolean)

Если значение равно false — операция еще выполняется. Если true — операция завершена, и задано значение одного из полей error или response.

metadata object

Метаданные операции. Обычно в поле содержится идентификатор ресурса, над которым выполняется операция. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля metadata.

error object
Описание ошибки в случае сбоя или отмены операции.
включает только одно из полей error, response

Описание ошибки в случае сбоя или отмены операции.

error.
code
integer (int32)

Код ошибки. Значение из списка google.rpc.Code.

error.
message
string

Текст ошибки.

error.
details[]
object

Список сообщений с подробными сведениями об ошибке.

response object
включает только одно из полей error, response

Результат операции в случае успешного завершения. Если исходный метод не возвращает никаких данных при успешном завершении, например метод Delete, поле содержит объект google.protobuf.Empty. Если исходный метод — это стандартный метод Create / Update, поле содержит целевой ресурс операции. Если метод возвращает ресурс Operation, в описании метода приведена структура соответствующего ему поля response.