Node Pool

Подсказка

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

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

Метод API

HTTP-метод

Описание

Get

GET

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

Get {nodePoolId}

GET

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

Create

POST

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

Update

PATCH

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

Delete

DELETE

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

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

 {
  "cluster_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "test-nodepool-11",
  "scale_policy": {
    "auto_scale": {
      "min_count": 1,
      "max_count": 5,
      "initial_count": 1,
      "scaleDownUtilizationThreshold": 1
    }
  },
  "hardware_compute": {
    "cpu": 2,
    "ram": 4096
  }
}

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

{
  "cluster_id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "test-nodepool-12",
  "scale_policy": {
    "fixed_scale": {
      "count": 1
    }
  },
  "hardware_compute": {
    "cpu": 2,
    "ram": 4096
  }
}
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.autoScale.scaleDownUtilizationThreshold (number) – суммарная нагрузка на группу узлов, ниже которой количество работающих узлов будет уменьшено

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

  • nodePools[].taints[].effect (string) – объект Kubernetes, подробнее в документации Kubernetes

  • nodePools[].taints[].key (string) – объект Kubernetes, подробнее в документации Kubernetes

  • nodePools[].taints[].value (string) – объект Kubernetes, подробнее в документации Kubernetes

  • 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.autoScale.scaleDownUtilizationThreshold (number) – суммарная нагрузка на группу узлов, ниже которой количество работающих узлов будет уменьшено

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

  • taints[].effect (string) – объект Kubernetes, подробнее в документации Kubernetes

  • taints[].key (string) – объект Kubernetes, подробнее в документации Kubernetes

  • taints[].value (string) – объект Kubernetes, подробнее в документации Kubernetes

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) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

  • error.details[].typeUrl (string) – дополнительные сведения об ошибке о типе протокола передачи данных. Соответствия gRPC-статусов с HTTP-кодами определены в google.rpc.Code

  • error.details[].value (string) – значение ошибки

  • error.message (string) – описание ошибки

  • 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.autoScale.scaleDownUtilizationThreshold (number) – суммарная нагрузка на группу узлов, ниже которой количество работающих узлов будет уменьшено

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

  • taints[].effect (string) – объект Kubernetes, подробнее в документации Kubernetes

  • taints[].key (string) – объект Kubernetes, подробнее в документации Kubernetes

  • taints[].value (string) – объект Kubernetes, подробнее в документации Kubernetes

  • 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) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

  • error.details[].typeUrl (string) – дополнительные сведения об ошибке о типе протокола передачи данных. Соответствия gRPC-статусов с HTTP-кодами определены в google.rpc.Code

  • error.details[].value (string) – значение ошибки

  • error.message (string) – описание ошибки

  • 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.autoScale.scaleDownUtilizationThreshold (number) – суммарная нагрузка на группу узлов, ниже которой количество работающих узлов будет уменьшено

  • 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) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

  • error.details[].typeUrl (string) – дополнительные сведения об ошибке о типе протокола передачи данных. Соответствия gRPC-статусов с HTTP-кодами определены в google.rpc.Code

  • error.details[].value (string) – значение ошибки

  • error.message (string) – описание ошибки

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

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