Node Pool

Подсказка

Актуальную спецификацию можно скачать и использовать в привычном инструменте.

Набор методов для управления группой узлов Kubernetes:

Метод API

HTTP-метод

Описание

Get

GET

Возвращает список групп узлов Kubernetes

Get {nodePoolId}

GET

Возвращает данные по указанной группе узлов Kubernetes

Create

POST

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

Update

PATCH

Изменяет характеристики группы узлов Kubernetes

Delete

DELETE

Удаляет группу узлов Kubernetes

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

{
 "cluster_id": "69c0cd4d-0d84-4bca-bcea-703b6ac5ec17",
 "name": "testnodepool",
 "hardware_compute": {
     "cpu":2,
     "ram":4096
},
 "scale_policy": {
     "auto_scale": {
         "min_count":1,
         "max_count":5,
         "initial_count":1}
}
  }
   или
   "fixed_scale":{"fixed_scale": {"count":1}}
GET /kubernetes/v1/nodePools
Query Parameters
  • clusterId (string) – идентификатор кластера

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • nodePools[].availableReplicas (integer) – количество доступных реплик в группе узлов

  • nodePools[].clusterId (string) – идентификатор кластера

  • nodePools[].createdAt (string) – время создания группы узлов в кластере

  • nodePools[].id (string) – идентификатор группы узлов, развернутых в кластере

  • nodePools[].name (string) – имя группы узлов

  • nodePools[].nodes[].createdAt (string) – время создания узла

  • nodePools[].nodes[].id (string) – идентификатор узла

  • nodePools[].nodes[].ipAddress (string) – IP-адрес узла

  • nodePools[].nodes[].name (string) – имя узла

  • nodePools[].nodes[].phase (string) – фаза развертывания узла

  • nodePools[].scalePolicy.autoScale.initialCount (integer) – начальное количество узлов

  • nodePools[].scalePolicy.autoScale.maxCount (integer) – максимальное количество узлов в группе узлов

  • nodePools[].scalePolicy.autoScale.minCount (integer) – минимальное количество узлов в группе узлов

  • nodePools[].scalePolicy.fixedScale.count (integer) – количество узлов в группе узлов.

  • nodePools[].taints[].effect (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • nodePools[].taints[].key (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • nodePools[].taints[].value (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • nodePools[].version (string) – версия Kubernetes в группе узлов

POST /kubernetes/v1/nodePools
Request JSON Object
  • clusterId (string) – обязательное поле. Идентификатор кластера

  • hardwareCompute.cpu (integer) – обязательное поле. Количество vCPU, выделенных для группы узлов

  • hardwareCompute.ram (integer) – обязательное поле. Количество RAM в МБ

  • name (string) – обязательное поле. Имя должно быть уникальным. Может содержать строчные буквы латинского алфавита, цифры и дефисы. Допустимое количество символов от 3 до 20.

  • scalePolicy.autoScale.initialCount (integer) – начальное количество узлов

  • scalePolicy.autoScale.maxCount (integer) – максимальное количество узлов в группе узлов

  • scalePolicy.autoScale.minCount (integer) – минимальное количество узлов в группе узлов

  • scalePolicy.fixedScale.count (integer) – количество узлов в группе узлов.

  • taints[].effect (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • taints[].key (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • taints[].value (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

Status Codes
  • 200 OK – A successful response.

Response JSON Object
  • command (string) – команда на выполнениe (создать кластер, удалить кластер и т.п.)

  • createdAt (string) – время создания задачи

  • createdBy (string) – идентификатор пользователя или сервисного аккаунта, инициировавшего операцию

  • done (boolean) – статус выполнения запроса. Если значение равно false — операция еще выполняется. Если поле false и поле error не пустое - задача завершилась с ошибкой. Если true — операция завершена успешно.

  • doneAt (string) – время завершения выполнения задачи

  • error.code (integer) – the status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

  • error.details[].typeUrl (string) – a URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one «/» character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading «.» is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

  • error.details[].value (string) – must be a valid serialized protocol buffer of the above specified type.

  • error.message (string) – a developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

  • id (string) – идентификатор задачи (task)

  • metadata (object) – метаданные задачи. Обычно в поле содержится идентификатор ресурса, над которым выполняется задача.

GET /kubernetes/v1/nodePools/{nodePoolId}
Parameters
  • nodePoolId (string) – идентификатор группы узлов, развернутых в кластере

Status Codes
  • 200 OK – A successful response

Response JSON Object
  • availableReplicas (integer) – количество доступных реплик в группе узлов

  • clusterId (string) – идентификатор кластера

  • createdAt (string) – время создания группы узлов в кластере

  • id (string) – идентификатор группы узлов, развернутых в кластере

  • name (string) – имя группы узлов

  • nodes[].createdAt (string) – время создания узла

  • nodes[].id (string) – идентификатор узла

  • nodes[].ipAddress (string) – IP-адрес узла

  • nodes[].name (string) – имя узла

  • nodes[].phase (string) – фаза развертывания узла

  • scalePolicy.autoScale.initialCount (integer) – начальное количество узлов

  • scalePolicy.autoScale.maxCount (integer) – максимальное количество узлов в группе узлов

  • scalePolicy.autoScale.minCount (integer) – минимальное количество узлов в группе узлов

  • scalePolicy.fixedScale.count (integer) – количество узлов в группе узлов.

  • taints[].effect (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • taints[].key (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • taints[].value (string) – объект Kubernetes, подробнее: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/

  • version (string) – версия Kubernetes в группе узлов

DELETE /kubernetes/v1/nodePools/{nodePoolId}
Parameters
  • nodePoolId (string) – идентификатор группы узлов

Status Codes
  • 200 OK – A successful response

Response JSON Object
  • command (string) – команда на выполнениe (создать кластер, удалить кластер и т.п.)

  • createdAt (string) – время создания задачи

  • createdBy (string) – идентификатор пользователя или сервисного аккаунта, инициировавшего операцию

  • done (boolean) – статус выполнения запроса. Если значение равно false — операция еще выполняется. Если поле false и поле error не пустое - задача завершилась с ошибкой. Если true — операция завершена успешно.

  • doneAt (string) – время завершения выполнения задачи

  • error.code (integer) – the status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

  • error.details[].typeUrl (string) – a URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one «/» character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading «.» is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

  • error.details[].value (string) – must be a valid serialized protocol buffer of the above specified type.

  • error.message (string) – a developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

  • id (string) – идентификатор задачи (task)

  • metadata (object) – метаданные задачи. Обычно в поле содержится идентификатор ресурса, над которым выполняется задача.

PATCH /kubernetes/v1/nodePools/{nodePoolId}
Parameters
  • nodePoolId (string) – идентификатор группы узлов

Request JSON Object
  • name (string) – Имя должно быть уникальным. Может содержать строчные буквы латинского алфавита, цифры и дефисы. Допустимое количество символов от 3 до 20.

  • scalePolicy.autoScale.initialCount (integer) – начальное количество узлов

  • scalePolicy.autoScale.maxCount (integer) – максимальное количество узлов в группе узлов

  • scalePolicy.autoScale.minCount (integer) – минимальное количество узлов в группе узлов

  • scalePolicy.fixedScale.count (integer) – количество узлов в группе узлов.

Status Codes
  • 200 OK – A successful response

Response JSON Object
  • command (string) – команда на выполнениe (создать кластер, удалить кластер и т.п.)

  • createdAt (string) – время создания задачи

  • createdBy (string) – идентификатор пользователя или сервисного аккаунта, инициировавшего операцию

  • done (boolean) – статус выполнения запроса. Если значение равно false — операция еще выполняется. Если поле false и поле error не пустое - задача завершилась с ошибкой. Если true — операция завершена успешно.

  • doneAt (string) – время завершения выполнения задачи

  • error.code (integer) – the status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

  • error.details[].typeUrl (string) – a URL/resource name that uniquely identifies the type of the serialized protocol buffer message. This string must contain at least one «/» character. The last segment of the URL’s path must represent the fully qualified name of the type (as in path/google.protobuf.Duration). The name should be in a canonical form (e.g., leading «.» is not accepted). In practice, teams usually precompile into the binary all types that they expect it to use in the context of Any. However, for URLs which use the scheme http, https, or no scheme, one can optionally set up a type server that maps type URLs to message definitions as follows: * If no scheme is provided, https is assumed. * An HTTP GET on the URL must yield a [google.protobuf.Type][] value in binary format, or produce an error. * Applications are allowed to cache lookup results based on the URL, or have them precompiled into a binary to avoid any lookup. Therefore, binary compatibility needs to be preserved on changes to types. (Use versioned type names to manage breaking changes.) Note: this functionality is not currently available in the official protobuf release, and it is not used for type URLs beginning with type.googleapis.com. Schemes other than http, https (or the empty scheme) might be used with implementation specific semantics.

  • error.details[].value (string) – must be a valid serialized protocol buffer of the above specified type.

  • error.message (string) – a developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

  • id (string) – идентификатор задачи (task)

  • metadata (object) – метаданные задачи. Обычно в поле содержится идентификатор ресурса, над которым выполняется задача.