Перейти к содержанию

k8s.php

В этой статье

Модуль управления кластерами Kubernetes: создание, обновление, удаление, получение информации о кластере и управление токенами доступа.

Методы API

Метод Действие Описание
admin_delete_cluster удаление кластера администратором Удаляет кластер по его идентификатору. Доступно только в административном режиме.
check_user_token проверка доступа по токену кластера Проверяет доступ пользователя к конкретному кластеру.
create_cluster создание кластера Инициирует процесс создания нового Kubernetes кластера.
delete_cluster удаление кластера Удаляет существующий Kubernetes кластер.
get_cluster получение данных кластера Возвращает детальную информацию о кластере.
get_cluster_auth_token получение токена доступа к кластеру Проверяет доступ и возвращает данные кластера на основе предоставленного токена.
get_log получение списка логов задач Возвращает список выполненных или текущих задач (логов) для кластеров.
get_new_token получение нового токена доступа Генерирует новый токен доступа для текущего пользователя на основе его email и параметров биллинга.

k8s/admin_delete_cluster

Удаляет кластер по его идентификатору. Доступно только в административном режиме.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: admin_delete_cluster
token ✅ string Токен авторизации
id ❌ integer Идентификатор кластера для удаления. По умолчанию -1.

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=admin_delete_cluster" \
--data "token=HOSTKEY_TOKEN" \
--data "id=123"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "admin_delete_cluster"
}
Примеры ошибок
{
"code": 400,
"message": "No action specified"
}

k8s/check_user_token

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: check_user_token
token ✅ string Токен авторизации пользователя для проверки доступа к кластеру
cluster ❌ array<string|array> Структура кластера (JSON или строка), содержащая ключ cluster с токеном и id.

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=check_user_token" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[0][id]=123" \
--data "cluster[0][token]=CLUSTER_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "check_user_token",
"data": {
"id": 123,
"email": "user@example.com",
"billing": "US",
"service_id": 456,
"hash_id": 123
}
}
Примеры ошибок
{
"-1": [
{
"message": "Empty cluster array"
},
{
"message": "No token is provided"
},
{
"message": "Invalid token"
},
{
"message": "No cluster with this ID"
},
{
"message": "Wrong authentification token"
}
]
}

k8s/create_cluster

Инициирует процесс создания нового Kubernetes кластера.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: create_cluster
token ✅ string Токен авторизации для проверки доступа к кластеру
cluster ❌ string|array<string|array> Конфигурация кластера в формате JSON или массив данных.

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=create_cluster" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[]=val1"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "create_cluster",
"cluster": {
"id": "123"
}
}
Примеры ошибок
{
"code": 400,
"message": "No action specified"
}

k8s/delete_cluster

Удаляет существующий Kubernetes кластер.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: delete_cluster
token ✅ string Токен авторизации
cluster ❌ string\|array<string> Конфигурация кластера (JSON или массив) для удаления. Может быть передана в теле запроса (raw body).

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=delete_cluster" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[]=val1" \
--data "cluster[]=val2"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "delete_cluster",
"data": {
"id": 123,
"cluster": "k8s-config-data",
"email": "user@example.com",
"billing": "US",
"service_id": 456
}
}
Примеры ошибок
{
"code": -1,
"message": "Error details from k8s_delete_cluster"
}

k8s/get_cluster

Возвращает детальную информацию о кластере.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: get_cluster
token ✅ string Токен авторизации
cluster ❌ array<string|array> JSON-строка или массив с конфигурацией кластера (должен содержать cluster.id и cluster.token)

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=get_cluster" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[0][id]=123" \
--data "cluster[0][token]=CLUSTER_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "get_cluster",
"cluster": {
"id": 123,
"name": "production-cluster",
"status": "active"
}
}
Примеры ошибок
{
"code": 400,
"message": "No action specified"
}

k8s/get_cluster_auth_token

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_cluster_auth_token
token ✅ string Authorization required
cluster ❌ array<object|array> Конфигурация кластера (JSON или массив), содержащая ключи cluster[token] и cluster[id]

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=get_cluster_auth_token" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[id]=123" \
--data "cluster[token]=CLUSTER_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "get_cluster_auth_token",
"data": {
"cluster": "string (название кластера из БД)",
"email": "string",
"billing": "string"
}
}
Примеры ошибок
{
"Empty cluster array": {
"code": -1,
"message": "Empty cluster array"
},
"No token is provided": {
"code": -1,
"message": "No token is provided"
},
"Invalid token": {
"code": -1,
"message": "Invalid token"
},
"No cluster with this ID": {
"code": -1,
"message": "No cluster with this ID"
},
"Wrong authentification token": {
"code": -1,
"message": "Wrong authentification token"
}
}

k8s/get_log

Возвращает список выполненных или текущих задач (логов) для кластеров.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_log
token ✅ string Токен авторизации
id ❌ integer ID задачи в логах.
billing ❌ string Клиентский биллинг (локация).
email ❌ string Email владельца.
date_from ❌ string Дата начала периода (после которой искать задачи).
date_to ❌ string Дата окончания периода.
task ❌ string Тип задачи: CREATE, UPDATE, DELETE.

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=get_log" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "get_log",
"data": [
{
"id": 1001,
"task": "CREATE",
"email": "user@example.com",
"date": "2024-05-20T12:00:00Z"
}
]
}
Примеры ошибок
{
"PlatformException": [
{
"code": 400,
"message": "No action specified"
},
{
"code": 403,
"message": "Authorization required"
},
{
"code": 404,
"message": "Action is not recognized"
}
]
}

k8s/get_new_token

Генерирует новый токен доступа для текущего пользователя на основе его email и параметров биллинга.

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: get_new_token
token ✅ string Токен авторизации пользователя

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=get_new_token" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"action": "get_new_token",
"token": "7bc29eb23fb1b879b21fce509597f07c"
}
Примеры ошибок
{
"code": -1,
"message": "Ошибка генерации токена"
}

k8s/list

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

HTTP-метод: POST

Параметры:

Параметр Обязательный Тип Описание
action ✅ string Идентификатор метода: list
token ✅ string Токен авторизации
email ❌ string Email владельца. В prebill-режиме подставляется автоматически.
billing ❌ string Billing клиента (location). В prebill-режиме подставляется автоматически.

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=list" \
--data "token=HOSTKEY_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "list",
"list": [
{
"id": 123,
"email": "user@example.com",
"billing": "US",
"service_id": 456
}
]
}
Примеры ошибок
{
"PlatformException": [
{
"code": 400,
"message": "No action specified"
},
{
"code": 403,
"message": "Authorization required"
},
{
"code": 404,
"message": "Action is not recognized"
}
]
}

k8s/update_cluster

Обновляет конфигурацию существующего кластера Kubernetes.

HTTP-метод: POST

Параметры:

action ✅ string Идентификатор метода: update_cluster
token ✅ string Токен авторизации
cluster ❌ string|array JSON-строка или массив конфигурации кластера (содержит id и cluster.token).

Пример запроса

curl -s "https://invapi.hostkey.ru/k8s.php" -X POST \
--data "action=update_cluster" \
--data "token=HOSTKEY_TOKEN" \
--data "cluster[id]=123" \
--data "cluster[cluster][token]=NEW_CLUSTER_TOKEN"
Пример успешного ответа
{
"result": "OK",
"module": "k8s",
"action": "update_cluster",
"record": {
"id": 123,
"email": "admin@hostkey.com",
"billing": "NL",
"service_id": 789,
"cluster": {
"status": "running",
"nodes": 3
}
}
}
Примеры ошибок
{
"code": 400,
"message": "No action specified"
}
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×