Kubernetes MCP Server: нативный Go-сервер для AI

✨ Возможности

Мощная и гибкая реализация сервера 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.

Vibe Coding: сборка и развёртывание игры в Kubernetes

Supercharge GitHub Copilot с Kubernetes MCP Server в VS Code — установка в один клик!

В этой демонстрации показано, как настроить 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

Параметры конфигурации

Параметр Описание

--port

Запускает MCP-сервер в режиме Streamable HTTP (путь /mcp) и Server-Sent Event (SSE) (путь /sse) и принимает соединения на указанном порту.

--log-level

Устанавливает уровень логирования (значения от 0 до 9). Аналогично уровням логирования kubectl.

--config

(Опционально) Путь к основному файлу конфигурации TOML. Подробнее — в docs/configuration.md[справочнике по конфигурации].

--config-dir

(Опционально) Путь к директории с дополнительными файлами конфигурации. Файлы загружаются в лексикографическом (алфавитном) порядке. По умолчанию — conf.d относительно основного файла конфигурации, если указан --config. Подробнее — в docs/configuration.md[справочнике по конфигурации].

--kubeconfig

Путь к файлу конфигурации Kubernetes. Если не указан, сервер попытается определить конфигурацию автоматически (in-cluster, стандартное расположение и т.д.).

--list-output

Формат вывода для операций получения списка ресурсов (одно из: yaml, table) (по умолчанию "table").

--read-only

При указании MCP-сервер работает в режиме только для чтения: запрещены любые операции записи (создание, обновление, удаление) в кластере Kubernetes. Полезно для отладки или проверки кластера без внесения изменений.

--disable-destructive

При указании отключаются все деструктивные операции (удаление, обновление и т.д.) в кластере Kubernetes. Полезно для отладки или проверки кластера без случайного внесения изменений. Не действует при использовании --read-only.

--stateless

При указании MCP-сервер работает в режиме без сохранения состояния (stateless), отключая уведомления об изменениях инструментов и подсказок. Полезно для контейнерных развёртываний, балансировки нагрузки и бессерверных окружений, где поддержание состояния клиента нежелательно.

--toolsets

Список наборов инструментов через запятую для включения. Подробнее — в разделе 🛠️ Инструменты и функциональность.

--disable-multi-cluster

При указании отключает поддержку мультикластерности и использует только текущий контекст из файла kubeconfig. Полезно, если нужно ограничить MCP-сервер одним кластером.

--cluster-provider

Стратегия провайдера кластера (одно из: 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. Специализированные наборы ниже опциональны и нужны только для отдельных сценариев.

Проект Опциональный набор инструментов Сценарии оценки

Helm

helm

3

Istio

kiali

5

Kiali

kiali

16

Kubernetes

-

32

KubeVirt

kubevirt, tekton

19

NetObserv

netobserv

4

Tekton

tekton

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. Каждая запись включает имя кластера и признак того, является ли он домашним кластером.

© 2026 meganuke