✨ Возможности
Мощная и гибкая реализация сервера Kubernetes на основе протокола контекста модели (Model Context Protocol, MCP) с поддержкой Kubernetes и OpenShift.
-
✅ Конфигурация:
-
Автоматическое обнаружение изменений в конфигурации Kubernetes и обновление MCP-сервера.
-
Просмотр текущей конфигурации Kubernetes
.kube/configи управление ею, а также работа с конфигурацией внутри кластера (in-cluster). -
✅ Универсальные ресурсы Kubernetes: выполнение операций с любыми ресурсами Kubernetes или OpenShift.
-
Полный набор CRUD-операций (создание или обновление, получение, список, удаление).
-
✅ Поды (Pods): операции, специфичные для подов.
-
Список подов во всех пространствах имён или в конкретном.
-
Получение пода по имени из указанного пространства имён.
-
Удаление пода по имени из указанного пространства имён.
-
Просмотр логов пода по имени из указанного пространства имён.
-
Top — получение метрик использования ресурсов для всех подов или конкретного пода в указанном пространстве имён.
-
Exec — выполнение команды внутри пода.
-
Run — запуск образа контейнера в поде с опциональным открытием порта.
-
✅ Пространства имён (Namespaces): список пространств имён Kubernetes.
-
✅ События (Events): просмотр событий Kubernetes во всех пространствах имён или в конкретном.
-
✅ Проекты (Projects): список проектов OpenShift.
-
☸️ Helm:
-
Установка Helm-чарта в текущем или указанном пространстве имён.
-
Список Helm-релизов во всех пространствах имён или в конкретном.
-
Удаление Helm-релиза в текущем или указанном пространстве имён.
-
🔧 Tekton: операции, специфичные для Tekton, дополняющие универсальное управление ресурсами Kubernetes.
-
Pipeline: запуск конвейера Tekton через создание PipelineRun.
-
PipelineRun: перезапуск, отмена, диагностика и получение логов PipelineRun.
-
Task: запуск задачи Tekton через создание TaskRun.
-
TaskRun: перезапуск TaskRun с той же спецификацией и получение логов TaskRun через разрешение пода.
-
🔭 Наблюдаемость (Observability): опциональная распределённая трассировка и метрики через OpenTelemetry с настраиваемой частотой сэмплирования. Включает эндпоинт
/statsдля статистики в реальном времени. Подробнее — в docs/OTEL.md[OTEL.md].
В отличие от других реализаций Kubernetes MCP-сервера, этот НЕ ЯВЛЯЕТСЯ обёрткой вокруг инструментов командной строки kubectl или helm. Это нативная реализация на Go, которая напрямую взаимодействует с API-сервером Kubernetes.
Никаких внешних зависимостей устанавливать не нужно. При использовании нативных бинарных файлов Node и Python на вашей системе не требуются.
-
✅ Лёгковесность: сервер поставляется в виде единого нативного бинарного файла для Linux, macOS и Windows.
-
✅ Высокая производительность / низкая задержка: прямое взаимодействие с API-сервером Kubernetes без накладных расходов на вызов внешних команд.
-
✅ Мультикластерность (Multi-Cluster): одновременная работа с несколькими кластерами Kubernetes (в соответствии с файлами kubeconfig).
-
✅ Кроссплатформенность: доступен как нативный бинарный файл для Linux, macOS и Windows, а также в виде npm-пакета, Python-пакета и образа контейнера/Docker.
-
✅ Настраиваемость: поддержка docs/configuration.md[аргументов командной строки], файлов конфигурации TOML и переменных окружения.
-
✅ Хорошо протестирован: обширный набор тестов для обеспечения надёжности и корректности работы в различных окружениях Kubernetes.
-
📚 Документация: подробная docs/[пользовательская документация], включающая руководства по установке, справочник по конфигурации и информацию по наблюдаемости.
🚀 Быстрый старт
Требования
-
Доступ к кластеру Kubernetes.
Claude Desktop
Через npx
Если у вас установлен npm, это самый быстрый способ начать работу с kubernetes-mcp-server на Claude Desktop.
Откройте файл claude_desktop_config.json и добавьте MCP-сервер в список mcpServers:
{
"mcpServers": {
"kubernetes": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
VS Code / VS Code Insiders
Установить расширение Kubernetes MCP Server в VS Code Insiders можно вручную, выполнив следующую команду:
# Для VS Code
code --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
# Для VS Code Insiders
code-insiders --add-mcp '{"name":"kubernetes","command":"npx","args":["kubernetes-mcp-server@latest"]}'
Cursor
Установить расширение вручную можно, отредактировав файл mcp.json:
{
"mcpServers": {
"kubernetes-mcp-server": {
"command": "npx",
"args": ["-y", "kubernetes-mcp-server@latest"]
}
}
}
Goose CLI
Goose CLI — простейший (и наименее затратный) способ начать работу с агентами на основе искусственного интеллекта.
Через npm
Если у вас установлен npm, это самый быстрый способ начать работу с kubernetes-mcp-server.
Откройте файл config.yaml Goose и добавьте MCP-сервер в список mcpServers:
extensions:
kubernetes:
command: npx
args:
- -y
- kubernetes-mcp-server@latest
🎥 Демонстрации
Диагностика и автоматическое исправление развёртывания OpenShift
Демонстрация того, как Kubernetes MCP Server используется Claude Desktop для автоматической диагностики и исправления развёртывания в OpenShift без участия пользователя.
Vibe Coding: создание простой игры и её развёртывание в OpenShift
В этой демонстрации показан процесс создания простой игры в стиле Vibe Coding с помощью VS Code, а также использование Podman MCP Server и Kubernetes MCP Server для её развёртывания в OpenShift.
Supercharge GitHub Copilot с Kubernetes MCP Server в VS Code — установка в один клик!
В этой демонстрации показано, как настроить Kubernetes MCP Server в VS Code одним нажатием ссылки.
⚙️ Конфигурация
Kubernetes MCP Server можно настроить с помощью аргументов командной строки (CLI).
Исполняемый файл CLI можно запустить через npx, uvx или скачав последний бинарный релиз.
# Запуск Kubernetes MCP Server через npx (если установлены npm и node)
npx kubernetes-mcp-server@latest --help
# Запуск Kubernetes MCP Server через uvx (если установлены uv и python)
uvx kubernetes-mcp-server@latest --help
# Запуск Kubernetes MCP Server через последний бинарный файл релиза
./kubernetes-mcp-server --help
Параметры конфигурации
| Параметр | Описание |
|---|---|
|
Запускает MCP-сервер в режиме Streamable HTTP (путь /mcp) и Server-Sent Event (SSE) (путь /sse) и принимает соединения на указанном порту. |
|
Устанавливает уровень логирования (значения от 0 до 9). Аналогично уровням логирования kubectl. |
|
(Опционально) Путь к основному файлу конфигурации TOML. Подробнее — в docs/configuration.md[справочнике по конфигурации]. |
|
(Опционально) Путь к директории с дополнительными файлами конфигурации. Файлы загружаются в лексикографическом (алфавитном) порядке. По умолчанию — |
|
Путь к файлу конфигурации Kubernetes. Если не указан, сервер попытается определить конфигурацию автоматически (in-cluster, стандартное расположение и т.д.). |
|
Формат вывода для операций получения списка ресурсов (одно из: yaml, table) (по умолчанию "table"). |
|
При указании MCP-сервер работает в режиме только для чтения: запрещены любые операции записи (создание, обновление, удаление) в кластере Kubernetes. Полезно для отладки или проверки кластера без внесения изменений. |
|
При указании отключаются все деструктивные операции (удаление, обновление и т.д.) в кластере Kubernetes. Полезно для отладки или проверки кластера без случайного внесения изменений. Не действует при использовании |
|
При указании MCP-сервер работает в режиме без сохранения состояния (stateless), отключая уведомления об изменениях инструментов и подсказок. Полезно для контейнерных развёртываний, балансировки нагрузки и бессерверных окружений, где поддержание состояния клиента нежелательно. |
|
Список наборов инструментов через запятую для включения. Подробнее — в разделе 🛠️ Инструменты и функциональность. |
|
При указании отключает поддержку мультикластерности и использует только текущий контекст из файла kubeconfig. Полезно, если нужно ограничить MCP-сервер одним кластером. |
|
Стратегия провайдера кластера (одно из: kubeconfig, in-cluster, kcp, disabled). Если не задано, сервер определяет автоматически на основе окружения. |
Примечание: большинство параметров CLI имеют эквивалентные поля в TOML-конфигурации. Флаг
--disable-multi-clusterэквивалентенcluster_provider_strategy = "disabled"в TOML. Полный список параметров TOML — в docs/configuration.md[справочнике по конфигурации].
Файлы конфигурации TOML
Для сложных или постоянных конфигураций рекомендуется использовать файлы TOML вместо аргументов командной строки:
kubernetes-mcp-server --config /etc/kubernetes-mcp-server/config.toml
Пример конфигурации:
log_level = 2
read_only = true
toolsets = ["core", "config", "helm", "kubevirt"]
# Запрет доступа к чувствительным ресурсам
[[denied_resources]]
group = ""
version = "v1"
kind = "Secret"
[telemetry]
endpoint = "http://localhost:4317"
Подробная документация по конфигурации TOML включает:
-
Все параметры конфигурации и их значения по умолчанию
-
Дополнительные файлы конфигурации для модульных настроек
-
Динамическую перезагрузку конфигурации через SIGHUP
-
Запрет ресурсов для ограничения доступа к чувствительным типам ресурсов
-
Инструкции сервера для поиска инструментов MCP
-
docs/prompts.md[Пользовательские подсказки MCP]
-
Аутентификацию OAuth/OIDC для HTTP-режима (docs/KEYCLOAK_OIDC_SETUP.md[Keycloak], docs/ENTRA_ID_SETUP.md[Microsoft Entra ID])
Подробнее — в docs/configuration.md[справочнике по конфигурации].
📊 Логирование MCP
Сервер поддерживает возможность логирования MCP, позволяя клиентам получать отладочную информацию в виде структурированных сообщений журнала. Ошибки Kubernetes API автоматически категоризируются и передаются клиентам с соответствующим уровнем серьёзности. Чувствительные данные (токены, ключи, пароли, учётные данные облака) автоматически скрываются перед отправкой клиентам.
Подробнее — в docs/logging.md[руководстве по логированию MCP].
🛠️ Инструменты и функциональность
Kubernetes MCP Server поддерживает включение или отключение конкретных групп инструментов и функций (инструментов, ресурсов, подсказок и т.д.) через флаг командной строки --toolsets или параметр конфигурации toolsets. Это позволяет контролировать, какие функции Kubernetes доступны вашим AI-инструментам. Включение только необходимых наборов инструментов помогает уменьшить размер контекста и повысить точность выбора инструментов языковой моделью.
Проверенные проекты экосистемы Kubernetes
Следующие проекты CNCF и экосистемы Kubernetes охвачены автоматизированными сценариями оценки в evals/tasks[evals/tasks]. Большинство сценариев работают только с набором инструментов core. Специализированные наборы ниже опциональны и нужны только для отдельных сценариев.
| Проект | Опциональный набор инструментов | Сценарии оценки |
|---|---|---|
|
3 |
|
|
5 |
|
|
16 |
|
- |
32 |
|
|
19 |
|
|
4 |
|
|
9 |
Доступные наборы инструментов
Ниже перечислены доступные наборы инструментов (наборы, отмеченные ✓ в столбце «По умолчанию», включены автоматически):
| Набор инструментов | Описание | По умолчанию |
|---|---|---|
config |
Просмотр текущей локальной конфигурации Kubernetes (kubeconfig) и управление ею |
✓ |
core |
Наиболее распространённые инструменты для управления Kubernetes (поды, универсальные ресурсы, события и т.д.) |
✓ |
helm |
Инструменты для управления Helm-чартами и релизами |
|
kcp |
Управление рабочими пространствами kcp и функциями мультиарендности |
|
kiali |
Наиболее распространённые инструменты для управления Kiali, подробнее — в документации Kiali. |
|
kubevirt |
Инструменты управления виртуальными машинами KubeVirt, подробнее — в документации KubeVirt. |
|
netobserv |
Инструменты наблюдаемости сети на основе API консольного плагина NetObserv (потоки, метрики, экспорт). Подробнее — в документации NetObserv. |
|
tekton |
Инструменты управления конвейерами Tekton: Pipeline, PipelineRun, Task, TaskRun и диагностика. |
Инструменты
Если поддержка мультикластерности включена (по умолчанию) и у вас есть доступ к нескольким кластерам, все применимые инструменты будут иметь дополнительный аргумент context для указания контекста Kubernetes (кластера), который будет использоваться для данной операции.
config
-
configuration_contexts_list — список всех доступных имён контекстов и связанных URL серверов из файла kubeconfig.
-
targets_list — список всех доступных целей.
-
configuration_view — получение содержимого текущей конфигурации Kubernetes в виде YAML kubeconfig.
-
minified(boolean) — вернуть сокращённую версию конфигурации. При значении true сохраняются только текущий контекст и связанные с ним данные. При значении false возвращаются все контексты, кластеры, auth-info и пользователи. (Опционально, по умолчанию true)
core
-
events_list — список событий Kubernetes (предупреждения, ошибки, изменения состояния) для отладки в текущем кластере из всех пространств имён.
-
fieldSelector(string) — опциональный селектор полей Kubernetes для фильтрации событий (например,type=Warning,involvedObject.name=my-pod). Поддерживаемые поля: involvedObject.kind, involvedObject.name, involvedObject.namespace, involvedObject.uid, involvedObject.apiVersion, involvedObject.resourceVersion, involvedObject.fieldPath, reason, reportingComponent, source, type. -
namespace(string) — опциональное пространство имён для получения событий. Если не указано, возвращаются события из всех пространств имён. -
namespaces_list — список всех пространств имён Kubernetes в текущем кластере.
-
fieldSelector(string) — опциональный селектор полей Kubernetes для фильтрации пространств имён (например,metadata.name=default,status.phase=Active). Поддерживаемые поля: metadata.name, status.phase. -
projects_list — список всех проектов OpenShift в текущем кластере.
-
nodes_log — получение логов с узла Kubernetes (kubelet, kube-proxy или другие системные логи) через API-прокси Kubernetes к kubelet.
-
name(string) (обязательно) — имя узла для получения логов. -
query(string) (обязательно) — запрос, указывающий сервис(ы) или файлы для получения логов. Например: "kubelet" для логов kubelet, "/<имя-файла>" для конкретного файла журнала на узле. -
tailLines(integer) — количество строк с конца журнала (опционально, 0 — все логи). -
nodes_stats_summary — получение подробной статистики использования ресурсов узла Kubernetes через Summary API kubelet. Включает метрики CPU, памяти, файловой системы и сети на уровне узла, пода и контейнера. На системах с cgroup v2 и ядром 4.20+ также включает метрики PSI (Pressure Stall Information).
-
name(string) (обязательно) — имя узла для получения статистики. -
nodes_top — список потребления ресурсов (CPU и памяти) по данным Kubernetes Metrics Server для указанных узлов или всех узлов кластера.
-
label_selector(string) — селектор меток Kubernetes для фильтрации узлов (опционально, применяется только если имя не указано). -
name(string) — имя узла для получения данных о потреблении ресурсов (опционально, если не указано — все узлы). -
pods_list — список всех подов Kubernetes в текущем кластере из всех пространств имён.
-
fieldSelector(string) — опциональный селектор полей для фильтрации подов. -
labelSelector(string) — опциональный селектор меток Kubernetes для фильтрации подов. -
pods_list_in_namespace — список всех подов Kubernetes в указанном пространстве имён в текущем кластере.
-
fieldSelector(string) — опциональный селектор полей для фильтрации подов. -
labelSelector(string) — опциональный селектор меток Kubernetes для фильтрации подов. -
namespace(string) (обязательно) — пространство имён для получения списка подов. -
pods_get — получение пода Kubernetes в текущем или указанном пространстве имён по имени.
-
name(string) (обязательно) — имя пода. -
namespace(string) — пространство имён для получения пода. -
pods_delete — удаление пода Kubernetes в текущем или указанном пространстве имён по имени.
-
name(string) (обязательно) — имя удаляемого пода. -
namespace(string) — пространство имён для удаления пода. -
pods_top — список потребления ресурсов (CPU и памяти) по данным Kubernetes Metrics Server для подов во всех пространствах имён, в указанном пространстве имён или в текущем.
-
all_namespaces(boolean) — если true, показывает потребление ресурсов для всех подов во всех пространствах имён. -
label_selector(string) — селектор меток Kubernetes для фильтрации подов (опционально). -
name(string) — имя пода (опционально, если не указано — все поды в пространстве имён). -
namespace(string) — пространство имён (опционально, если не указано и all_namespaces равно false — текущее пространство имён). -
pods_exec — выполнение команды в поде Kubernetes (доступ к оболочке, запуск команд в контейнере).
-
command(array) (обязательно) — команда для выполнения в контейнере пода. Первый элемент — исполняемая команда, остальные — её аргументы. Пример:["ls", "-l", "/tmp"]. -
container(string) — имя контейнера пода для выполнения команды (опционально). -
name(string) (обязательно) — имя пода, в котором будет выполнена команда. -
namespace(string) — пространство имён пода. -
pods_log — получение логов пода Kubernetes в текущем или указанном пространстве имён по имени.
-
container(string) — имя контейнера пода для получения логов (опционально). -
name(string) (обязательно) — имя пода для получения логов. -
namespace(string) — пространство имён для получения логов пода. -
previous(boolean) — вернуть логи завершённого контейнера (опционально). -
tail(integer) — количество строк с конца журнала (опционально, по умолчанию: 100). -
pods_run — запуск пода Kubernetes в текущем или указанном пространстве имён с указанным образом контейнера и опциональным именем.
-
image(string) (обязательно) — образ контейнера для запуска в поде. -
name(string) — имя пода (опционально, если не указано — случайное имя). -
namespace(string) — пространство имён для запуска пода. -
port(number) — TCP/IP порт для открытия из контейнера пода (опционально). -
resources_list — список ресурсов Kubernetes в текущем кластере по apiVersion и kind с опциональным указанием пространства имён и селектора меток (распространённые apiVersion и kind: v1 Pod, v1 Service, v1 Node, apps/v1 Deployment, networking.k8s.io/v1 Ingress, route.openshift.io/v1 Route).
-
apiVersion(string) (обязательно) — apiVersion ресурсов (например: v1, apps/v1, networking.k8s.io/v1). -
fieldSelector(string) — опциональный селектор полей для фильтрации ресурсов. -
kind(string) (обязательно) — kind ресурсов (например: Pod, Service, Deployment, Ingress). -
labelSelector(string) — опциональный селектор меток Kubernetes для фильтрации ресурсов. -
namespace(string) — опциональное пространство имён для получения ресурсов с областью действия на пространство имён. Если не указано — ресурсы из всех пространств имён. -
resources_get — получение ресурса Kubernetes в текущем кластере по apiVersion, kind, имени и опциональному пространству имён.
-
apiVersion(string) (обязательно) — apiVersion ресурса. -
kind(string) (обязательно) — kind ресурса. -
name(string) (обязательно) — имя ресурса. -
namespace(string) — опциональное пространство имён для получения ресурса. -
resources_create_or_update — создание или обновление ресурса Kubernetes через Server-Side Apply. Манифест — это полное желаемое состояние: любое поле, ранее заданное этим инструментом и отсутствующее в новом манифесте, будет удалено. Для редактирования существующего ресурса: получите его через resources_get, измените и повторно примените полный ресурс.
-
resource(string) (обязательно) — полное представление ресурса Kubernetes в YAML или JSON (полное желаемое состояние, не частичный патч). Должно включать apiVersion, kind, metadata и полный spec. -
resources_delete — удаление ресурса Kubernetes в текущем кластере по apiVersion, kind, имени и опциональному пространству имён.
-
apiVersion(string) (обязательно) — apiVersion ресурса. -
gracePeriodSeconds(integer) — опциональная длительность в секундах перед удалением объекта. Значение должно быть неотрицательным целым числом. Ноль означает немедленное удаление. Если не указано — используется период по умолчанию для данного типа. -
kind(string) (обязательно) — kind ресурса. -
name(string) (обязательно) — имя ресурса. -
namespace(string) — опциональное пространство имён для удаления ресурса. -
resources_scale — получение или изменение масштаба ресурса Kubernetes в текущем кластере по apiVersion, kind, имени и опциональному пространству имён. Если масштаб указан в вызове инструмента, он будет обновлён до этого значения. Всегда возвращает текущий масштаб ресурса.
-
apiVersion(string) (обязательно) — apiVersion ресурса (например: apps/v1). -
kind(string) (обязательно) — kind ресурса (например: StatefulSet, Deployment). -
name(string) (обязательно) — имя ресурса. -
namespace(string) — опциональное пространство имён для получения/обновления масштаба ресурса. -
scale(integer) — опциональное значение масштаба. Если не указано — возвращается текущий масштаб без обновления.
helm
-
helm_install — установка (развёртывание) Helm-чарта для создания релиза в текущем или указанном пространстве имён.
-
chart(string) (обязательно) — ссылка на устанавливаемый чарт (например: stable/grafana, oci://ghcr.io/nginxinc/charts/nginx-ingress). -
name(string) — имя Helm-релиза (опционально, если не указано — случайное имя). -
namespace(string) — пространство имён для установки Helm-чарта (опционально, если не указано — текущее). -
values(object) — значения для передачи Helm-чарту (опционально). -
helm_list — список всех Helm-релизов в текущем или указанном пространстве имён (или во всех пространствах имён, если указано).
-
all_namespaces(boolean) — если true, перечисляет все Helm-релизы во всех пространствах имён, игнорируя аргумент namespace (опционально). -
namespace(string) — пространство имён для получения списка Helm-релизов (опционально, если не указано — все пространства имён). -
helm_uninstall — удаление Helm-релиза в текущем или указанном пространстве имён.
-
name(string) (обязательно) — имя удаляемого Helm-релиза. -
namespace(string) — пространство имён для удаления Helm-релиза (опционально, если не указано — текущее).
kcp
-
kcp_workspaces_list — список всех доступных рабочих пространств kcp в текущем кластере.
-
kcp_workspace_describe — получение подробной информации о конкретном рабочем пространстве kcp.
-
workspace(string) (обязательно) — имя или путь рабочего пространства для описания.
kiali
-
kiali_get_mesh_traffic_graph — возвращает топологию трафика между сервисами, зависимости и сетевые метрики (пропускная способность, время отклика, mTLS) для указанных пространств имён. Используйте для диагностики проблем маршрутизации, задержек или поиска зависимостей.
-
graphType(string) — степень детализации графа.appгруппирует по имени приложения,versionedAppразделяет по версиям,workloadотображает конкретные поды/развёртывания. По умолчанию: versionedApp. -
meshCluster(string) — опциональное имя кластера Istio-меша из kiali_list_mesh_clusters. Если не указано, Kiali использует домашний кластер по умолчанию. -
namespaces(string) (обязательно) — список пространств имён через запятую для отображения. -
kiali_get_mesh_status — получение высокоуровневых данных о состоянии, топологии и деталях окружения Istio service mesh. Возвращает состояние плоскости управления (control plane) с несколькими кластерами (istiod), состояние плоскости данных (data plane) по пространствам имён, состояние стека наблюдаемости (Prometheus, Grafana и т.д.) и состояние соединений компонентов. Используйте как первый шаг при диагностике проблем в масштабах всего меша, проверке версий Istio/Kiali или общего состояния перед детальным изучением конкретных рабочих нагрузок.
-
kiali_manage_istio_config_read — чтение конфигурации Istio, Gateway API и Inference API. Действие
listгруппирует по пространству имён →group/version/kind→ {valid:[…],invalid:[…]}. Действиеgetвозвращает полный YAML. Для записи используйте manage_istio_config. -
action(string) (обязательно) — выполняемое действие (только чтение). -
group(string) — API-группа объекта Istio. Обязательно только для действияget. -
kind(string) — kind объекта Istio. Обязательно только для действияget. -
meshCluster(string) — опциональное имя кластера Istio-меша из kiali_list_mesh_clusters. -
namespace(string) — пространство имён, содержащее объект Istio. -
object(string) — имя объекта Istio. Обязательно для действияget. -
serviceName(string) — фильтрация конфигураций Istio (VirtualService, DestinationRule и связанные Gateway) для конкретного сервиса. Применимо только для действияlist. -
version(string) — версия API. Используйтеv1для всех типов ресурсов. Обязательно для действияget. -
kiali_manage_istio_config — создание, изменение или удаление конфигурации Istio, Gateway API и Inference API. Для чтения используйте manage_istio_config_read.
-
action(string) (обязательно) — выполняемое действие (запись). -
data(string) — данные ресурса в JSON или YAML. Обязательно для действий create и patch. Массивы (servers, http и т.д.) заменяются целиком — включайте ВСЕ нужные элементы. -
group(string) (обязательно) — API-группа объекта Istio. -
kind(string) (обязательно) — kind объекта Istio (например: VirtualService, DestinationRule). -
meshCluster(string) — опциональное имя кластера Istio-меша из kiali_list_mesh_clusters. -
namespace(string) (обязательно) — пространство имён, содержащее объект Istio. -
object(string) (обязательно) — имя объекта Istio. -
version(string) (обязательно) — версия API. Используйтеv1для всех типов ресурсов. -
kiali_list_mesh_clusters — возвращает список кластеров Istio-меша, доступных Kiali. Каждая запись включает имя кластера и признак того, является ли он домашним кластером.