Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O servidor MCP (Protocolo de Contexto de Modelo do AKS) permite que os assistentes de IA interajam com clusters do AKS (Serviço de Kubernetes do Azure) com clareza, segurança e controle. Ele serve como uma ponte entre ferramentas de IA (como GitHub Copilot, Claude e outros assistentes de IA compatíveis com MCP) e AKS, traduzindo solicitações de linguagem natural em operações do AKS e retornando os resultados em um formato que as ferramentas de IA podem entender.
O servidor MCP do AKS se conecta ao Azure usando o SDK do Azure e fornece um conjunto de ferramentas que os assistentes de IA podem usar para interagir com os recursos do AKS. Essas ferramentas permitem que os agentes de IA executem tarefas como:
- Solução de problemas e diagnóstico
- Analisar a saúde do cluster
- Operar (CRUD) recursos do AKS
- Recuperar detalhes relacionados a clusters do AKS (VNets, Sub-redes, NSGs (Grupos de Segurança de Rede), Tabelas de Rotas etc.)
- Habilitando práticas recomendadas e recursos recomendados
- Gerenciar operações da Frota do Azure para cenários de vários clusters
O servidor MCP do AKS é um projeto de software livre completo, com modelos de exemplo e configurações do Helm disponíveis no repositório GitHub.
Quando usar o servidor MCP do AKS
O servidor MCP do AKS pode ser usado com qualquer assistente de IA compatível, incluindo a CLI agentic do AKS e o Microsoft Copilot. Os casos de uso comuns incluem:
- Fazer perguntas aos assistentes de IA como:
- Por que os pods estão pendentes neste cluster?
- "Qual é a configuração de rede do meu cluster do AKS?"
- Crie um posicionamento para implantar cargas de trabalho nginx em clusters com o rótulo app=front-end.
- Permitindo que as ferramentas de IA:
- Ler o estado e a configuração do cluster
- Inspecionar métricas, eventos e logs
- Correlacionar sinais entre recursos do Kubernetes e do Azure
- Aplicar alterações e habilitar novos recursos diretamente em seu cluster
Todas as ações executadas por meio do servidor MCP do AKS são restritas pelo RBAC (Controle de Acesso Role-Based do Kubernetes) e pelo RBAC do Azure. Por padrão, o servidor MCP do AKS herda as permissões do usuário ao acessar o cluster e os recursos do Azure. Para personalizar as funções e as permissões do servidor AKS MCP, implante o modo de servidor MCP remoto do AKS com controle RBAC integrado.
Ferramentas disponíveis
O servidor MCP do AKS fornece um conjunto abrangente de ferramentas para interagir com clusters do AKS e recursos associados. Por padrão, o servidor usa ferramentas unificadas (call_az para operações do Azure e call_kubectl para operações do Kubernetes), que fornecem uma interface mais flexível para interagir com recursos do Kubernetes e do Azure.
Há três conjuntos de permissões que você pode habilitar para o servidor MCP do AKS: somente leitura (padrão), leitura e gravação, e administrador. Algumas ferramentas exigem permissões de leitura e gravação ou administrador para executar ações como a implantação de pods de depuração ou ações CRUD em seu cluster. Para habilitar permissões de leitura/gravação ou administrador para o servidor AKS-MCP, adicione o parâmetro de nível de acesso ao arquivo de configuração do MCP:
- Navegue até o arquivo mcp.json ou vá para MCP: Listar Servidores –> AKS-MCP –> Mostrar Detalhes de Configuração na Paleta de Comandos (para VS Code;
Ctrl+Shift+Pno Windows/Linux ouCmd+Shift+Pno macOS). - Na seção "args" do AKS-MCP, adicione os seguintes parâmetros: "--access-level", "readwrite" ou "admin"
Por exemplo:
"args": [
"--transport",
"stdio",
"--access-level",
"readwrite"
]
Essas ferramentas foram projetadas para fornecer funcionalidade abrangente por meio de interfaces unificadas:
Operações da CLI do Azure (Ferramenta Unificada)
Ferramenta:call_az
Ferramenta unificada para executar comandos da CLI do Azure diretamente. Essa ferramenta fornece uma interface flexível para executar qualquer comando da CLI do Azure.
Parâmetros:
-
cli_command: o comando completo da CLI do Azure para execução. Por exemplo,az aks list --resource-group myRGouaz vm list --subscription <sub-id>. -
timeout: tempo limite opcional em segundos (padrão: 120)
Uso de exemplo:
{
"cli_command": "az aks list --resource-group myResourceGroup --output json"
}
Controle de Acesso:
- readonly: somente operações de leitura são permitidas
- readwrite/admin: as operações de leitura e gravação são permitidas
Importante
Os comandos devem ser invocações simples da CLI do Azure sem recursos de shell, como pipes (|), redirecionamentos (>, <), substituição de comando ou ponto-e-vírgula (;).
Operações do Kubernetes (Ferramenta Unificada)
Ferramenta unificada kubectl
Ferramenta:call_kubectl
Ferramenta unificada para executar comandos kubectl diretamente. Essa ferramenta fornece uma interface flexível para executar qualquer kubectl comando com suporte completo ao argumento.
Parâmetros:
-
args: os argumentos do comando kubectl. Por exemplo,get pods,describe node mynodeouapply -f deployment.yaml.
Uso de exemplo:
{
"args": "get pods -n kube-system -o wide"
}
Controle de acesso: As operações são restritas com base no nível de acesso configurado:
- readonly: somente operações de leitura (get, describe, logs etc.) são permitidas
- readwrite/admin: todas as operações, incluindo comandos de mutação (criar, excluir, aplicar etc.)
Helm
Ferramenta:call_helm
Gerenciador de pacotes Helm para Kubernetes.
Cilium
Ferramenta:call_cilium
CLI do Cilium para rede e segurança baseadas em eBPF.
Hubble
Ferramenta:call_hubble
Observabilidade da rede Hubble para o Cilium.
Gerenciamento de Recursos de Rede
Ferramenta:aks_network_resources
Ferramenta unificada para obter informações de recursos de rede do Azure usadas por clusters do AKS.
Tipos de recursos disponíveis:
-
all: obter informações sobre todos os recursos de rede -
vnet: informações de rede virtual -
subnet: informações de sub-rede -
nsg: informações do Grupo de Segurança de Rede -
route_table: informações da tabela de rotas -
load_balancer: informações do Load Balancer -
private_endpoint: informações sobre o endpoint privado
Monitoramento e diagnóstico
Ferramenta:aks_monitoring
Ferramenta unificada para operações de diagnóstico e monitoramento do Azure para clusters do AKS.
Operações disponíveis:
-
metrics: listar valores de métricas para recursos -
resource_health: obter eventos de integridade de recursos para clusters do AKS -
app_insights: executar consultas KQL em dados de telemetria do Application Insights -
diagnostics: verifique se o cluster do AKS tem configurações de diagnóstico configuradas -
control_plane_logs: consultar os logs do plano de controle do AKS com limitações de segurança e validação do intervalo de tempo
Recursos de computação
Ferramenta:get_aks_vmss_info
- Obter uma configuração detalhada dos conjuntos de dimensionamento de máquinas virtuais (pools de nós) no cluster do AKS
Gerenciamento de Frotas
Ferramenta:az_fleet
Gerenciamento abrangente da Frota do Azure para cenários de vários clusters.
Operações disponíveis:
- Operações de Frota: listar, mostrar, criar, atualizar, excluir, obter credenciais
- Operações de Membro: listar, mostrar, criar, atualizar, excluir
- Atualizar Operações de Execução: listar, mostrar, criar, iniciar, parar, excluir
- Atualizar Operações de Estratégia: listar, mostrar, criar, excluir
- Operações clusterResourcePlacement: listar, mostrar, obter, criar, excluir
Dá suporte ao gerenciamento da Frota do Azure e às operações de CRD do ClusterResourcePlacement do Kubernetes.
Detectores de Diagnóstico
Ferramenta:aks_detector
Ferramenta unificada para executar operações do detector de diagnóstico do AKS.
Operações disponíveis:
-
list: listar todos os detectores de cluster do AKS disponíveis -
run: executar um detector de diagnóstico específico do AKS -
run_by_category: executar todos os detectores em uma categoria específica
Parâmetros:
-
operation(obrigatório): Operação a ser executada (list,runourun_by_category) -
aks_resource_id(obrigatório): ID do recurso de cluster do AKS -
detector_name(necessário pararunoperação): nome do detector a ser executado -
category(necessário para orun_by_categoryfuncionamento): Categoria do detector -
start_time(necessário para operaçõesrunerun_by_category): Horário de início no formato UTC ISO (desde os últimos 30 dias) -
end_time(necessário pararunerun_by_categoryoperações): Hora de término no formato UTC ISO (nos últimos 30 dias, no máximo 24 horas desde o início)
Categorias disponíveis:
- Práticas recomendadas
- Disponibilidade e desempenho do clúster e plano de controle
- Problemas de conectividade
- Criar, atualizar, excluir e dimensionar
- Desativações
- Identidade e segurança
- Integridade do Nó
- Armazenamento
Uso de exemplo:
Ferramenta: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"
}
Assistente do Azure
Ferramenta:aks_advisor_recommendation
Recupere e gerencie as recomendações do Assistente do Azure para clusters do AKS.
Operações disponíveis:
-
list: listar recomendações com opções de filtragem -
report: gerar relatórios de recomendação - Opções de filtro: resource_group, cluster_names, categoria (Custo, HighAvailability, Desempenho, Segurança), gravidade (Alta, Média, Baixa)
Observabilidade em tempo real
Ferramenta:inspektor_gadget_observability
Ferramenta de observabilidade em tempo real para clusters do AKS (Serviço de Kubernetes do Azure) usando eBPF.
Ações Disponíveis:
-
deploy: implantar o Inspektor Gadget no cluster -
undeploy: remover o Inspector Gadget do cluster -
is_deployed: verificar o status da implantação -
run: executar gadgets únicos -
start: iniciar gadgets contínuos -
stop: pare de executar gadgets -
get_results: Recuperar resultados do dispositivo -
list_gadgets: listar gadgets disponíveis
Gadgets disponíveis:
-
observe_dns: monitorar solicitações e respostas DNS -
observe_tcp: monitorar conexões TCP -
observe_file_open: monitorar operações do sistema de arquivos -
observe_process_execution: monitorar a execução do processo -
observe_signal: monitorar a entrega de sinal -
observe_system_calls: monitorar chamadas do sistema -
top_file: arquivos principais por operações de E/S -
top_tcp: principais conexões TCP por tráfego -
tcpdump: capturar pacotes de rede
Introdução ao servidor MCP do AKS
O servidor MCP do AKS tem dois modos: local e remoto. Nesta seção, abordaremos os casos de uso e os processos de instalação para ambos os modos.
Servidor MCP local
No modo local, o servidor MCP é executado no computador local de um desenvolvedor e se conecta ao AKS usando as permissões existentes do desenvolvedor. Esse modo é ideal para configurar rapidamente seu agente de IA local com a expertise e as ferramentas do AKS, sem a necessidade de componentes no lado do cluster. O modo local pode usar o contexto atual do cluster e impõe as permissões Kubernetes e Azure RBAC do desenvolvedor. Por padrão, o servidor MCP local do AKS dá suporte aos modos de transporte STDIO e SSE.
Pré-requisitos
Antes de instalar o servidor MCP do AKS, configure a CLI do Azure e autentique:
az login
- Visual Studio Code com GitHub Copilot (recomendado)
- Instalação binária manual
- Docker
- Instalação personalizada do cliente
A maneira mais fácil de começar a usar AKS-MCP é por meio da Extensão de Serviço de Kubernetes do Azure para VS Code. A extensão do AKS lida automaticamente com downloads binários, atualizações e configuração, garantindo que você sempre tenha a versão mais recente com configurações ideais.
Etapa 1: instalar a extensão do AKS
- Abra o VS Code e vá para Extensões (
Ctrl+Shift+Xno Windows/Linux ouCmd+Shift+Xno macOS). - Pesquise pelo Serviço de Kubernetes do Azure.
- Instale a extensão oficial do Microsoft AKS.
Etapa 2: iniciar o servidor AKS-MCP
- Abra a Paleta de Comandos (
Ctrl+Shift+Pno Windows/Linux ouCmd+Shift+Pno macOS). - Pesquisar e executar: AKS: Configurar o Servidor MCP do AKS.
Após a instalação bem-sucedida, o servidor aparece no MCP: Listar servidores (por meio da Paleta de Comandos). A partir daí, você pode iniciar o servidor MCP ou exibir seu status.
Etapa 3: Começar a usar o AKS-MCP
Uma vez iniciado, o servidor MCP aparece na lista suspensa Copilot Chat: Configurar Ferramentas em MCP Server: AKS MCP, pronto para aprimorar prompts contextuais com base no seu ambiente AKS. Por padrão, todas as ferramentas de servidor AKS-MCP estão habilitadas. Você pode examinar a lista de ferramentas disponíveis e desabilitar todas as que não são necessárias para seu cenário.
Tente um prompt como "Listar todos os meus clusters do AKS" para começar a usar ferramentas do servidor AKS-MCP.
Dica
Configuração do WSL: se você estiver usando o VS Code no Windows com WSL, use "command": "wsl" para invocar o binário WSL. Se o VS Code estiver sendo executado dentro do WSL (Remote-WSL), chame o binário diretamente ou use um Bash de wrapper.
Servidor MCP remoto
No modo remoto, o servidor MCP é executado como uma carga de trabalho dentro do cluster do AKS ou qualquer computação de sua escolha. Esse modo é melhor para ambientes de produção com ferramentas compartilhadas, permissões consistentes entre usuários e controle de acesso total usando o Kubernetes ServiceAccount e a Identidade de Carga de Trabalho. O servidor REMOTO DO AKS MCP usa o protocolo HTTP para facilitar as interações entre o assistente de IA e o cluster do AKS.
Pré-requisitos
- Cluster do AKS com Kubernetes 1.19+
- Helm 3.8+
- CLI do Azure instalada e autenticada (
az login)
Instale com o gráfico Helm
Clone o repositório e instale o gráfico Helm do AKS-MCP:
git clone https://github.com/Azure/aks-mcp.git
cd aks-mcp/chart
helm install aks-mcp . --namespace aks-mcp --create-namespace
Para obter a lista completa de parâmetros de configuração, consulte a documentação do gráfico do Helm.
Configurar autenticação
Escolha um método de autenticação com base em seus requisitos de ambiente e segurança:
- Identidade da carga de trabalho (recomendado)
- OAuth para Acesso de Leitura e Escrita
- Entidade de serviço com segredo existente
- Credenciais Diretas
A Identidade da Carga de Trabalho fornece autenticação sem senha vinculando um ServiceAccount do Kubernetes a uma Identidade Gerenciada do Azure.
1. Habilitar o OIDC no cluster do AKS
az aks update \
--resource-group <your-resource-group> \
--name <your-aks-cluster> \
--enable-oidc-issuer \
--enable-workload-identity
2. Criar uma Identidade Gerenciada e atribuir permissões RBAC
# Create identity
az identity create --resource-group <your-resource-group> --name aks-mcp-identity --location <your-location>
# Get IDs
IDENTITY_CLIENT_ID=$(az identity show --resource-group <your-resource-group> --name aks-mcp-identity --query "clientId" -o tsv)
IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group <your-resource-group> --name aks-mcp-identity --query "principalId" -o tsv)
# Assign Reader role (use Contributor for readwrite access)
az role assignment create --role "Reader" --assignee-object-id $IDENTITY_PRINCIPAL_ID --assignee-principal-type ServicePrincipal --scope "/subscriptions/<subscription-id>"
3. Criar uma credencial de identidade federada
AKS_OIDC_ISSUER=$(az aks show --resource-group <your-resource-group> --name <your-aks-cluster> --query "oidcIssuerProfile.issuerUrl" -o tsv)
az identity federated-credential create \
--name "aks-mcp-federated-credential" \
--identity-name aks-mcp-identity \
--resource-group <your-resource-group> \
--issuer $AKS_OIDC_ISSUER \
--subject "system:serviceaccount:aks-mcp:aks-mcp" \
--audience api://AzureADTokenExchange
Importante
Crie a credencial federada antes de instalar o Helm chart.
4. Instalar com a Identidade da carga de trabalho habilitada
helm install aks-mcp . \
--namespace aks-mcp \
--create-namespace \
--set workloadIdentity.enabled=true \
--set azure.clientId=$IDENTITY_CLIENT_ID \
--set azure.subscriptionId=<your-subscription-id>
Habilitar o Ingress com o Roteamento de Aplicativos do Azure
Exponha o servidor MCP externamente usando o Roteamento de Aplicativos do Azure:
# Enable App Routing on your cluster
az aks approuting enable --resource-group <your-resource-group> --name <your-cluster-name>
# Install with Ingress enabled
helm install aks-mcp . \
--namespace aks-mcp \
--create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=aks-mcp.example.com \
--set ingress.hosts[0].paths[0].path=/ \
--set ingress.hosts[0].paths[0].pathType=Prefix \
--set azure.existingSecret=azure-credentials
Conectar seu cliente MCP
Após a implantação, conecte o assistente de IA ao servidor MCP remoto:
# Port forward for local testing
kubectl port-forward svc/aks-mcp 8000:8000 -n aks-mcp
Configure seu cliente MCP para se conectar:
{
"mcpServers": {
"aks-mcp": {
"url": "http://localhost:8000",
"transport": "streamable-http"
}
}
}
Para acesso no interior do cluster, use: http://aks-mcp.aks-mcp.svc.cluster.local:8000
Referência de configuração do Helm
| Parâmetro | DESCRIÇÃO | Padrão |
|---|---|---|
workloadIdentity.enabled |
Habilitar Identidade de Carga de Trabalho do Azure | false |
azure.clientId |
ID do cliente do Azure | "" |
azure.tenantId |
ID de Locatário do Azure | "" |
azure.clientSecret |
Segredo do Cliente do Azure | "" |
azure.subscriptionId |
ID de assinatura do Azure | "" |
azure.existingSecret |
Usar um segredo do Kubernetes existente | "" |
app.accessLevel |
Nível de acesso: readonly, , readwriteadmin |
readonly |
app.transport |
Transporte: stdio, , ssestreamable-http |
streamable-http |
oauth.enabled |
Habilitar a autenticação OAuth | false |
ingress.enabled |
Habilitar Ingress | false |
Desinstalar o servidor MCP do AKS
O processo de desinstalação do servidor DO AKS MCP depende do modo de implantação e do local em que ele está sendo executado no momento.
VS Code com extensão do AKS
- Abra a Paleta de Comandos (
Ctrl+Shift+Pno Windows/Linux ouCmd+Shift+Pno macOS). - Executar MCP: Listar servidores.
- Selecione o AKS MCP na lista.
- Selecione Parar Servidor para interromper o servidor em execução.
- Para remover a configuração, selecione Excluir Configuração do Servidor.
Como alternativa, remova manualmente a configuração do servidor:
- Abra o
.vscode/mcp.jsonarquivo ou as configurações do usuário do VS Code. - Exclua a entrada
aks-mcp-serverdo objetoserversougithub.copilot.chat.mcp.servers. - Exclua o binário AKS-MCP do sistema (o local varia de acordo com o método de instalação).
Docker
Se estiver usando o Kit de Ferramentas do Docker MCP:
- Abra o Docker Desktop.
- Selecione MCP Toolkit na barra lateral esquerda.
- Localize o servidor AKS-MCP e desabilite-o.
Se estiver usando uma configuração em contêineres, pare e remova o contêiner:
docker stop <container-id>
docker rm <container-id>
Outros clientes MCP
Remova a entrada aks ou aks-mcp do seu arquivo de configuração do cliente MCP (por exemplo, Claude Desktop claude_desktop_config.json).
Problemas comuns e solução de problemas
Esta seção descreve problemas comuns de configuração e runtime, seus sintomas e como resolvê-los.
O servidor MCP do AKS não pode acessar o cluster
Sintomas:
- Ferramentas retornam erros de autorização
- Nenhum recurso está visível
Causas mais prováveis:
- A identidade do usuário ou do MCP não tem permissões suficientes
- Associação incorreta de ServiceAccount
- Contexto kubeconfig configurado incorretamente (modo local)
Resolução:
- Modo local: verifique se você tem permissões suficientes para acessar o cluster. Verifique se você está no cluster e no contexto de assinatura corretos.
- Modo remoto: verificar as associações ClusterRole para o ServiceAccount usado pelo servidor MCP
Falha nas chamadas à API do Azure
Sintomas:
- ferramentas call_az retornam erros de autenticação ou autorização
Causas mais prováveis:
- Identidade da carga de trabalho não habilitada para o seu cluster
- ServiceAccount não federado
- Atribuições de RBAC do Azure ausentes
Resolução:
- Verifique se a Identidade da Carga de Trabalho está habilitada em seu cluster
- Verificar a configuração de identidade federada
- Atribuir funções apropriadas do Azure à identidade gerenciada
Próximas etapas
Saiba mais sobre os recursos inteligentes criados nativamente para o AKS:
- Sobre a CLI agêntica para AKS
- Instalar e usar o agentic CLI para AKS