Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервер контекста модели AKS (MCP) позволяет помощникам ИИ взаимодействовать с кластерами Службы Azure Kubernetes (AKS) с ясностью, безопасностью и контролем. Он служит мостом между инструментами искусственного интеллекта (например, GitHub Copilot, Claude и другими помощниками по ИИ, совместимым с MCP) и AKS, переводя запросы естественного языка в операции AKS и возвращая результаты в формате, который может понять средства ИИ.
Сервер AKS MCP подключается к Azure с помощью пакета SDK Azure и предоставляет набор средств, которые помощники ИИ могут использовать для взаимодействия с ресурсами AKS. Эти средства позволяют агентам ИИ выполнять такие задачи, как:
- Устранение неполадок и диагностика
- Анализ работоспособности кластера
- Управление ресурсами AKS (CRUD)
- Получение сведений, связанных с кластерами AKS (виртуальные сети, подсети, группы безопасности сети (NSG), таблицы маршрутов и т. д.)
- Включение лучших практик и рекомендуемых функций
- Управление операциями Azure Fleet для сценариев с несколькими кластерами
Сервер AKS MCP — это проект с полностью открытым исходным кодом. Исходный код и выпуски см. в репозитории GITHUB AKS MCP.
Когда следует использовать сервер AKS MCP
Сервер AKS MCP можно использовать с любым совместимым помощником по искусственному интеллекту, включая агентический интерфейс командной строки для AKS и Microsoft Copilot. Распространенные варианты использования:
- Задавать вопросы помощникам с искусственным интеллектом, например:
- Почему поды находятся в ожидании в этом кластере?
- "Что такое конфигурация сети кластера AKS?"
- Создайте размещение для развертывания нагрузок nginx на кластеры с меткой app=frontend.
- Предоставление возможности средствам ИИ:
- Чтение состояния кластера и его конфигурации
- Проверка метрик, событий и журналов
- Корреляция сигналов между ресурсами Kubernetes и Azure
- Применение изменений и включение новых функций непосредственно в кластере
Все действия, выполняемые через сервер AKS MCP, ограничены kubernetes Role-Based контроль доступа (RBAC) и Azure RBAC. Сервер AKS MCP наследует ваши разрешения при доступе к кластеру и ресурсам Azure.
Доступные средства
Сервер AKS MCP предоставляет полный набор средств для взаимодействия с кластерами AKS и связанными ресурсами. По умолчанию сервер использует унифицированные средства (call_az для операций Azure и call_kubectl для операций Kubernetes), которые предоставляют более гибкий интерфейс для взаимодействия с ресурсами Kubernetes и Azure.
Существует три набора разрешений, которые можно включить для сервера AKS MCP: только для чтения (по умолчанию), чтение и запись, и администратора. Для некоторых инструментов требуются разрешения на чтение и запись или административные для выполнения таких действий, как развертывание отладочных pod-модулей или операции CRUD в кластере. Чтобы включить разрешения на чтение-запись или администрирование для сервера AKS-MCP, добавьте параметр уровня доступа в файл конфигурации MCP.
- Перейдите к файлуmcp.json или перейдите в MCP: List Servers —> AKS-MCP —> показать сведения о конфигурации в палитре команд (для VS Code;
Ctrl+Shift+Pв Windows/Linux илиCmd+Shift+PmacOS). - В разделе "args" AKS-MCP добавьте следующие параметры: "--access-level", "readwrite" или "admin"
Рассмотрим пример.
"args": [
"--access-level",
"readwrite"
]
Эти средства предназначены для обеспечения комплексной функциональности с помощью унифицированных интерфейсов:
Операции инструмента Azure CLI (унифицированное средство)
Инструмент:call_az
Единое средство для выполнения команд Azure CLI напрямую. Это средство предоставляет гибкий интерфейс для выполнения любой команды Azure CLI.
Параметры:
-
cli_command: полная команда для выполнения в Azure CLI. Например,az aks list --resource-group myRGилиaz vm list --subscription <sub-id>. -
timeout: необязательное время ожидания в секундах (по умолчанию: 120)
Пример использования:
{
"cli_command": "az aks list --resource-group myResourceGroup --output json"
}
контроль доступа:
- readonly: разрешены только операции чтения
- readwrite/admin: разрешены операции чтения и записи
Это важно
Команды должны быть простыми вызовами Azure CLI без таких функций оболочки, как каналы (|), перенаправления (>, <), подстановка команд или точка с запятой (;).
Операции Kubernetes (унифицированный инструмент)
Унифицированное средство kubectl
Инструмент:call_kubectl
Единое средство для выполнения команд kubectl напрямую. Это средство предоставляет гибкий интерфейс для выполнения любой команды с полной kubectl поддержкой аргументов.
Параметры:
-
args: аргументы команды kubectl. Например,get pods,describe node mynodeилиapply -f deployment.yaml.
Пример использования:
{
"args": "get pods -n kube-system -o wide"
}
Управление доступом: Операции ограничены на основе настроенного уровня доступа:
- readonly: разрешены только операции чтения (получение, описание, логи и т. д.)
- readwrite/admin: все операции, включая изменение команд (создание, удаление, применение и т. д.)
Штурвал
Инструмент:call_helm
Диспетчер пакетов Helm для Kubernetes.
Cilium
Инструмент:call_cilium
Cilium CLI для сети и безопасности на основе eBPF.
Хаббл
Инструмент:call_hubble
Наблюдаемость сети Hubble для Cilium.
Управление сетевыми ресурсами
Инструмент:aks_network_resources
Унифицированное средство для получения сведений о сетевом ресурсе Azure, используемых кластерами AKS.
Доступные типы ресурсов:
-
all: получение сведений обо всех сетевых ресурсах -
vnet: сведения о виртуальной сети -
subnet: сведения о подсети -
nsg: сведения о группе безопасности сети -
route_table: информация о таблице маршрутизации -
load_balancer: сведения о Балансировщике нагрузки -
private_endpoint: сведения о частной конечной точке
Мониторинг и диагностика
Инструмент:aks_monitoring
Единое средство для операций мониторинга и диагностики Azure для кластеров AKS.
Доступные операции:
-
metrics: список значений метрик ресурсов -
resource_health: получение событий работоспособности ресурсов для кластеров AKS -
app_insights: выполнение запросов KQL к данным телеметрии Application Insights -
diagnostics: Проверьте, настроены ли параметры диагностики для кластера AKS. -
control_plane_logs: запрос журналов плоскости управления AKS с ограничениями безопасности и проверкой диапазона времени
Вычислительные ресурсы
Инструмент:get_aks_vmss_info
- Получение подробной конфигурации масштабируемых наборов виртуальных машин (пулов узлов) в кластере AKS
Управление флотом
Инструмент:az_fleet
Комплексное управление флотом Azure для сценариев с несколькими кластерами.
Доступные операции:
- Операции с флотом: список, отображение, создание, обновление, удаление, получение учетных данных
- Операции-члены: список, отображение, создание, обновление, удаление
- Обновление операций выполнения: список, отображение, создание, запуск, остановка, удаление
- Операции с стратегией обновления: список, отображение, создание, удаление
- ClusterResourcePlacement Operations: список, показать, получить, создать, удалить
Поддерживает операции управления флотом Azure и Кластера Kubernetes ClusterResourcePlacement CRD.
Детекторы диагностики
Инструмент:aks_detector
Унифицированное средство для выполнения операций детектора диагностики AKS.
Доступные операции:
-
list: список всех доступных детекторов кластеров AKS -
run: запуск определенного детектора диагностики AKS -
run_by_category: запуск всех детекторов в определенной категории
Параметры:
-
operation(обязательно): операция выполнения (list,runилиrun_by_category) -
aks_resource_id(обязательно): идентификатор ресурса кластера AKS -
detector_name(требуется дляrunоперации): имя детектора для запуска -
category(требуется дляrun_by_categoryоперации): категория детектора -
start_time(требуется для выполнения операцийrunиrun_by_category): время начала в формате UTC ISO (в течение последних 30 дней) -
end_time(требуется для выполнения операцийrunиrun_by_category): время окончания в формате UTC ISO (в пределах последних 30 дней, не более чем за 24 часа с момента начала)
Доступные категории:
- Лучшие практики
- Доступность и производительность кластера и плоскости управления.
- Проблемы с подключением
- Создание, обновление, удаление и масштабирование
- Устаревание
- Идентификация и безопасность
- Состояние узлов
- Storage
Пример использования:
Инструмент:run_detectors_by_category
{
"operation": "list",
"aks_resource_id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ContainerService/managedClusters/xxx"
}
{
"operation": "run",
"aks_resource_id": "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.ContainerService/managedClusters/xxx",
"detector_name": "node-health-detector",
"start_time": "2025-01-15T10:00:00Z",
"end_time": "2025-01-15T12:00:00Z"
}
Помощник по Azure
Инструмент:aks_advisor_recommendation
Получение рекомендаций помощника по Azure и управление ими для кластеров AKS.
Доступные операции:
-
list: вывод списка рекомендаций с параметрами фильтрации -
report: создание рекомендательных отчетов - Параметры фильтра: resource_group, cluster_names, категория (затраты, высокая доступность, производительность, безопасность), серьезность (высокий, средний, низкий)
Наблюдаемость в режиме реального времени
Инструмент:inspektor_gadget_observability
Средство отслеживания в режиме реального времени для кластеров Службы Azure Kubernetes (AKS) с помощью eBPF.
Доступные действия:
-
deploy: Разверните Inspektor Gadget в кластере -
undeploy: удаление гаджета Inspektor из кластера -
is_deployed: проверка состояния развертывания -
run: запуск однократных гаджетов -
start: непрерывный запуск устройств -
stop: остановка запуска гаджетов -
get_results: получение результатов гаджета -
list_gadgets: список доступных гаджетов
Доступные гаджеты:
-
observe_dns: мониторинг dns-запросов и ответов -
observe_tcp: мониторинг TCP-подключений -
observe_file_open: мониторинг операций файловой системы -
observe_process_execution: мониторинг выполнения процесса -
observe_signal: мониторинг доставки сигналов -
observe_system_calls: мониторинг системных вызовов -
top_file: наиболее активные файлы по операциям ввода-вывода -
top_tcp: основные TCP-подключения по трафику -
tcpdump: захват сетевых пакетов
Начало работы с сервером AKS MCP
Сервер MCP работает на локальном компьютере и подключается к AKS с помощью существующих разрешений. Вы можете быстро настроить локальный агент ИИ с экспертизой и инструментарием AKS. Сервер использует текущий контекст кластера и применяет ваши разрешения Kubernetes и Azure RBAC.
Замечание
Начиная с версии 0.0.20 удаленные развертывания с Helm или контейнерами не поддерживаются. Используйте локальный двоичный файл.
Предпосылки
Перед установкой сервера AKS MCP настройте Azure CLI и выполните проверку подлинности:
az login
- Visual Studio Code с GitHub Copilot (рекомендуется)
- Установка двоичного файла вручную
- Установка пользовательского клиента
Самый простой способ начать работу с AKS-MCP — это расширение службы Azure Kubernetes для VS Code. Расширение AKS обрабатывает двоичные загрузки, обновления и конфигурацию автоматически, обеспечивая наличие последней версии с оптимальными параметрами.
Шаг 1. Установка расширения AKS
- Откройте VS Code и перейдите к расширениям (
Ctrl+Shift+Xв Windows/Linux илиCmd+Shift+Xв macOS). - Найдите службу Azure Kubernetes.
- Установите официальное расширение Microsoft AKS.
Шаг 2. Запуск сервера AKS-MCP
- Откройте палитру команд (
Ctrl+Shift+Pв Windows или Linux илиCmd+Shift+Pв macOS). - Поиск и запуск: AKS: Настройка СЕРВЕРА AKS MCP.
После успешной установки сервер отображается в MCP: список серверов (с помощью палитры команд). С этого момента можно запустить сервер MCP или просмотреть его состояние.
Шаг 3. Начало работы с AKS-MCP
После запуска сервер MCP появится в раскрывающемся списке "Чат Copilot: Настройка инструментов " в разделе MCP Server: AKS MCP, готовый к улучшению контекстных запросов в зависимости от среды AKS. По умолчанию все AKS-MCP серверные средства включены. Список доступных средств можно просмотреть и отключить любые, которые не требуются для вашего сценария.
Попробуйте выполнить запрос , например "Вывод списка всех кластеров AKS", чтобы начать использовать средства с сервера AKS-MCP.
Подсказка
Конфигурация WSL: если вы используете VS Code в Windows с WSL, используйте "command": "wsl" для вызова двоичного файла WSL. Если VS Code выполняется внутри WSL (Remote-WSL), вызовите двоичный файл напрямую или используйте оболочку bash.
Удаление сервера AKS MCP
VS Code с расширением AKS
- Откройте палитру команд (
Ctrl+Shift+Pв Windows или Linux илиCmd+Shift+Pв macOS). - Запустите MCP: список серверов.
- Выберите AKS MCP из списка.
- Выберите "Остановить сервер ", чтобы остановить запущенный сервер.
- Чтобы удалить конфигурацию, выберите "Удалить конфигурацию сервера".
Кроме того, вручную удалите конфигурацию сервера:
- Откройте
.vscode/mcp.jsonфайл или пользовательские настройки VS Code. -
aks-mcp-serverУдалите запись изserversобъекта илиgithub.copilot.chat.mcp.serversобъекта. - Удалите двоичный файл AKS-MCP из системы (расположение зависит от метода установки).
Другие клиенты MCP
aks или aks-mcp удалите этот элемент из файла конфигурации клиента MCP (например, для Claude Desktop claude_desktop_config.json).
Распространенные проблемы и устранение неполадок
В этом разделе описаны распространенные проблемы установки и среды выполнения, их симптомы и способы их устранения.
Сервер AKS MCP не может получить доступ к кластеру
Симптомы
- Инструменты возвращают ошибки авторизации
- Ресурсы не отображаются
Вероятные причины:
- У пользователя нет достаточных разрешений
- Контекст kubeconfig неправильно настроен
Резолюция:
- Убедитесь, что у вас есть достаточные разрешения для доступа к кластеру. Убедитесь, что вы находитесь в правильном кластере и контексте подписки.
Дальнейшие шаги
Дополнительные сведения об интеллектуальных функциях, созданных в собственном коде для AKS:
- Сведения об агентическом интерфейсе командной строки для AKS
- Установка и использование агентского CLI для AKS