Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Referencia de herramientas del servidor MCP de Amazon EKS
El servidor expone las siguientes herramientas de MCP
nota
El servidor MCP de Amazon EKS se encuentra en versión preliminar para Amazon EKS y está sujeto a cambios.
Herramientas de solo lectura
En esta sección, se describen las herramientas de solo lectura disponibles para el servidor MCP de EKS. Tenga en cuenta que todas las operaciones de la API de Kubernetes de solo lectura pueden acceder a lo siguiente:
-
Clústeres privados (consulte Punto de conexión privado del clúster)
-
Clústeres públicos
search_eks_documentation
Busque en la documentación de EKS información y orientación actualizadas. Esta herramienta proporciona acceso a la documentación más reciente de EKS, lo que incluye las nuevas características y las mejoras recientes que los agentes tal vez no conozcan.
Parámetros:
-
query (obligatorio): pregunta específica o consulta de búsqueda relacionada con la documentación, las características o las prácticas recomendadas de EKS.
-
limit (opcional): número máximo de resultados de documentación que se deben devolver (entre 1 y 10). Valor predeterminado: 5.
search_eks_troubleshooting_guide
Realiza búsquedas en la guía de solución de problemas de Amazon EKS para obtener información de solución de problemas basada en una consulta. Ayuda a identificar problemas comunes y proporciona soluciones paso a paso.
Parámetros:
-
query (obligatorio): pregunta específica o descripción del problema relacionada con la solución de problemas de EKS.
describe_eks_resource
Recupera información detallada sobre un recurso específico de clúster de EKS, incluida la configuración, el estado y los metadatos.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS (obligatorio para los recursos del ámbito del clúster).
-
resource_type (obligatorio): el tipo de recurso de EKS que se describirá. Valores válidos:
-
accessentry (necesita cluster_name y resource_name como principalArn)
-
addon (necesita cluster_name y resource_name como nombre del complemento)
-
cluster (necesita cluster_name), nodegroup (necesita cluster_name y resource_name como nombre del grupo de nodos).
-
resource_name (opcional): nombre del recurso específico que se describirá (obligatorio para la mayoría de los tipos de recursos).
list_eks_resources
Enumera los recursos de EKS de un tipo específico y devuelve un resumen de todos los recursos del tipo especificado a los que se puede acceder.
Parámetros:
-
resource_type (obligatorio): el tipo de recurso de EKS que se enumerará. Valores válidos:
-
accessentry (necesita cluster_name)
-
addon (necesita cluster_name)
-
cluster (no se necesitan parámetros adicionales)
-
nodegroup (necesita cluster_name).
-
cluster_name (opcional): nombre del clúster de EKS (obligatorio para los recursos del ámbito del clúster).
get_eks_insights
Recupera información y recomendaciones del clúster de EKS para su optimización. Proporciona información procesable para la seguridad, el rendimiento y la optimización de costos basada en las prácticas recomendadas de AWS y el análisis del clúster.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS.
-
category (opcional): categoría opcional por la que se filtrará la información (por ejemplo, “MISCONFIGURATION” o “UPGRADE_READINESS”).
-
insight_id (opcional): ID opcional de información específica para el que se obtendrá información detallada.
-
next_token (opcional): token opcional de paginación para obtener el siguiente conjunto de resultados.
get_eks_vpc_config
Recupera la configuración de la VPC correspondiente a un clúster de EKS, incluidas las subredes, las tablas de enrutamiento y la conectividad de red.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS para el que se obtendrá la configuración de la VPC.
-
vpc_id (opcional): ID de la VPC específica que se consultará (opcional, se usará la VPC del clúster si no se especifica).
get_k8s_events
Recupera eventos de Kubernetes relacionados con recursos específicos para la solución de problemas y la supervisión.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se encuentra el recurso.
-
kind (obligatorio): tipo del objeto implicado (por ejemplo, “Pod”, “Deployment”, “Service”). Debe coincidir exactamente con el tipo de recurso.
-
name (obligatorio): nombre del objeto implicado para el que se obtendrán eventos.
-
namespace (opcional): espacio de nombres del objeto implicado. Obligatorio para los recursos con espacios de nombres (como “Pods” o “Deployments”). No es obligatorio para los recursos del ámbito del clúster (como “Nodes” o “PersistentVolumes”).
get_pod_logs
Recupera registros de pods en un clúster de EKS con opciones de filtrado.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se ejecuta el pod.
-
namespace (obligatorio): espacio de nombres de Kubernetes en el que se encuentra el pod.
-
pod_name (obligatorio): nombre del pod del que se recuperarán los registros.
-
container_name (opcional): nombre del contenedor específico del que se obtendrán los registros. Obligatorio solo si el pod contiene varios contenedores.
-
limit_bytes (opcional): cantidad máxima de bytes que se devolverán. Valor predeterminado: 10 KB (10 240 bytes).
-
previous (opcional): devuelve los registros de un contenedor terminado anteriormente, (el valor predeterminado es “false”). Es útil para obtener los registros de los pods que se están reiniciando.
-
since_seconds (opcional): solo devuelve los registros que sean más recientes que la cantidad de segundos especificada. Es útil para obtener registros recientes sin recuperar todo el historial.
-
tail_lines (opcional): cantidad de líneas que se devolverán al final de los registros. Valor predeterminado: 100.
list_api_versions
Enumera todas las versiones de API disponibles en el clúster de Kubernetes especificado.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS.
list_k8s_resources
Enumera los recursos de Kubernetes de un tipo específico en un clúster de EKS.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se encuentran los recursos.
-
kind (obligatorio): tipo de los recursos de Kubernetes que se enumerarán (por ejemplo, “Pod”, “Service”, “Deployment”). Utilice la herramienta
list_api_versionspara encontrar los tipos de recursos disponibles. -
api_version (obligatorio): versión de la API de los recursos de Kubernetes (por ejemplo, “v1”, “apps/v1”, “networking.k8s.io/v1”). Utilice la herramienta
list_api_versionspara encontrar las versiones de la API disponibles. -
field_selector (opcional): selector de campos para filtrar recursos (por ejemplo, “metadata.name=my-pod,status.phase=Running”). Utiliza la misma sintaxis que la marca --field-selector de kubectl.
-
label_selector (opcional): selector de etiquetas para filtrar recursos (por ejemplo, “app=nginx,tier=frontend”). Utiliza la misma sintaxis que la marca
--selectorde kubectl. -
namespace (opcional): espacio de nombres de los recursos de Kubernetes que se enumerarán. Si no se proporciona, los recursos se enumerarán en todos los espacios de nombres (en el caso de los recursos con espacios de nombres).
read_k8s_resource
Recupera información detallada sobre un recurso específico de Kubernetes en un clúster de EKS.
Parámetros:
-
api_version (obligatorio): versión de la API del recurso de Kubernetes (por ejemplo, “v1”, “apps/v1”, “networking.k8s.io/v1”).
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se encuentra el recurso.
-
kind (obligatorio): tipo del recurso de Kubernetes (por ejemplo, “Pod”, “Service”, “Deployment”).
-
name (obligatorio): nombre del recurso de Kubernetes que se leerá.
-
namespace (opcional): espacio de nombres del recurso de Kubernetes. Obligatorio para los recursos con espacio de nombres. No es obligatorio para los recursos del ámbito del clúster (como “Nodes” o “PersistentVolumes”).
generate_app_manifest
Genera manifiestos estandarizados de implementación y servicio de Kubernetes para aplicaciones en contenedores.
Parámetros:
-
app_name (obligatorio): nombre de la aplicación. Se utiliza para los nombres de implementación y servicio, así como para las etiquetas.
-
image_uri (obligatorio): URI completo de la imagen de ECR con etiqueta (por ejemplo, 123456789012.dkr.ecr.region.amazonaws.com/repo:tag). Debe incluir la ruta y la etiqueta completas del repositorio.
-
load_balancer_scheme (opcional): esquema del equilibrador de carga de AWS. Valores válidos:
-
“internal” (solo VPC privada)
-
“internet-facing” (acceso público)
-
Valor predeterminado: “internal”.
-
cpu (opcional): solicitud de CPU para cada contenedor (por ejemplo, “100m” para núcleos de 0,1 CPU, “500m” para medio núcleo). Valor predeterminado: “100m”.
-
memory (opcional): solicitud de memoria para cada contenedor (por ejemplo, “128Mi” para 128 MiB, “1Gi” para 1 GiB). Valor predeterminado: “128Mi”
-
namespace (opcional): espacio de nombres de Kubernetes en el que se implementará la aplicación. Valor predeterminado: “default”.
-
port (opcional): puerto del contenedor en el que escucha la aplicación. Valor predeterminado: 80
-
replicas (opcional): cantidad de réplicas que se implementarán. Valor predeterminado: 2
get_cloudwatch_logs
Consulta los registros de CloudWatch con filtrado basado en los parámetros de entrada y admite los grupos de registro estándar utilizados para la observabilidad del clúster de EKS.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se encuentra el recurso. Se utiliza para crear el nombre del grupo de registro de CloudWatch.
-
resource_type (obligatorio): tipo de recurso para el que se buscarán registros. Valores válidos: +”pod”, “node”, “container”, “cluster”. Determina cómo se filtran los registros.
-
log_type (obligatorio): tipo de registro que se consultará. Valores válidos:
-
“application”: registros de la aplicación o el contenedor
-
“host”: registros del sistema del nodo
-
“performance”: registros de métricas de rendimiento
-
“control-plane”: registros del plano de control de EKS
-
“your-log-group-name”: proporcione un nombre de grupo de registro de CloudWatch personalizado directamente.
-
resource_name (opcional): nombre del recurso que se buscará en los mensajes del registro (por ejemplo, nombre del pod, del nodo o del contenedor). Se utiliza para filtrar los registros de un recurso específico.
-
minutes (opcional): cantidad de minutos para revisar registros. Valor predeterminado: 15. Se omite si se proporciona start_time. Utilice valores más pequeños para los problemas recientes y valores más altos para el análisis histórico.
-
start_time (opcional): hora de inicio en formato ISO (por ejemplo, “2023-01-01T00:00:00Z”). Si se proporciona, anula el parámetro minutes.
-
end_time (opcional): hora de finalización en formato ISO (por ejemplo, “2023-01-01T01:00:00Z”). Si no se proporciona, se establece la hora actual de forma predeterminada.
-
fields (opcional): campos personalizados que se incluirán en los resultados de la consulta (el valor predeterminado es “@timestamp, @message”). Utilice la sintaxis de campo de Información de registros de CloudWatch.
-
filter_pattern (opcional): patrón de filtrado adicional de Registros de CloudWatch que se aplicará. Utiliza la sintaxis de Información de registros de CloudWatch (por ejemplo, “ERROR”, “field=value”).
-
limit (opcional): cantidad máxima de entradas de registro que se devolverán. Utilice valores más bajos (entre 10 y 50) para consultas más rápidas y valores más altos (entre 100 y 1000) para obtener resultados más completos. Los valores más altos pueden repercutir en el desempeño.
get_cloudwatch_metrics
Recupera métricas y puntos de datos de CloudWatch para la supervisión y el análisis del rendimiento del clúster de EKS. Gestiona las métricas de Información de contenedores, las métricas personalizadas y los periodos de tiempo y las dimensiones configurables.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS para el que se obtendrán las métricas.
-
dimensions (obligatorio): dimensiones que se utilizarán para la consulta de métricas de CloudWatch como cadena JSON. Debe incluir las dimensiones adecuadas para el tipo de recurso y la métrica (por ejemplo, “{"ClusterName": "my-cluster", "PodName": "my-pod", "Namespace": "default"}”).
-
metric_name (obligatorio): nombre de la métrica que se recuperará. Ejemplos comunes:
-
cpu_usage_total: uso total de la CPU -
memory_rss: uso de memoria del tamaño del conjunto residente -
network_rx_bytes: bytes de red recibidos -
network_tx_bytes: bytes de red transmitidos -
namespace (obligatorio): espacio de nombres de CloudWatch en el que se almacena la métrica. Valores comunes:
-
"ContainerInsights": para métricas de contenedor -
"AWS/EC2": para métricas de instancia de EC2 -
"AWS/EKS": para métricas de plano de control de EKS -
minutes (opcional): cantidad de minutos para revisar métricas. Valor predeterminado: 15. Se omite si se proporciona start_time.
-
start_time (opcional): hora de inicio en formato ISO (por ejemplo, “2023-01-01T00:00:00Z”). Si se proporciona, anula el parámetro minutes.
-
end_time (opcional): hora de finalización en formato ISO (por ejemplo, “2023-01-01T01:00:00Z”). Si no se proporciona, se establece la hora actual de forma predeterminada.
-
limit (opcional): cantidad máxima de puntos de datos que se devolverán. Los valores más altos (entre 100 y 1000) proporcionan datos más detallados, pero pueden afectar al rendimiento. Valor predeterminado: 50.
-
period (opcional): periodo en segundos para los puntos de datos de métricas. Valor predeterminado: 60 (1 minuto). Los valores más bajos (entre 1 y 60) proporcionan una resolución más alta, pero es posible que haya menos disponibilidad.
-
stat (opcional): estadística que se utilizará para la agregación de métricas. Valor predeterminado: “Average”. Valores válidos:
-
Average: valor medio durante el periodo -
Sum:: valor total durante el periodo -
Maximum: valor más alto durante el periodo -
Minimum: valor más bajo durante el periodo -
SampleCount: cantidad de muestras durante el periodo
get_eks_metrics_guidance
Obtiene orientación sobre métricas de CloudWatch para tipos de recursos específicos en clústeres de EKS. Es útil para el agente al determinar las dimensiones correctas que debe utilizar con la herramienta get_cloudwatch_metrics.
Parámetros:
-
resource_type (obligatorio): tipo de recurso para el que se obtendrán las métricas (clúster, nodo, pod, espacio de nombres, servicio).
get_policies_for_role
Recupera todas las políticas asociadas a un rol de IAM especificado, incluida la política de asunción de rol, las políticas administradas y las políticas en línea.
Parámetros:
-
role_name (obligatorio): nombre del rol de IAM para el que se obtendrán las políticas. El rol debe existir en su cuenta de AWS.
Herramientas de acceso completo (escritura)
En esta sección, se describen las herramientas de solo lectura disponibles para el servidor MCP de EKS. Tenga en cuenta que (a fecha de “hoy”) todas las operaciones de escritura de la API de Kubernetes pueden acceder solo a lo siguiente:
-
Clústeres públicos (endpointPublicAccess=true)
manage_k8s_resource
Administra un único recurso de Kubernetes con operaciones de escritura (crear, actualizar, aplicar parches o eliminar).
Parámetros:
-
operation (obligatorio): operación que se llevará a cabo en el recurso. Valores válidos:
-
create:: creación de un nuevo recurso -
replace: sustitución de un recurso existente -
patch: actualización de campos específicos de un recurso existente -
delete: eliminación de un recurso existente -
Nota: Utilice read_k8s_resource para leer recursos y list_k8s_resources para enumerar varios recursos.
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se encuentra o se creará el recurso.
-
kind (obligatorio): tipo del recurso de Kubernetes (por ejemplo, “Pod”, “Service”, “Deployment”).
-
api_version (obligatorio): versión de la API del recurso de Kubernetes (por ejemplo, “v1”, “apps/v1”, “networking.k8s.io/v1”).
-
body (opcional): definición del recurso como cadena JSON. Obligatorio para las operaciones “create”, “replace” y “patch”. Para “create” y “replace”, debe ser una definición de recurso completa. Para “patch”, solo puede contener los campos que se actualizarán.
-
name (opcional): nombre del recurso de Kubernetes. Obligatorio para todas las operaciones excepto “create” (donde se puede especificar en el cuerpo).
-
namespace (opcional): espacio de nombres del recurso de Kubernetes. Obligatorio para los recursos con espacio de nombres. No es obligatorio para los recursos del ámbito del clúster (como “Nodes” o “PersistentVolumes”).
apply_yaml
Aplica manifiestos YAML de Kubernetes a un clúster de EKS.
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS en el que se crearán o actualizarán los recursos.
-
namespace (obligatorio): espacio de nombres de Kubernetes al que se aplicarán los recursos. Se utilizará para los recursos con espacio de nombres que no especifiquen ningún espacio de nombres.
-
yaml_content (obligatorio): contenido YAML que se aplicará al clúster. Puede contener varios documentos separados por “---”.
-
force (opcional): si se deben actualizar recursos que ya existan (similar a “apply” en kubectl). Establézcalo en “false” para crear solo nuevos recursos.
manage_eks_stacks
Administra pilas de CloudFormation de EKS con operaciones para generar plantillas, implementar, describir y eliminar clústeres de EKS y su infraestructura subyacente. La creación del clúster suele tardar entre 15 y 20 minutos en completarse. Para las operaciones “deploy” y “delete”, la pila debe haberse creado con esta herramienta (es decir, debe tener la etiqueta CreatedBy=EksMcpServer).
Parámetros:
-
cluster_name (obligatorio): nombre del clúster de EKS (para las operaciones “generate”, “deploy”, “describe” y “delete”). Este nombre se utilizará para derivar el nombre de la pila de CloudFormation y se incrustará en los recursos del clúster.
-
operación (obligatorio): operación que se llevará a cabo. Valores válidos:
-
generate: generación de una plantilla de CloudFormation -
deploy: implementación de una pila de CloudFormation (necesitatemplate_content) -
describe: descripción o lectura de una pila de CloudFormation (solo lectura) -
delete: eliminación de una pila de CloudFormation -
template_content (opcional): contenido de la plantilla de CloudFormation (para las operaciones “deploy). Debe ser el contenido completo de la plantilla YAML o JSON. Admite contenido YAML de varios documentos y recursos únicos separados por “---”.
add_inline_policy
Agrega una nueva política en línea a un rol de IAM.
Parámetros:
-
permissions (obligatorio): permisos que se incluirán en la política como cadenas JSON que representan instrucciones de políticas de IAM. Puede ser una sola cadena JSON o un conjunto de cadenas JSON.
-
policy_name (obligatorio): nombre de la política en línea que se creará. Debe ser único dentro del rol.
-
role_name (obligatorio): nombre del rol de IAM al que se agregará la política. El rol debe existir.