Cluster

Подсказка

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

Набор методов для управления кластером Kubernetes:

Метод API

HTTP-метод

Описание

Get

GET

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

Get {serviceInstanceId}

GET

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

Get {clusterId}/metrics

GET

Возвращает данные по использованию ресурсов указанным кластером

Get {serviceInstanceId}/{clusterId}

GET

Возвращает данные по указанному кластеру в рамках заказанной услуги

Create

POST

Создает кластер Kubernetes

Update

PATCH

Обновляет версию кластера Kubernetes

Delete

DELETE

Удаляет кластер Kubernetes

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

POST /kubernetes/v1/clusters
Request JSON Object
  • audit (object) – конфигурация аудита для кластера

  • audit.enabled (boolean) – флаг включения аудита

  • clusterType (object) – тип кластера

  • clusterType.configurableCluster (object) – контракт для создания конфигурируемого кластера. Данный тип кластера позволяет гибко настраивать сетевые политики

  • clusterType.configurableCluster.ipv4Policy (object) – сетевая политика кластера

  • clusterType.configurableCluster.ipv4Policy.clusterCidrBlock (string) – обязательное поле. Диапазон IP-адресов, из которого будут выделяться IP-адреса для сервисов. Должен принадлежать диапазонам 10.0.0.0/8, 172.16.0.0./12, 192.168.0.0./16. (RFC 1918) Не допустимы пересечения ни с одной подсетью в облачной сети, в которой находится кластер Kubernetes

  • clusterType.configurableCluster.ipv4Policy.clusterNodesCidrBlock (string) – необязательное поле. Диапазон IP-адресов, из которого будут выделяться IP-адреса для нод компонентов кластера (masters, workers). Должен принадлежать диапазонам 10.0.0.0/8, 172.16.0.0./12, 192.168.0.0./16. (RFC 1918) Также CIDR должен быть строго с маской /24. Не допустимы пересечения ни с одной подсетью в вашей облачной инфраструктуре

  • clusterType.configurableCluster.networkOptions (object) – определяет контракт с дополнительными опциями по конфигурированию сети в кластере. Позволяет включить или отключить выход в интернет или включить публикацию в интернете и т.д

  • clusterType.configurableCluster.networkOptions.kubeapiInternet (boolean) – флаг, сигнализирующий, что необходимо опубликовать kubeapi сервер в интернет, доступным по public_ip:6443. В Load Balancer создается виртуальный сервер с необходимыми параметрами

  • clusterType.configurableCluster.networkOptions.nodesInternet (boolean) – флаг, сигнализирующий, что необходимо дать доступ в интернет рабочим узлам в кластере. Создается SNAT правило

  • clusterType.configurableCluster.networkOptions.orgConnectivity (boolean) – флаг, сигнализирующий, что необходимо создать связь междуи виртуальными ЦОД. Является опциональным для поддержания обратной совместимости

  • clusterType.configurableCluster.networkOptions.vpcId (string) – vpc_id содержит идентификатор virtual private cloud. Если поле заполнено, то идентификатор будет использован для связи создаваемых Edge виртуального ЦОД с полученным VPC ID

  • clusterType.externalCluster (object) – внешний тип кластера. Данный тип кластера по умолчанию имеет выход в интернет

  • clusterType.externalCluster.ipv4Policy (object) – сетевая политика кластера

  • clusterType.externalCluster.ipv4Policy.clusterCidrBlock (string) – обязательное поле. Диапазон IP-адресов, из которого будут выделяться IP-адреса для сервисов. Должен принадлежать диапазонам 10.0.0.0/8, 172.16.0.0./12, 192.168.0.0./16. (RFC 1918) Не допустимы пересечения ни с одной подсетью в облачной сети, в которой находится кластер Kubernetes

  • clusterType.internalCluster (object) – внутренний тип кластера. Для обеспечения доступа кластера в интернет необходимо добавить сетевые правила

  • clusterType.internalCluster.ipv4Policy (object) – сетевая политика кластера

  • clusterType.internalCluster.ipv4Policy.clusterCidrBlock (string) – обязательное поле. Диапазон IP-адресов, из которого будут выделяться IP-адреса для сервисов. Должен принадлежать диапазонам 10.0.0.0/8, 172.16.0.0./12, 192.168.0.0./16. (RFC 1918) Не допустимы пересечения ни с одной подсетью в облачной сети, в которой находится кластер Kubernetes

  • clusterType.internalCluster.ipv4Policy.clusterNodesCidrBlock (string) – необязательное поле. Диапазон IP-адресов, из которого будут выделяться IP-адреса для нод компонентов кластера (masters, workers). Должен принадлежать диапазонам 10.0.0.0/8, 172.16.0.0./12, 192.168.0.0./16. (RFC 1918) Также CIDR должен быть строго с маской /24. Не допустимы пересечения ни с одной подсетью в вашей облачной инфраструктуре

  • clusterType.internalCluster.ipv4Policy.enableSnat (boolean) – необязательное поле. Возможность при создании кластера создать source NAT правила на EdgeGateway заказчика услуги. Транслирующий адрес для сети кластера будет выделен случайным образом из диапазона публичных адресов, аллоцированных на вашем EdgeGateway Используется, если NetworkOptions.nodes_internet не заполнен, оставлено для обратной совместимости

  • enableGrafana (boolean) – установка grafana при создании кластера

  • masterSpec (object) – параметры кластера

  • masterSpec.maintenancePolicy (object) – настройки обслуживания кластера

  • masterSpec.maintenancePolicy.autoUpgrade (boolean) – политика автоматического обновления кластера. Если установлено значение true, автоматическое обновление устанавливается без участия пользователя в заданный промежуток времени. Если установлено значение false, автоматическое обновление отключено

  • masterSpec.maintenancePolicy.maintenanceWindow (object) – параметры обновления кластера

  • masterSpec.maintenancePolicy.maintenanceWindow.anytime (object) – обновление мастера в любое время

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow (object) – обновление мастера ежедневно в указанный промежуток времени

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.duration (string) – продолжительность окна, от 1 до 24 часов

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime (object) – время начала обновления, указывается в таймзоне UTC

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.hours (integer) – временной промежуток обновления кластера в часах от 1 до 24

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.minutes (integer) – временной промежуток обновления кластера в минутах от 0 до 59

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.nanos (integer) – временной промежуток обновления кластера в наносекундах 0 до 999,999,999

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.seconds (integer) – временной промежуток обновления кластера в секундах от 0 до 59

  • masterSpec.masterType (string) – обязательное поле. Количество Master node в кластере один или три. Один Master node — добавьте значение SINGLE_NODE, три Master node — HIGH_AVAILABILITY

  • masterSpec.version (string) – обязательное поле. Версия Kubernetes. Список доступных версий

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

  • serviceInstanceId (string) – обязательное поле. Идентификатор услуги в облачной платформе

  • vdcSpec (object) – конфигурация для выбора Edge (погрпничного маршрутизатора) в виртуальном ЦОД

  • vdcSpec.clientEgwId (string) – необязательное поле. Идентификатор (ID) пограничного маршрутизатора EdgeGateWay в виртуальном ЦОД на платформе Облако VMware

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 (object) – сообщение об ошибке

  • error.code (integer) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

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

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

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

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

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

DELETE /kubernetes/v1/clusters/{clusterId}
Parameters
  • clusterId (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 (object) – сообщение об ошибке

  • error.code (integer) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

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

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

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

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

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

PATCH /kubernetes/v1/clusters/{clusterId}
Parameters
  • clusterId (string) – идентификатор кластера

Request JSON Object
  • masterSpec (object) – параметры кластера

  • masterSpec.maintenancePolicy (object) – настройки обслуживания кластера

  • masterSpec.maintenancePolicy.autoUpgrade (boolean) – политика автоматического обновления кластера. Если установлено значение true, автоматическое обновление устанавливается без участия пользователя в заданный промежуток времени. Если установлено значение false, автоматическое обновление отключено

  • masterSpec.maintenancePolicy.maintenanceWindow (object) – параметры обновления кластера

  • masterSpec.maintenancePolicy.maintenanceWindow.anytime (object) – обновление мастера в любое время

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow (object) – обновление мастера ежедневно в указанный промежуток времени

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.duration (string) – продолжительность окна, от 1 до 24 часов

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime (object) – время начала обновления, указывается в таймзоне UTC

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.hours (integer) – временной промежуток обновления кластера в часах от 1 до 24

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.minutes (integer) – временной промежуток обновления кластера в минутах от 0 до 59

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.nanos (integer) – временной промежуток обновления кластера в наносекундах 0 до 999,999,999

  • masterSpec.maintenancePolicy.maintenanceWindow.dailyMaintenanceWindow.startTime.seconds (integer) – временной промежуток обновления кластера в секундах от 0 до 59

  • masterSpec.masterType (string) – обязательное поле. Количество Master node в кластере один или три. Один Master node — добавьте значение SINGLE_NODE, три Master node — HIGH_AVAILABILITY

  • masterSpec.version (string) – обязательное поле. Версия Kubernetes. Список доступных версий

  • name (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 (object) – сообщение об ошибке

  • error.code (integer) – код ошибки. Доступные коды ошибок определены в google.rpc.Code

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

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

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

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

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

GET /kubernetes/v1/clusters/{serviceInstanceId}
Parameters
  • serviceInstanceId (string) – идентификатор услуги в облачной платформе

Status Codes
  • 200 OK – A successful response

Response JSON Object
  • clusters (array) – параметры кластера

  • clusters[].clusterType (string) – тип кластера

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

  • clusters[].endpoint (string) – эндпоинт кластера. Эндпоинты состоят из схемы и порта (т. е. /ip-address:port) и могут использоваться клиентами для связи с API Kubernetes кластера Kubernetes

  • clusters[].endpoints (array) – эндпоинт кластера. Эндпоинты состоят из схемы и порта (т. е. /ip-address:port) и могут использоваться клиентами для связи с API Kubernetes кластера Kubernetes. Представлено для обратной совместимости

  • clusters[].endpoints[] (string) –

  • clusters[].grafanaEndpoint (string) – данные эндпоинта подключения Grafana

  • clusters[].healthy (boolean) – состояние кластера

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

  • clusters[].name (string) – имя кластера

  • clusters[].nodePools (array) – информация о группе узлов

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

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

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

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

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

  • clusters[].nodePools[].nodes (array) – параметры узела

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

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

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

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

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

  • clusters[].nodePools[].scalePolicy (object) – политика масштабирования группы узлов в кластере

  • clusters[].nodePools[].scalePolicy.autoScale (object) – автоматическая политика масштабирования группы узлов

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

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

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

  • clusters[].nodePools[].scalePolicy.fixedScale (object) – автоматическая политика масштабирования группы узлов

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

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

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

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

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

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

  • clusters[].version (string) – версия Kubernetes

GET /kubernetes/v1/clusters/{clusterId}/metrics
Parameters
  • clusterId (string) – идентификатор кластера

Query Parameters
  • step (string) – шаг

  • start (string) – начало диапазона

  • end (string) – конец диапазона

Status Codes
  • 200 OK – A successful response.

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

  • nodePoolMetrics (array) – метрики группы узлов

  • nodePoolMetrics[].cpu (array) – метрики по cpu, в процентах

  • nodePoolMetrics[].cpu[].timestamp (string) – временной шаг

  • nodePoolMetrics[].cpu[].value (number) – значение метрики

  • nodePoolMetrics[].networkReceive (array) – метрики по входящему сетевому трафику, в килобайтах

  • nodePoolMetrics[].networkReceive[].timestamp (string) – временной шаг

  • nodePoolMetrics[].networkReceive[].value (number) – значение метрики

  • nodePoolMetrics[].networkTransmit (array) – метрики по исходящему сетевому трафику, в килобайтах

  • nodePoolMetrics[].networkTransmit[].timestamp (string) – временной шаг

  • nodePoolMetrics[].networkTransmit[].value (number) – значение метрики

  • nodePoolMetrics[].nodePoolId (string) – идентификатор группы узлов

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

  • nodePoolMetrics[].ram (array) – метрики по ram, в Мб

  • nodePoolMetrics[].ram[].timestamp (string) – временной шаг

  • nodePoolMetrics[].ram[].value (number) – значение метрики

  • nodePoolMetrics[].storage (array) – метрики файловой системы, в ГБ

  • nodePoolMetrics[].storage[].timestamp (string) – временной шаг

  • nodePoolMetrics[].storage[].value (number) – значение метрики

GET /kubernetes/v1/clusters/{serviceInstanceId}/{clusterId}
Parameters
  • serviceInstanceId (string) – идентификатор услуги в облачной платформе

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

Status Codes
  • 200 OK – A successful response

Response JSON Object
  • clusterType (string) – тип кластера

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

  • endpoint (string) – эндпоинт кластера. Эндпоинты состоят из схемы и порта (т. е. /ip-address:port) и могут использоваться клиентами для связи с API Kubernetes кластера Kubernetes

  • endpoints (array) – эндпоинт кластера. Эндпоинты состоят из схемы и порта (т. е. /ip-address:port) и могут использоваться клиентами для связи с API Kubernetes кластера Kubernetes. Представлено для обратной совместимости

  • endpoints[] (string) –

  • grafanaEndpoint (string) – данные эндпоинта подключения Grafana

  • healthy (boolean) – состояние кластера

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

  • name (string) – имя кластера

  • nodePools (array) – информация о группе узлов

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

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

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

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

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

  • nodePools[].nodes (array) – параметры узела

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

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

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

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

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

  • nodePools[].scalePolicy (object) – политика масштабирования группы узлов в кластере

  • nodePools[].scalePolicy.autoScale (object) – автоматическая политика масштабирования группы узлов

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

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

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

  • nodePools[].scalePolicy.fixedScale (object) – автоматическая политика масштабирования группы узлов

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

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

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

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

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

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

  • version (string) – версия Kubernetes

Запустили Evolution free tier
для Dev & Test
Получить