Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Met de MCP-server (AKS Model Context Protocol) kunnen AI-assistenten communiceren met AKS-clusters (Azure Kubernetes Service) met duidelijkheid, veiligheid en controle. Het fungeert als een brug tussen AI-hulpprogramma's (zoals GitHub Copilot, Claude en andere MCP-compatibele AI-assistenten) en AKS, het vertalen van aanvragen voor natuurlijke taal in AKS-bewerkingen en het retourneren van de resultaten in een indeling die de AI-hulpprogramma's kunnen begrijpen.
De AKS MCP-server maakt verbinding met Azure met behulp van de Azure SDK en biedt een set hulpprogramma's die AI-assistenten kunnen gebruiken om te communiceren met AKS-resources. Met deze hulpprogramma's kunnen AI-agents taken uitvoeren, zoals:
- Probleemoplossing en diagnose
- De status van uw cluster analyseren
- AKS-resources beheren (CRUD)
- Details ophalen met betrekking tot AKS-clusters (VNets, subnetten, netwerkbeveiligingsgroepen (NSG's), routetabellen, enzovoort)
- Aanbevolen procedures en aanbevolen functies inschakelen
- Azure Fleet-bewerkingen beheren voor scenario's met meerdere clusters
De AKS MCP-server is volledig opensource-project, met voorbeeldsjablonen en Helm-configuraties die beschikbaar zijn in de GitHub-opslagplaats.
Wanneer gebruikt u de AKS MCP-server
De AKS MCP-server kan worden gebruikt met elke compatibele AI-assistent, waaronder de agentische CLI voor AKS en Microsoft Copilot. Veelvoorkomende gebruiksvoorbeelden zijn:
- Vragen stellen over AI-assistenten, zoals:
- Waarom zijn pods in afwachting in dit cluster?
- Wat is de netwerkconfiguratie van mijn AKS-cluster?
- Een plaatsing creëren om nginx-workloads uit te rollen in clusters met het label app=frontend.
- AI-hulpprogramma's toestaan om het volgende te doen:
- Clusterstatus en -configuratie lezen
- Metrische gegevens, gebeurtenissen en logboeken inspecteren
- Signalen correleren tussen Kubernetes en Azure-resources
- Wijzigingen toepassen en nieuwe functies rechtstreeks in uw cluster inschakelen
Alle acties die worden uitgevoerd via de AKS MCP-server, worden beperkt door Kubernetes Role-Based RBAC (Access Control) en Azure RBAC. De AKS MCP-server neemt standaard de machtigingen van de gebruiker over bij het openen van clusters en Azure-resources. Als u de rollen en machtigingen van de AKS MCP-server wilt aanpassen, implementeert u de externe AKS MCP-servermodus met ingebouwd RBAC-besturingselement.
Beschikbare hulpmiddelen
De AKS MCP-server biedt een uitgebreide set hulpprogramma's voor interactie met AKS-clusters en bijbehorende resources. De server maakt standaard gebruik van geïntegreerde hulpprogramma's (call_az voor Azure-bewerkingen en call_kubectl voor Kubernetes-bewerkingen) die een flexibelere interface bieden voor interactie met Kubernetes en Azure-resources.
Er zijn drie sets machtigingen die u kunt inschakelen voor de AKS MCP-server: alleen-lezen (standaard), lezen/schrijven en beheerder. Voor sommige hulpprogramma's zijn lees-/schrijf- of beheerdersmachtigingen vereist om acties uit te voeren, zoals het implementeren van foutopsporingspods of CRUD-acties in uw cluster. Als u lees-/schrijf- of beheerdersmachtigingen voor de AKS-MCP-server wilt inschakelen, voegt u de parameter op toegangsniveau toe aan uw MCP-configuratiebestand:
- Navigeer naar uw mcp.json-bestand of ga naar MCP: Lijstservers -> AKS-MCP -> Configuratiedetails weergeven in het opdrachtenpalet (voor VS Code;
Ctrl+Shift+Pin Windows/Linux ofCmd+Shift+Pin macOS). - Voeg in de sectie 'args' van AKS-MCP de volgende parameters toe: '--access-level', 'readwrite' of 'admin'
Voorbeeld:
"args": [
"--transport",
"stdio",
"--access-level",
"readwrite"
]
Deze hulpprogramma's zijn ontworpen om uitgebreide functionaliteit te bieden via geïntegreerde interfaces:
Azure CLI Operations (Unified Tool)
Tool:call_az
Geïntegreerd hulpprogramma voor het rechtstreeks uitvoeren van Azure CLI-opdrachten. Dit hulpprogramma biedt een flexibele interface voor het uitvoeren van een Azure CLI-opdracht.
Parameters:
-
cli_command: De volledige Azure CLI-opdracht die moet worden uitgevoerd. Een voorbeeld hiervan isaz aks list --resource-group myRGofaz vm list --subscription <sub-id>. -
timeout: Optionele time-out in seconden (standaard: 120)
Voorbeeldgebruik:
{
"cli_command": "az aks list --resource-group myResourceGroup --output json"
}
Toegangsbeheer:
- alleen-lezen: alleen leesbewerkingen zijn toegestaan
- readwrite/admin: zowel lees- als schrijfbewerkingen zijn toegestaan
Belangrijk
Opdrachten moeten eenvoudige Azure CLI-aanroepen zijn zonder shellfuncties zoals pipes (|), omleidingen (>, <), vervanging van opdrachten of puntkomma's (;).
Kubernetes Operations (Unified Tool)
Geïntegreerd kubectl-hulpmiddel
Tool:call_kubectl
Geïntegreerd hulpprogramma voor het rechtstreeks uitvoeren van kubectl-opdrachten. Dit hulpprogramma biedt een flexibele interface voor het uitvoeren van elke kubectl opdracht met volledige ondersteuning voor argumenten.
Parameters:
-
args: De kubectl-opdrachtargumenten. Bijvoorbeeldget pods,describe node mynodeofapply -f deployment.yaml.
Voorbeeldgebruik:
{
"args": "get pods -n kube-system -o wide"
}
Toegangsbeheer: Bewerkingen worden beperkt op basis van het geconfigureerde toegangsniveau:
- readonly: Alleen leesbewerkingen (ophalen, beschrijven, logboeken, enzovoort) zijn toegestaan
- readwrite/admin: alle bewerkingen, waaronder muterende opdrachten (maken, verwijderen, toepassen, enzovoort)
Stuur
Tool:call_helm
Helm-pakketbeheer voor Kubernetes.
Cilium
Tool:call_cilium
Cilium CLI voor netwerken en beveiliging op basis van eBPF.
Hubble
Tool:call_hubble
Hubble-netwerkobserveerbaarheid voor Cilium.
Netwerkresourcebeheer
Tool:aks_network_resources
Geïntegreerd hulpprogramma voor het ophalen van azure-netwerkresourcegegevens die worden gebruikt door AKS-clusters.
Beschikbare resourcetypen:
-
all: Informatie over alle netwerkbronnen ophalen -
vnet: Informatie over virtueel netwerk -
subnet: Subnetgegevens -
nsg: Informatie over netwerkbeveiligingsgroep -
route_table: Routetabelgegevens -
load_balancer: Load Balancer-informatie -
private_endpoint: Informatie over privé-eindpunten
Bewaking en diagnostiek
Tool:aks_monitoring
Geïntegreerd hulpprogramma voor azure-bewakings- en diagnosebewerkingen voor AKS-clusters.
Beschikbare bewerkingen:
-
metrics: Metrische waarden voor resources weergeven -
resource_health: Resource Health-gebeurtenissen voor AKS-clusters ophalen -
app_insights: KQL-query's uitvoeren op Application Insights-telemetriegegevens -
diagnostics: Controleer of voor een AKS-cluster diagnostische instellingen zijn geconfigureerd -
control_plane_logs: Uitvoeren van query's op AKS control plane-logboeken met veiligheidsbeperkingen en validatie van tijdsbereik
Rekenresources
Tool:get_aks_vmss_info
- Haal de gedetailleerde configuratie van uw virtuele-machine schaalsets (knooppuntgroepen) op in het AKS-cluster.
Vlootbeheer
Tool:az_fleet
Uitgebreid Azure Fleet-beheer voor scenario's met meerdere clusters.
Beschikbare bewerkingen:
- Fleet Operations: lijst, weergeven, maken, bijwerken, verwijderen, get-credentials
- Lidbewerkingen: lijst, weergeven, maken, bijwerken, verwijderen
- Uitvoeringsbewerkingen bijwerken: lijst, weergeven, maken, starten, stoppen, verwijderen
- Strategiebewerkingen bijwerken: lijst, weergeven, maken, verwijderen
- ClusterResourcePlacement-bewerkingen: lijst, weergeven, ophalen, maken, verwijderen
Ondersteunt zowel Azure Fleet-beheer als Kubernetes ClusterResourcePlacement CRD-bewerkingen.
Diagnostische detectoren
Tool:aks_detector
Geïntegreerd hulpprogramma voor het uitvoeren van diagnostische AKS-detectorbewerkingen.
Beschikbare bewerkingen:
-
list: Alle beschikbare AKS-clusterdetectoren weergeven -
run: Een specifieke AKS-diagnostische detector uitvoeren -
run_by_category: Alle detectoren in een specifieke categorie uitvoeren
Parameters:
-
operation(vereist): De bewerking die moet worden uitgevoerd (list,runofrun_by_category) -
aks_resource_id(vereist): AKS-clusterresource-ID -
detector_name(vereist voorrunbewerking): De naam van de detector die moet worden uitgevoerd -
category(vereist voorrun_by_categorybewerking): detectorcategorie -
start_time(vereist voorrunenrun_by_categorybewerkingen): Begintijd in UTC ISO-indeling (binnen de afgelopen 30 dagen) -
end_time(vereist voorrunenrun_by_categorybewerkingen): Eindtijd in UTC ISO-indeling (binnen de afgelopen 30 dagen, maximaal 24 uur vanaf het begin)
Beschikbare categorieën:
- Beste praktijken
- Beschikbaarheid en prestaties van cluster- en besturingsvlak
- Connectiviteitsproblemen
- Maken, upgraden, verwijderen en schalen
- Verouderingen
- Identiteit en beveiliging
- Gezondheid van knooppunt
- Storage
Voorbeeldgebruik:
Tool: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 Advisor
Tool:aks_advisor_recommendation
Azure Advisor-aanbevelingen voor AKS-clusters ophalen en beheren.
Beschikbare bewerkingen:
-
list: Aanbevelingen weergeven met filteropties -
report: Aanbevelingsrapporten genereren - Filteropties: resource_group, cluster_names, categorie (kosten, hoge beschikbaarheid, prestaties, beveiliging), ernst (hoog, gemiddeld, laag)
Realtime observatie
Tool:inspektor_gadget_observability
Realtime observatietool voor clusters van Azure Kubernetes Service (AKS) met behulp van eBPF.
Beschikbare acties:
-
deploy: Inspektor Gadget implementeren in cluster -
undeploy: Inspektor Gadget verwijderen uit cluster -
is_deployed: Implementatiestatus controleren -
run: Gadgets met één shot uitvoeren -
start: Doorlopende gadgets starten -
stop: Stoppen met het uitvoeren van gadgets -
get_results: Gadgetresultaten ophalen -
list_gadgets: Beschikbare gadgets weergeven
Beschikbare gadgets:
-
observe_dns: DNS-aanvragen en -antwoorden bewaken -
observe_tcp: TCP-verbindingen bewaken -
observe_file_open: Bewaak bestandssysteembewerkingen -
observe_process_execution: Procesuitvoering bewaken -
observe_signal: Signaallevering bewaken -
observe_system_calls: Systeemoproepen bewaken -
top_file: Belangrijkste bestanden per I/O-bewerking -
top_tcp: Belangrijkste TCP-verbindingen per verkeer -
tcpdump: Netwerkpakketten vastleggen
Aan de slag met de AKS MCP-server
De AKS MCP-server heeft twee modi: lokaal en extern. In deze sectie behandelen we de use cases en installatieprocessen voor beide modi.
Lokale MCP-server
In de lokale modus wordt de MCP-server uitgevoerd op de lokale computer van een ontwikkelaar en maakt deze verbinding met AKS met behulp van de bestaande machtigingen van de ontwikkelaar. Deze modus is het beste voor het snel instellen van uw lokale AI-agent met AKS-expertise en hulpprogramma's zonder dat hiervoor onderdelen aan de clusterzijde zijn vereist. De lokale modus kan de huidige clustercontext gebruiken en dwingt de Kubernetes- en Azure RBAC-machtigingen van de ontwikkelaar af. Standaard staat de lokale AKS MCP-server de transportmodi STDIO en SSE toe.
Vereiste voorwaarden
Voordat u de AKS MCP-server installeert, moet u Azure CLI instellen en verifiëren:
az login
- Visual Studio Code met GitHub Copilot (aanbevolen)
- Handmatige binaire installatie
- Docker
- Aangepaste clientinstallatie
De eenvoudigste manier om aan de slag te gaan met AKS-MCP is via de Azure Kubernetes Service-extensie voor VS Code. De AKS-extensie verwerkt binaire downloads, updates en configuratie automatisch, zodat u altijd de nieuwste versie met optimale instellingen hebt.
Stap 1: De AKS-extensie installeren
- Open VS Code en ga naar Extensies (
Ctrl+Shift+Xin Windows/Linux ofCmd+Shift+Xin macOS). - Zoek naar Azure Kubernetes Service.
- Installeer de officiële Microsoft AKS-extensie.
Stap 2: de AKS-MCP-server starten
- Gebruik het Opdrachtenpalet (
Ctrl+Shift+Pin Windows/Linux ofCmd+Shift+Pin macOS). - Zoeken en uitvoeren: AKS: AKS MCP-server instellen.
Na een geslaagde installatie wordt de server weergegeven in MCP: Lijstservers (via opdrachtpalet). Van daaruit kunt u de MCP-server starten of de status ervan bekijken.
Stap 3: AKS-MCP gaan gebruiken
Zodra de MCP-server is gestart, wordt deze weergegeven in de vervolgkeuzelijst Copilot Chat: Configureer Hulpprogramma's, MCP Server: AKS MCPklaar om contextuele prompts te optimaliseren op basis van uw AKS-omgeving. Standaard zijn alle AKS-MCP serverhulpprogramma's ingeschakeld. U kunt de lijst met beschikbare hulpprogramma's bekijken en alle hulpprogramma's uitschakelen die niet vereist zijn voor uw scenario.
Probeer een prompt zoals "Al mijn AKS-clusters weergeven" om te beginnen met het gebruik van tools van de AKS-MCP-server.
Aanbeveling
WSL-configuratie: als u VS Code in Windows gebruikt met WSL, gebruikt "command": "wsl" u deze om het binaire WSL-bestand aan te roepen. Als VS Code wordt uitgevoerd in WSL (Remote-WSL), roept u het binaire bestand rechtstreeks aan of gebruikt u in plaats daarvan een bash-wrapper.
Externe MCP-server
In de externe modus wordt de MCP-server uitgevoerd als een workload in het AKS-cluster of een rekenproces van uw keuze. Deze modus is het meest geschikt voor productieomgevingen met gedeelde hulpprogramma's, consistente machtigingen voor gebruikers en volledig toegangsbeheer met behulp van Kubernetes ServiceAccount en Workload Identity. De externe AKS MCP-server maakt gebruik van het HTTP-protocol om interacties tussen uw AI-assistent en een AKS-cluster te vergemakkelijken.
Vereiste voorwaarden
- AKS-cluster met Kubernetes 1.19+
- Helm 3.8+
- Azure CLI geïnstalleerd en geverifieerd (
az login)
Installeren met de Helm-grafiek
Kloon de opslagplaats en installeer de AKS-MCP Helm-grafiek:
git clone https://github.com/Azure/aks-mcp.git
cd aks-mcp/chart
helm install aks-mcp . --namespace aks-mcp --create-namespace
Zie de Helm chart documentatie voor de volledige lijst met configuratieparameters.
Verificatie configureren
Kies een verificatiemethode op basis van uw omgeving en beveiligingsvereisten:
- Workloadidentiteit (aanbevolen)
- OAuth voor lees- en schrijfrechten
- Service-principal met bestaand geheim
- Directe inloggegevens
Workloadidentiteit biedt verificatie zonder wachtwoord door een Kubernetes ServiceAccount te koppelen aan een door Azure beheerde identiteit.
1. OIDC inschakelen op uw AKS-cluster
az aks update \
--resource-group <your-resource-group> \
--name <your-aks-cluster> \
--enable-oidc-issuer \
--enable-workload-identity
2. Een beheerde identiteit maken en RBAC-machtigingen toewijzen
# 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. Een federatieve identiteitsreferentie maken
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
Belangrijk
Maak de federatieve referentiegegevens voordat u de Helm-chart installeert.
4. Installeren met workloadidentiteit ingeschakeld
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>
Inschakelen van Ingress met Azure App Routing
De MCP-server extern beschikbaar maken met behulp van Azure App Routing:
# 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
Uw MCP-client verbinden
Na de implementatie verbindt u uw AI-assistent met de externe MCP-server:
# Port forward for local testing
kubectl port-forward svc/aks-mcp 8000:8000 -n aks-mcp
Configureer uw MCP-client om verbinding te maken:
{
"mcpServers": {
"aks-mcp": {
"url": "http://localhost:8000",
"transport": "streamable-http"
}
}
}
Gebruik voor toegang in het cluster het volgende: http://aks-mcp.aks-mcp.svc.cluster.local:8000
Handleiding voor Helm-configuratie
| Kenmerk | Description | Verstek |
|---|---|---|
workloadIdentity.enabled |
Azure Workload Identity inschakelen | false |
azure.clientId |
Azure-client-id | "" |
azure.tenantId |
Azure-tenant-id | "" |
azure.clientSecret |
Azure Clientgeheim | "" |
azure.subscriptionId |
Azure-abonnements-id | "" |
azure.existingSecret |
Een bestaand Kubernetes-geheim gebruiken | "" |
app.accessLevel |
Toegangsniveau: readonly, readwriteadmin |
readonly |
app.transport |
Vervoer: stdio, ssestreamable-http |
streamable-http |
oauth.enabled |
OAuth-verificatie inschakelen | false |
ingress.enabled |
Ingress inschakelen | false |
De AKS MCP-server verwijderen
Het proces voor het verwijderen van de AKS MCP-server is afhankelijk van de implementatiemodus en waar deze momenteel wordt uitgevoerd.
VS Code met AKS-extensie
- Gebruik het Opdrachtenpalet (
Ctrl+Shift+Pin Windows/Linux ofCmd+Shift+Pin macOS). - Voer MCP uit: Servers vermelden.
- Selecteer AKS MCP in de lijst.
- Selecteer Server stoppen om de actieve server te stoppen.
- Als u de configuratie wilt verwijderen, selecteert u Serverconfiguratie verwijderen.
U kunt de serverconfiguratie ook handmatig verwijderen:
- Open uw
.vscode/mcp.jsonbestand of VS Code-gebruikersinstellingen. - Verwijder de
aks-mcp-serververmelding uit hetserversofgithub.copilot.chat.mcp.serversobject. - Verwijder de AKS-MCP binair bestand van uw systeem (locatie varieert op basis van de installatiemethode).
Docker
Als u Docker MCP Toolkit gebruikt:
- Open Docker Desktop.
- Selecteer MCP Toolkit in de linkerzijbalk.
- Zoek de AKS-MCP-server en schakel deze uit.
Als u een containerconfiguratie gebruikt, stopt en verwijdert u de container:
docker stop <container-id>
docker rm <container-id>
Andere MCP-clients
Verwijder de aks of aks-mcp vermelding uit uw MCP-clientconfiguratiebestand (bijvoorbeeld Claude Desktop's claude_desktop_config.json).
Veelvoorkomende problemen en probleemoplossing
In deze sectie vindt u een overzicht van veelvoorkomende problemen met installatie en runtime, hun symptomen en hoe u deze kunt oplossen.
AKS MCP-server heeft geen toegang tot het cluster
Symptomen:
- Hulpprogramma's geven autorisatiefouten
- Er zijn geen resources zichtbaar
Waarschijnlijke oorzaken:
- De gebruikers- of MCP-identiteit beschikt niet over voldoende machtigingen
- Onjuiste ServiceAccount-binding
- Onjuist geconfigureerde kubeconfig-context (lokale modus)
Resolutie:
- Lokale modus: Controleer of u voldoende machtigingen hebt om toegang te krijgen tot het cluster. Controleer of u zich in de juiste cluster- en abonnementscontext bevindt.
- Externe modus: Controleer de ClusterRole-bindingen voor het ServiceAccount dat wordt gebruikt door de MCP-server
Azure API-aanroepen mislukken
Symptomen:
- call_az tools retourneren verificatie- of autorisatiefouten
Waarschijnlijke oorzaken:
- Workloadidentiteit is niet ingeschakeld voor uw cluster
- ServiceAccount is niet gefedereerd
- Ontbrekende Azure RBAC-toewijzingen
Resolutie:
- Controleer of workloadidentiteit is ingeschakeld op uw cluster
- Federatieve identiteitsconfiguratie controleren
- De juiste Azure-rollen toewijzen aan de beheerde identiteit
Volgende stappen
Meer informatie over de intelligente functies die systeemeigen zijn gebouwd voor AKS:
- Over de agent-gebaseerde CLI voor AKS
- De agentische CLI voor AKS installeren en gebruiken