- tocdepth
2
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
для Dev & Test