Riferimento agli strumenti per server MCP di Amazon EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Riferimento agli strumenti per server MCP di Amazon EKS

Il server espone i seguenti strumenti MCP.

Nota

Amazon EKS MCP Server è in versione di anteprima per Amazon EKS ed è soggetto a modifiche.

Strumenti di sola lettura

Questa sezione descrive gli strumenti di sola lettura disponibili per il server MCP EKS. Tieni presente che tutte le operazioni dell'API Kubernetes in sola lettura possono accedere a entrambi:

  • Cluster privati (vedi Cluster private endpoint)

  • Cluster pubblici

search_eks_documentation

Cerca informazioni e linee guida nella documentazione EKS. up-to-date Questo strumento fornisce l'accesso alla documentazione EKS più recente, incluse nuove funzionalità e miglioramenti recenti di cui gli agenti potrebbero non essere a conoscenza.

Parametri:

  • query (obbligatorio): la tua domanda o query di ricerca specifica relativa alla documentazione, alle funzionalità o alle migliori pratiche EKS.

  • limite (opzionale): numero massimo di risultati della documentazione da restituire (1-10). Impostazione predefinita: 5.

search_eks_troubleshooting_guide

Cerca nella Guida alla risoluzione dei problemi EKS le informazioni sulla risoluzione dei problemi basate su una query. Aiuta a identificare i problemi più comuni e fornisce soluzioni. step-by-step

Parametri:

  • interrogazione (obbligatoria): la tua domanda o descrizione specifica del problema relativo alla risoluzione dei problemi EKS.

describe_eks_resource

Recupera informazioni dettagliate su una specifica risorsa del cluster EKS, tra cui configurazione, stato e metadati.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS (richiesto per le risorse con ambito cluster).

  • resource_type (richiesto): il tipo di risorsa EKS da descrivere. Valori validi:

  • accessentry (richiede cluster_name e resource_name come PrincipalARN)

  • addon (richiede cluster_name e resource_name come nome dell'addon)

  • cluster (richiede cluster_name), nodegroup (richiede cluster_name e resource_name come nome del nodegroup).

  • resource_name (opzionale): nome della risorsa specifica da descrivere (obbligatorio per la maggior parte dei tipi di risorse).

list_eks_resources

Elenca le risorse EKS di un tipo specifico, restituendo un riepilogo di tutte le risorse del tipo specificato accessibili.

Parametri:

  • resource_type (richiesto): il tipo di risorsa EKS da elencare. Valori validi:

  • accessentry (richiede cluster_name)

  • addon (richiede cluster_name)

  • cluster (non sono richiesti parametri aggiuntivi)

  • nodegroup (richiede cluster_name).

  • cluster_name (opzionale): nome del cluster EKS (richiesto per le risorse con ambito cluster).

get_eks_insights

Recupera le informazioni e i consigli del cluster EKS per l'ottimizzazione. Fornisce informazioni utili per la sicurezza, le prestazioni e l'ottimizzazione dei costi sulla base delle AWS migliori pratiche e dell'analisi dei cluster.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS.

  • categoria (opzionale): categoria opzionale in base alla quale filtrare gli approfondimenti (ad esempio, «MISCONFIGURATION» o «UPGRADE_READINESS»).

  • insight_id (opzionale): ID opzionale di un'analisi specifica per cui ottenere informazioni dettagliate.

  • next_token (opzionale): token opzionale per l'impaginazione per ottenere il prossimo set di risultati.

get_eks_vpc_config

Recupera la configurazione VPC per un cluster EKS, incluse sottoreti, tabelle di routing e connettività di rete.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS per cui ottenere la configurazione VPC.

  • vpc_id (opzionale): ID del VPC specifico da interrogare (opzionale, utilizzerà il VPC del cluster se non specificato).

get_k8s_events

Recupera gli eventi Kubernetes relativi a risorse specifiche per la risoluzione dei problemi e il monitoraggio.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS in cui si trova la risorsa.

  • kind (richiesto): tipo di oggetto coinvolto (ad es. «Pod», «Deployment», «Service»). Deve corrispondere esattamente al tipo di risorsa.

  • name (obbligatorio): nome dell'oggetto coinvolto per il quale ottenere gli eventi.

  • namespace (opzionale): namespace dell'oggetto coinvolto. Necessario per risorse con namespace (come Pods, Deployments). Non richiesto per le risorse con ambito cluster (come Nodes,). PersistentVolumes

get_pod_logs

Recupera i log dai pod in un cluster EKS con opzioni di filtro.

Parametri:

  • cluster_name (obbligatorio): nome del cluster EKS su cui è in esecuzione il pod.

  • namespace (obbligatorio): lo spazio dei nomi Kubernetes in cui si trova il pod.

  • pod_name (richiesto): nome del pod da cui recuperare i log.

  • container_name (opzionale): nome del contenitore specifico da cui ottenere i log. Obbligatorio solo se il pod contiene più contenitori.

  • limit_bytes (opzionale): numero massimo di byte da restituire. Impostazione predefinita: 10 KB (10240 byte).

  • precedente (opzionale): restituisce i registri dei contenitori terminati in precedenza (il valore predefinito è false). Utile per ottenere i log dei pod che si stanno riavviando.

  • since_seconds (opzionale): restituisce solo i log più recenti di così tanti secondi. Utile per ottenere i log recenti senza recuperare l'intera cronologia.

  • tail_lines (opzionale): numero di righe da restituire dalla fine dei log. Valore predefinito: 100.

list_api_versions

Elenca tutte le versioni dell'API disponibili nel cluster Kubernetes specificato.

Parametri:

  • cluster_name (obbligatorio): nome del cluster EKS.

list_k8s_resources

Elenca le risorse Kubernetes di un tipo specifico in un cluster EKS.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS in cui si trovano le risorse.

  • kind (richiesto): tipo di risorse Kubernetes da elencare (ad esempio, 'Pod', 'Service', 'Deployment'). Usa lo list_api_versions strumento per trovare i tipi di risorse disponibili.

  • api_version (richiesto): versione API delle risorse Kubernetes (ad esempio, 'v1', '1'). apps/v1', 'networking.k8s.io/v Utilizza lo strumento per trovare le versioni API list_api_versions disponibili.

  • field_selector (opzionale): selettore di campo per filtrare le risorse (ad esempio, 'metadata.name=my-pod, status.phase=running'). Usa la stessa sintassi del flag --field-selector di kubectl.

  • label_selector (opzionale): selettore di etichette per filtrare le risorse (ad esempio, 'app=nginx, tier=frontend'). Usa la stessa sintassi del flag di --selector kubectl.

  • namespace (opzionale): namespace delle risorse Kubernetes da elencare. Se non vengono fornite, le risorse verranno elencate in tutti i namespace (per le risorse con namespace).

read_k8s_resource

Recupera informazioni dettagliate su una risorsa Kubernetes specifica in un cluster EKS.

Parametri:

  • api_version (richiesto): versione API della risorsa Kubernetes (ad esempio, «v1"," 1"). apps/v1", "networking.k8s.io/v

  • cluster_name (richiesto): nome del cluster EKS in cui si trova la risorsa.

  • kind (richiesto): tipo di risorsa Kubernetes (ad esempio, «Pod», «Service», «Deployment»).

  • name (richiesto): nome della risorsa Kubernetes da leggere.

  • namespace (opzionale): namespace della risorsa Kubernetes. Obbligatorio per le risorse con namespace. Non richiesto per le risorse con ambito cluster (come Nodes,). PersistentVolumes

generate_app_manifest

Genera manifesti di distribuzione e servizio di Kubernetes standardizzati per applicazioni containerizzate.

Parametri:

  • app_name (richiesto): nome dell'applicazione. Utilizzato per i nomi di distribuzione e servizio e per le etichette.

  • image_uri (richiesto): URI completo dell'immagine ECR con tag (ad esempio, 123456789012.dkr.ecr.region.amazonaws.com/repo:tag). È necessario includere il percorso e il tag completi del repository.

  • load_balancer_scheme (opzionale): schema di bilanciamento del carico. AWS Valori validi:

  • «interno» (solo VPC privato)

  • «rivolto a Internet» (accesso pubblico).

  • Predefinito: «interno».

  • cpu (opzionale): richiesta CPU per ogni contenitore (ad esempio, «100m» per 0,1 core CPU, «500m» per mezzo core). Impostazione predefinita: «100m».

  • memoria (opzionale): richiesta di memoria per ogni contenitore (ad esempio, «128Mi» per 128 MiB, «1Gi» per 1 GiB). Predefinito: «128Mi»

  • namespace (opzionale): namespace Kubernetes in cui distribuire l'applicazione. Predefinito: «default».

  • port (opzionale): porta contenitore su cui l'applicazione è in ascolto. Impostazione predefinita: 80

  • repliche (opzionale): numero di repliche da distribuire. Impostazione predefinita: 2

get_cloudwatch_logs

Interroga CloudWatch i log con filtraggio in base ai parametri di input e supporto per i gruppi di log standard utilizzati per l'osservabilità dei cluster EKS.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS in cui si trova la risorsa. Utilizzato per costruire il nome del gruppo di log CloudWatch .

  • resource_type (richiesto): tipo di risorsa per la ricerca nei log. Valori validi: +"pod», «node», «container», «cluster». Ciò determina il modo in cui i log vengono filtrati.

  • log_type (obbligatorio): tipo di registro da interrogare. Valori validi:

  • «application»: log Container/application

  • «host»: log di sistema a livello di nodo

  • «performance»: registri delle metriche delle prestazioni

  • «control-plane»: registri del piano di controllo EKS

  • "your-log-group-name«: Fornisci direttamente un nome personalizzato per CloudWatch il gruppo di log.

  • resource_name (opzionale): nome della risorsa da cercare nei messaggi di registro (ad esempio, nome del pod, nome del nodo, nome del contenitore). Utilizzato per filtrare i log per la risorsa specifica.

  • minuti (opzionale): numero di minuti per cercare i log. Impostazione predefinita: 15. Ignorato se viene fornito start_time. Usa valori più piccoli per i numeri recenti, valori più grandi per l'analisi storica.

  • start_time (opzionale): ora di inizio in formato ISO (ad esempio, «2023-01-01T 00:00:00 Z»). Se fornito, sostituisce il parametro minutes.

  • end_time (opzionale): ora di fine in formato ISO (ad esempio, «2023-01-01T 01:00:00 Z»). Se non viene fornita, l'impostazione predefinita è l'ora corrente.

  • fields (opzionale): campi personalizzati da includere nei risultati della query (il valore predefinito è "@timestamp, @message «). Usa la sintassi del CloudWatch campo Logs Insights.

  • filter_pattern (opzionale): modello di filtro CloudWatch Logs aggiuntivo da applicare. Utilizza la sintassi di CloudWatch Logs Insights (ad esempio, «ERROR», «field=value»).

  • limite (opzionale): numero massimo di voci di registro da restituire. Utilizza valori più bassi (10-50) per query più veloci, valori più alti (100-1000) per risultati più completi. I valori più alti possono inficiare le prestazioni.

get_cloudwatch_metrics

Recupera CloudWatch metriche e punti dati per il monitoraggio del cluster EKS e l'analisi delle prestazioni. Gestisce metriche di Container Insights, metriche personalizzate e periodi di tempo e dimensioni configurabili.

Parametri:

  • cluster_name (obbligatorio): nome del cluster EKS per cui ottenere le metriche.

  • dimensions (obbligatorio): dimensioni da utilizzare per la query CloudWatch metrica come stringa JSON. Deve includere dimensioni appropriate per il tipo di risorsa e la metrica (ad esempio, '{» ClusterName «: «my-cluster», "«: PodName «my-pod», «Namespace»: «default"}').

  • metric_name (richiesto): nome della metrica da recuperare. Esempi comuni:

  • cpu_usage_total: utilizzo totale della CPU

  • memory_rss: utilizzo della memoria Resident Set Size

  • network_rx_bytes: byte di rete ricevuti

  • network_tx_bytes: byte di rete trasmessi

  • namespace (obbligatorio): spazio dei CloudWatch nomi in cui è memorizzata la metrica. Valori comuni:

  • "ContainerInsights": Per le metriche dei container

  • "AWS/EC2": EC2 Ad esempio, le metriche

  • "AWS/EKS": Per le metriche del piano di controllo EKS

  • minuti (opzionale): numero di minuti per esaminare le metriche. Impostazione predefinita: 15. Ignorato se viene fornito start_time.

  • start_time (opzionale): ora di inizio in formato ISO (ad esempio, «2023-01-01T 00:00:00 Z»). Se fornito, sostituisce il parametro minutes.

  • end_time (opzionale): ora di fine in formato ISO (ad esempio, «2023-01-01T 01:00:00 Z»). Se non viene fornita, l'impostazione predefinita è l'ora corrente.

  • limite (opzionale): numero massimo di punti dati da restituire. Valori più alti (100-1000) forniscono dati più granulari ma possono influire sulle prestazioni. Valore predefinito: 50.

  • periodo (opzionale): periodo in secondi per i punti dati metrici. Impostazione predefinita: 60 (1 minuto). Valori inferiori (1-60) forniscono una risoluzione più elevata, ma potrebbero essere meno disponibili.

  • stat (opzionale): statistica da utilizzare per l'aggregazione delle metriche. Impostazione predefinita: «Average». Valori validi:

  • Average: Valore medio durante il periodo

  • Sum:Valore totale durante il periodo

  • Maximum: Valore più alto del periodo

  • Minimum: valore più basso del periodo

  • SampleCount: Numero di campioni durante il periodo.

get_eks_metrics_guidance

Ottieni indicazioni sulle CloudWatch metriche per tipi di risorse specifici nei cluster EKS. Utile per l'agente per determinare le dimensioni corrette da utilizzare con lo strumento get_cloudwatch_metrics.

Parametri:

  • resource_type (richiesto): tipo di risorsa per cui ottenere le metriche (cluster, node, pod, namespace, service).

get_policies_for_role

Recupera tutte le policy associate a un ruolo IAM specificato, incluse le policy di assunzione del ruolo, le policy gestite e le policy in linea.

Parametri:

  • role_name (richiesto): nome del ruolo IAM per cui ottenere le policy. Il ruolo deve esistere nel tuo account. AWS

Strumenti di accesso completo (scrittura)

Questa sezione descrive gli strumenti di sola lettura disponibili per il server MCP EKS. Tieni presente che (a partire da «oggi») tutte le operazioni di scrittura dell'API Kubernetes possono accedere solo a:

  • Cluster pubblici (=true) endpointPublicAccess

manage_k8s_resource

Gestisce una singola risorsa Kubernetes con operazioni di scrittura (creazione, aggiornamento, patch o eliminazione).

Parametri:

  • operazione (richiesta): operazione da eseguire sulla risorsa. Valori validi:

  • create:Crea una nuova risorsa

  • replace: Sostituisce una risorsa esistente

  • patch: aggiorna campi specifici di una risorsa esistente

  • delete: Elimina una risorsa esistente

  • Nota: usa read_k8s_resource per leggere le risorse e list_k8s_resources per elencare più risorse.

  • cluster_name (richiesto): nome del cluster EKS in cui si trova o verrà creata la risorsa.

  • kind (richiesto): tipo di risorsa Kubernetes (ad es. «Pod», «Service», «Deployment»).

  • api_version (richiesto): versione API della risorsa Kubernetes (ad esempio, «v1"," 1"). apps/v1", "networking.k8s.io/v

  • body (opzionale): definizione della risorsa come stringa JSON. Necessario per le operazioni di creazione, sostituzione e patch. Per creare e sostituire, questa dovrebbe essere una definizione completa della risorsa. Per quanto riguarda la patch, dovrebbe contenere solo i campi da aggiornare.

  • name (opzionale): nome della risorsa Kubernetes. Obbligatorio per tutte le operazioni tranne la creazione (dove può essere specificato nel corpo).

  • namespace (opzionale): namespace della risorsa Kubernetes. Obbligatorio per le risorse con namespace. Non richiesto per le risorse con ambito cluster (come Nodes,). PersistentVolumes

apply_yaml

Applica i manifesti YAML di Kubernetes a un cluster EKS.

Parametri:

  • cluster_name (richiesto): nome del cluster EKS in cui verranno create o aggiornate le risorse.

  • namespace (richiesto): namespace Kubernetes a cui applicare le risorse. Verrà utilizzato per le risorse con spaziatura dei nomi che non specificano uno spazio dei nomi.

  • yaml_content (richiesto): contenuto YAML da applicare al cluster. Può contenere più documenti separati da '---'.

  • force (opzionale): indica se aggiornare le risorse se già esistono (simile a kubectl apply). Imposta su false per creare solo nuove risorse.

manage_eks_stacks

Gestisce gli CloudFormation stack EKS con operazioni per la generazione di modelli, la distribuzione, la descrizione e l'eliminazione dei cluster EKS e della relativa infrastruttura sottostante. Il completamento della creazione del cluster richiede in genere 15-20 minuti. Per le operazioni di distribuzione ed eliminazione, lo stack deve essere stato creato da questo strumento (ad esempio contrassegnato con CreatedBy =EksMcpServer).

Parametri:

  • cluster_name (richiesto): nome del cluster EKS (per le operazioni di generazione, distribuzione, descrizione ed eliminazione). Questo nome verrà utilizzato per derivare il nome dello CloudFormation stack e verrà incorporato nelle risorse del cluster.

  • operazione (richiesta): operazione da eseguire. Valori validi:

  • generate: genera un CloudFormation modello

  • deploy: Implementa uno CloudFormation stack (richiesto) template_content

  • describe: Describe/read uno CloudFormation stack (sola lettura)

  • delete: Elimina una pila CloudFormation

  • template_content (opzionale): contenuto del CloudFormation modello (per le operazioni di distribuzione). Questo dovrebbe essere il contenuto completo del modello YAML o JSON. Supporta sia risorse singole che contenuti YAML multi-documento separati da '---'.

add_inline_policy

Aggiunge una nuova policy in linea a un ruolo IAM.

Parametri:

  • autorizzazioni (obbligatorie): autorizzazioni da includere nella policy come stringhe JSON che rappresentano le dichiarazioni delle policy IAM. Può essere una singola stringa JSON o un array di stringhe JSON.

  • policy_name (obbligatorio): nome della politica in linea da creare. Deve essere univoco all'interno del ruolo.

  • role_name (obbligatorio): nome del ruolo IAM a cui aggiungere la policy. Il ruolo deve esistere.