Ajudar a melhorar esta página
Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.
Referência de ferramentas de servidor MCP do Amazon EKS
O servidor disponibiliza as ferramentas do MCP
nota
O servidor MCP do Amazon EKS está em versão de pré-visualização para o Amazon EKS e está sujeito a alterações.
Ferramentas somente leitura
Esta seção descreve as ferramentas destinadas somente à leitura disponíveis para o servidor MCP do EKS. Lembre-se de que todas as operações de leitura da API do Kubernetes podem acessar tanto:
-
Clusters privados (consulte Endpoint privado do cluster)
-
Clusters públicos
search_eks_documentation
Realize pesquisas na documentação do EKS para obter informações e orientações atualizadas. Esta ferramenta fornece acesso à documentação mais recente do EKS, incluindo os novos recursos e as últimas melhorias que podem ser desconhecidos pelos agentes.
Parâmetros:
-
query (obrigatório): sua dúvida específica ou consulta de pesquisa relacionada à documentação, aos recursos ou às práticas recomendadas do EKS.
-
limit (opcional): quantidade máxima de resultados da documentação que devem ser retornados (1 a 10). Padrão: 5.
search_eks_troubleshooting_guide
Pesquisa no guia de solução de problemas do EKS para encontrar informações de depuração com base em uma consulta. Auxilia na identificação de problemas recorrentes e oferece instruções detalhadas para resolução.
Parâmetros:
-
query (obrigatório): sua dúvida específica ou descrição do problema relacionada à solução de problemas do EKS.
describe_eks_resource
Recupera informações detalhadas sobre um recurso específico do cluster de EKS, incluindo a configuração, o status e os metadados.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS (obrigatório para recursos com escopo de cluster).
-
resource_type (obrigatório): o tipo de recurso do EKS que será descrito. Valores válidos:
-
accessentry (requer cluster_name e resource_name como principalArn).
-
addon (requer cluster_name e resource_name como nome do addon).
-
cluster (requer cluster_name), nodegroup (requer cluster_name e resource_name como nome do nodegroup).
-
resource_name (opcional): nome do recurso específico que será descrito (obrigatório para a maioria dos tipos de recurso).
list_eks_resources
Lista os recursos do EKS de um determinado tipo, fornecendo um resumo de todos os recursos do tipo especificado que estão acessíveis.
Parâmetros:
-
resource_type (obrigatório): o tipo de recurso do EKS que será listado. Valores válidos:
-
accessentry (requer cluster_name).
-
addon (requer cluster_name).
-
cluster (nenhum parâmetro adicional é requerido).
-
nodegroup (requer cluster_name).
-
cluster_name (opcional): nome do cluster de EKS (obrigatório para recursos com escopo de cluster).
get_eks_insights
Obtém insights e recomendações do cluster de EKS voltados para a otimização. Fornece insights acionáveis para segurança, performance e otimização de custos com base nas práticas recomendadas da AWS e na análise do cluster.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS.
-
category (opcional): categoria opcional para filtrar os insights (por exemplo, “MISCONFIGURATION” ou “UPGRADE_READINESS”).
-
insight_id (opcional): ID opcional de um insight específico sobre o qual se deseja obter informações.
-
next_token (opcional): token opcional de paginação para acessar o próximo conjunto de resultados.
get_eks_vpc_config
Obtém as configurações da VPC de um cluster de EKS, abrangendo sub-redes, tabelas de rotas e conectividade de rede.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS para o qual se deseja obter a configuração da VPC.
-
vpc_id (opcional): ID da VPC específica para consulta (como é opcional, caso não seja informado, será utilizada a VPC do cluster).
get_k8s_events
Obtém eventos do Kubernetes relacionados a recursos específicos para solução de problemas e monitoramento.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS em que o recurso está localizado.
-
kind (obrigatório): tipo do objeto envolvido (por exemplo, “Pod”, “Deployment” e “Service”). Deve corresponder exatamente ao tipo do recurso.
-
name (obrigatório): nome do objeto envolvido do qual se deseja obter os eventos.
-
namespace (opcional): namespace do objeto envolvido. Obrigatório para recursos vinculados a um namespace (como Pods e Deployments). Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).
get_pod_logs
Recupera logs de pods em um cluster de EKS com opções de filtragem.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS em que o pod está sendo executado.
-
namespace (obrigatório): namespace do Kubernetes em que o pod está localizado.
-
pod_name (obrigatório): nome do pod do qual se deseja recuperar os logs.
-
container_name (opcional): nome do contêiner específico do qual se deseja obter os logs. Obrigatório apenas se o pod contiver vários contêineres.
-
limit_bytes (opcional): número máximo de bytes a serem retornados. Padrão: 10 KB (10.240 bytes).
-
previous (opcional): retorna os logs do contêiner anterior que foi encerrado (o padrão é “false”). Útil para obter logs de pods que estão sendo reiniciados.
-
since_seconds (opcional): retorna somente os logs mais recentes do que a quantidade de segundos definida. Útil para obter logs recentes sem recuperar todo o histórico.
-
tail_lines (opcional): número de linhas a serem retornadas do final dos logs. Padrão: 100.
list_api_versions
Lista todas as versões de API disponíveis no cluster do Kubernetes especificado.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS.
list_k8s_resources
Lista recursos do Kubernetes de um tipo específico em um cluster de EKS.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS em que os recursos estão localizados.
-
kind (obrigatório): o tipo dos recursos do Kubernetes a serem listados (por exemplo, “Pod”, “Service” e “Deployment”). Use a ferramenta
list_api_versionspara localizar os tipos de recursos disponíveis. -
api_version (obrigatório): versão da API dos recursos do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”). Use a ferramenta
list_api_versionspara localizar as versões da API disponíveis. -
field_selector (opcional): seletor de campos para filtrar recursos (por exemplo, “metadata.name=mypod,status.phase=Running”). Usa a mesma sintaxe da sinalização “--field-selector” do kubectl.
-
label_selector (opcional): seletor de rótulos para a filtragem de recursos (por exemplo, “app=nginx,tier=frontend”). Usa a mesma sintaxe da sinalização
--selectordo kubectl. -
namespace (opcional): namespace dos recursos do Kubernetes a serem listados. Se não for informado, os recursos serão listados em todos os namespaces (para recursos vinculados a um namespace).
read_k8s_resource
Obtém informações detalhadas sobre um recurso específico do Kubernetes em um cluster de EKS.
Parâmetros:
-
api_version (obrigatório): versão da API do recurso do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”).
-
cluster_name (obrigatório): nome do cluster de EKS em que o recurso está localizado.
-
kind (obrigatório): tipo do recurso do Kubernetes (por exemplo, “Pod”, “Service” e “Deployment”).
-
name (obrigatório): nome do recurso do Kubernetes destinado à leitura.
-
namespace (opcional): namespace do recurso do Kubernetes. Obrigatório para recursos vinculados a um namespace. Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).
generate_app_manifest
Gera manifestos padronizados de “deployment” e “service” do Kubernetes para aplicações conteinerizadas.
Parâmetros:
-
app_name (obrigatório): nome da aplicação. Usado para nomes de implantação e de serviços, bem como para rótulos.
-
image_uri (obrigatório): URI completo da imagem no ECR com uma etiqueta (por exemplo, “123456789012.dkr.ecr.region.amazonaws.com/repo:tag”). É necessário informar o caminho completo do repositório seguido da etiqueta.
-
load_balancer_scheme (opcional): tipo de esquema do AWS Load Balancer. Valores válidos:
-
“interno” (somente para VPC privada)
-
“voltado para a internet” (acesso público)
-
Padrão: “interno”.
-
cpu (opcional): solicitação de CPU para cada contêiner (por exemplo, “100 m” para 0,1 núcleos de CPU, “500 m” para meio núcleo). Padrão: “100 m”.
-
memory (opcional): solicitação de memória para cada contêiner (por exemplo, “128 Mi” para 128 MiB, “1 Gi” para 1 GiB). Padrão: “128 Mi”.
-
namespace (opcional): namespace do Kubernetes no qual a aplicação será implantada. Padrão: “padrão”.
-
port (opcional): porta do contêiner configurada para receber o tráfego da aplicação. Padrão: 80
-
replicas (opcional): número de réplicas a serem implantadas. Padrão: 2
get_cloudwatch_logs
Realiza consultas nos logs do CloudWatch com filtros personalizados baseados nos parâmetros informados e suporte aos grupos de logs padrão para a observabilidade do cluster de EKS.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS em que o recurso está localizado. Usado para criar o nome do grupo de logs do CloudWatch.
-
resource_type (obrigatório): tipo de recurso para o qual se deseja pesquisar por logs. Valores válidos: “pod”, “node”, “container” ou “cluster”. Determina o critério de filtragem dos logs.
-
log_type (obrigatório): tipo de log destinado à consulta. Valores válidos:
-
“application”: logs de aplicação e de contêiner.
-
“host”: logs do sistema no nível do nó.
-
performance”: logs de métricas de performance.
-
“control-plane”: logs do ambiente de gerenciamento do EKS.
-
“your-log-group-name”: informe diretamente um nome personalizado para o grupo de logs do CloudWatch.
-
resource_name (opcional): nome do recurso que você deseja pesquisar nos registros de log (por exemplo, o nome do pod, do nó ou do contêiner). Usado para filtrar os logs referentes a esse recurso específico.
-
minutes (opcional): quantidade de minutos retroativos para a busca de logs. Padrão: 15. Este parâmetro será desconsiderado caso o “start_time” seja informado. Use valores baixos para investigar problemas atuais e valores mais altos para realizar uma análise do histórico.
-
start_time (opcional): horário de início no formato ISO (por exemplo, “2023-01-01T00:00:00Z”). Se for fornecido, substitui o parâmetro “minutes”.
-
end_time (opcional): horário de término no formato ISO (por exemplo, “2023-01-01T01:00:00Z”). Se não for informado, o padrão é o horário atual.
-
fields (opcional): campos personalizados para incluir nos resultados da consulta (o padrão é “@timestamp, @message”). Use a sintaxe de campos do CloudWatch Logs Insights.
-
filter_pattern (opcional): padrão de filtragem adicional do CloudWatch Logs a ser aplicado. Usa a sintaxe do CloudWatch Logs Insights (por exemplo, “ERROR” e “field=value”).
-
limit (opcional): número máximo de entradas de log a serem retornadas. Use valores baixos (10 a 50) para consultas mais rápidas e valores altos (100 a 1.000) para resultados mais abrangentes. Valores mais altos podem afetar o desempenho.
get_cloudwatch_metrics
Obtém métricas e pontos de dados do CloudWatch para monitoramento e análise da performance de clusters de EKS. Gerencia métricas do Container Insights e métricas personalizadas, além de períodos de tempo e dimensões configuráveis.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS para o qual as métricas serão obtidas.
-
dimensions (obrigatório): dimensões a serem utilizadas na consulta de métricas do CloudWatch, fornecidas como uma string JSON. Deve incluir as dimensões apropriadas para o tipo de recurso e a métrica (por exemplo, “{“ClusterName”: “my-cluster”, “PodName”: “my-pod”, “Namespace”: “default”}”).
-
metric_name (obrigatório): nome da métrica a ser recuperada. Exemplos comuns:
-
cpu_usage_total: uso total de CPU -
memory_rss: uso de memória “Resident Set Size” (RSS) -
network_rx_bytes: bytes de rede recebidos -
network_tx_bytes: bytes de rede transmitidos -
namespace (obrigatório): namespace do CloudWatch em que a métrica está armazenada. Valores comuns:
-
"ContainerInsights": para métricas de contêiner -
"AWS/EC2": para métricas de instâncias do EC2 -
"AWS/EKS": para métricas do ambiente de gerenciamento do EKS -
minutes (opcional): quantidade de minutos retroativos para a busca de métricas. Padrão: 15. Este parâmetro será desconsiderado caso o “start_time” seja informado.
-
start_time (opcional): horário de início no formato ISO (por exemplo, “2023-01-01T00:00:00Z”). Se for fornecido, substitui o parâmetro “minutes”.
-
end_time (opcional): horário de término no formato ISO (por exemplo, “2023-01-01T01:00:00Z”). Se não for informado, o padrão é o horário atual.
-
limit (opcional): número máximo de pontos de dados a serem retornados. Valores mais altos (100 a 1.000) oferecem maior detalhamento dos dados, mas podem afetar a performance da consulta. Padrão: 50.
-
period (opcional): período em segundos para os pontos de dados da métrica. Valor padrão: 60 (1 minuto). Valores baixos (1 a 60) oferecem alta resolução, embora possam ter menor disponibilidade.
-
stat (opcional): estatística a ser usada para a agregação da métrica. Padrão: “Average”. Valores válidos:
-
Average: valor médio durante o período -
Sum:: valor total durante o período -
Maximum: valor máximo atingido no período -
Minimum: valor mínimo atingido no período -
SampleCount: quantidade de amostras coletadas no período
get_eks_metrics_guidance
Obtém orientações sobre métricas do CloudWatch para tipos de recursos específicos em clusters de EKS. Útil para o agente ao determinar as dimensões corretas a serem usadas com a ferramenta “get_cloudwatch_metrics”.
Parâmetros:
-
resource_type (obrigatório): tipo de recurso para o qual se deseja obter orientações relacionadas às métricas (“cluster”, “node”, “pod”, “namespace” e “service”).
get_policies_for_role
Recupera todas as políticas anexadas a um perfil do IAM especificado, incluindo a política de assumir perfil, as políticas gerenciadas e as políticas em linha.
Parâmetros:
-
role_name (obrigatório): nome do perfil do IAM para o qual se deseja obter as políticas. O perfil deve existir em sua conta da AWS.
Ferramentas de acesso total (gravação)
Esta seção descreve as ferramentas destinadas somente à leitura disponíveis para o servidor MCP do EKS. Lembre-se de que, até o momento, todas as operações de gravação da API do Kubernetes podem acessar apenas:
-
Clusters públicos (endpointPublicAccess=true)
manage_k8s_resource
Gerencia um único recurso do Kubernetes por meio de operações de gravação (criar, atualizar, aplicar patches ou excluir).
Parâmetros:
-
operation (obrigatório): operação a ser realizada no recurso. Valores válidos:
-
create:: cria um novo recurso -
replace: substitui um recurso existente -
patch: atualiza campos específicos de um recurso existente -
delete: exclui um recurso existente -
Observação: use “read_k8s_resource” para a consulta de recursos e “list_k8s_resources” para obter uma lista com vários recursos de uma vez.
-
cluster_name (obrigatório): nome do cluster de EKS em que o recurso está localizado ou será criado.
-
kind (obrigatório): tipo do recurso do Kubernetes (por exemplo, “Pod”, “Service” e “Deployment”).
-
api_version (obrigatório): versão da API do recurso do Kubernetes (por exemplo, “v1”, “apps/v1” e “networking.k8s.io/v1”).
-
body (opcional): definição do recurso como uma string JSON. Obrigatório para operações de criação, substituição e aplicação de patches. Para a criação e a substituição, deve ser usada uma definição completa do recurso. Para a aplicação de patches, deve conter apenas os campos a serem atualizados.
-
name (opcional): nome do recurso do Kubernetes. Obrigatório em todas as operações, menos a operação de criação (visto que pode ser informado no próprio corpo).
-
namespace (opcional): namespace do recurso do Kubernetes. Obrigatório para recursos vinculados a um namespace. Não é necessário para recursos de escopo de cluster (como Nodes e PersistentVolumes).
apply_yaml
Aplica manifestos YAML do Kubernetes a um cluster de EKS.
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS em que os recursos serão criados ou atualizados.
-
namespace (obrigatório): namespace do Kubernetes ao qual os recursos serão aplicados. Será usado para recursos vinculados a namespaces que não especifiquem um namespace próprio.
-
yaml_content (obrigatório): conteúdo YAML a ser aplicado ao cluster. Pode conter vários documentos separados por “---”.
-
force (opcional): indica se os recursos devem ser atualizados caso já existam (semelhante ao “kubectl apply”). Defina como “false” para apenas criar novos recursos.
manage_eks_stacks
Gerencia pilhas do CloudFormation para o EKS com operações para gerar modelos, implantar, descrever e excluir clusters de EKS e a infraestrutura subjacente. A criação do cluster normalmente demora de 15 a 20 minutos para ser concluída. Para operações de implantação e exclusão, a pilha deve ter sido criada por esta ferramenta (ou seja, marcada com a etiqueta “CreatedBy=EksMcpServer”).
Parâmetros:
-
cluster_name (obrigatório): nome do cluster de EKS (para operações de geração, implantação, descrição e exclusão). Este nome será usado para derivar o nome da pilha do CloudFormation e será incorporado aos recursos do cluster.
-
operation (obrigatório): operação a ser realizada. Valores válidos:
-
generate: gerar um modelo do CloudFormation -
deploy: implantar uma pilha do CloudFormation (requertemplate_content) -
describe: descrever ou ler uma pilha do CloudFormation (somente leitura) -
delete: excluir uma pilha do CloudFormation -
template_content (opcional): conteúdo do modelo do CloudFormation (para operações de implantação). Deve ser o conteúdo completo do modelo em YAML ou JSON. Fornece suporte tanto a recursos únicos quanto a conteúdo YAML de vários documentos separados por “---”.
add_inline_policy
Adiciona uma nova política em linha a um perfil do IAM.
Parâmetros:
-
permissions (obrigatório): permissões a serem incluídas na política como strings JSON que representam declarações da política do IAM. Pode ser uma única string JSON ou uma matriz de strings JSON.
-
policy_name (obrigatório): Nome da política em linha a ser criada. Deve ser exclusivo dentro do perfil.
-
role_name (obrigatório): nome do perfil do IAM ao qual a política será adicionada. O perfil deve existir.