Az Azure Kubernetes Service-fürt (AKS) csatlakoztatása AI-ügynökökhöz a Model Context Protocol (MCP) kiszolgáló használatával

Az AKS Model Context Protocol (MCP) kiszolgáló lehetővé teszi az AI-asszisztensek számára az Azure Kubernetes Service(AKS) fürtök egyértelmű, biztonságos és szabályozható használatát. Hidat képez az AI-eszközök (például a GitHub Copilot, Claude és más MCP-kompatibilis AI-asszisztensek) és az AKS között, természetes nyelvi kéréseket fordít át AKS-műveletekre, és az eredményeket az AI-eszközök által érthető formátumban adja vissza.

Az AKS MCP-kiszolgáló az Azure SDK használatával csatlakozik az Azure-hoz, és olyan eszközöket biztosít, amelyekkel az AI-asszisztensek az AKS-erőforrásokat használhatják. Ezek az eszközök lehetővé teszik az AI-ügynökök számára a következő feladatok elvégzését:

  • Hibaelhárítás és diagnosztika
  • A fürt állapotának elemzése
  • AKS-erőforrások üzemeltetése (CRUD)
  • Az AKS-fürtökkel (virtuális hálózatok, alhálózatok, hálózati biztonsági csoportok (NSG-k), útvonaltáblákkal stb.) kapcsolatos adatok lekérése
  • Ajánlott eljárások és ajánlott funkciók engedélyezése
  • Azure Fleet-műveletek kezelése többfürtes forgatókönyvekhez

Az AKS MCP-kiszolgáló egy teljesen nyílt forráskódú projekt. A forráskódokkal és kiadásokkal kapcsolatban lásd az AKS MCP GitHub adattárát.

Mikor érdemes használni az AKS MCP-kiszolgálót?

Az AKS MCP-kiszolgáló bármilyen kompatibilis AI-asszisztenssel használható, beleértve az AKS és a Microsoft Copilot ügynöki parancssori felületét is. Gyakori használati esetek a következők:

  • AI-asszisztensek kérdéseinek megválaszolása, például:
    • Miért vannak függőben a podok ebben a fürtben?
    • Mi az én AKS-fürtöm hálózati konfigurációja?
    • "Elhelyezés létrehozása nginx számítási feladatok üzembe helyezéséhez az app=frontend címkével rendelkező fürtökön."
  • Az AI-eszközök használatának engedélyezése
    • A fürt állapotának és konfigurációjának olvasása
    • Metrikák, események és naplók vizsgálata
    • Jelek korrelálása a Kubernetes és az Azure-erőforrások között
    • Módosítások alkalmazása és új funkciók engedélyezése közvetlenül a fürtön

Az AKS MCP-kiszolgálón végrehajtott összes műveletet a Kubernetes Role-Based Access Control (RBAC) és Azure RBAC korlátozza. Az AKS MCP-kiszolgáló örökli az Ön engedélyeit a fürt és az Azure-erőforrások elérésekor.

A rendelkezésre álló eszközök

Az AKS MCP szerver széleskörű eszközkészletet biztosít az AKS-fürtökkel és a hozzájuk tartozó erőforrásokkal való interakcióhoz. Alapértelmezés szerint a kiszolgáló egységes eszközöket használ (call_az az Azure-műveletekhez és call_kubectl a Kubernetes-műveletekhez), amelyek rugalmasabb felületet biztosítanak a Kubernetes és az Azure-erőforrások kezelésére.

Az AKS MCP szerverhez három engedélycsoportot lehet engedélyezni: olvasásra korlátozott (alapértelmezett), olvasási és írási, valamint rendszergazdai. Egyes eszközök olvasási és írási vagy rendszergazdai engedélyeket igényelnek az olyan műveletek végrehajtásához, mint a hibakeresési podok üzembe helyezése vagy CRUD műveletek végrehajtása a fürtön. A AKS-MCP-kiszolgáló írási vagy rendszergazdai engedélyeinek engedélyezéséhez adja hozzá a hozzáférési szintű paramétert az MCP konfigurációs fájljához:

  1. Navigáljon a mcp.json fájlhoz, vagy lépjen az MCP: List Servers – AKS-MCP – Show Configuration Details opcióra a >-ben (VS Code-hoz; > Windows/Linux, illetve macOS esetén).
  2. Az AKS-MCP "args" szakaszában adja hozzá a következő paramétereket: "--access-level", "readwrite" vagy "admin"

Például:

"args": [
  "--access-level",
  "readwrite"
]

Ezeket az eszközöket úgy tervezték, hogy egységes interfészeken keresztül átfogó funkcionalitást biztosítsanak:

Azure CLI-műveletek (egyesített eszköz)

Eszköz:call_az

Egységesített eszköz az Azure CLI-parancsok közvetlen végrehajtásához. Ez az eszköz rugalmas felületet biztosít bármely Azure CLI-parancs futtatásához.

Paraméterek:

  • cli_command: A végrehajtandó teljes Azure CLI-parancs. Például, az aks list --resource-group myRG vagy az vm list --subscription <sub-id>.
  • timeout: Opcionális időkorlát másodpercben (alapértelmezett: 120)

Példa használat:

{
  "cli_command": "az aks list --resource-group myResourceGroup --output json"
}

Hozzáférés-vezérlés:

  • írásvédett: Csak olvasási műveletek engedélyezettek
  • olvasás-írás/admin: Olvasási és írási műveletek is engedélyezettek

Fontos

A parancsoknak egyszerű Azure CLI-hívásoknak kell lenniük olyan rendszerhéjfunkciók nélkül, mint például: csövek (|), átirányítások (>, <), parancsok helyettesítése és pontosvesszők (;).

Kubernetes Operations (Egyesített eszköz)

Egyesített kubectl eszköz

Eszköz:call_kubectl

Egyesített eszköz a kubectl-parancsok közvetlen végrehajtásához. Ez az eszköz rugalmas felületet biztosít bármely kubectl parancs futtatásához teljes argumentumtámogatással.

Paraméterek:

  • args: A kubectl parancsargumentumai. Például, get podsvagy describe node mynodeapply -f deployment.yaml.

Példa használat:

{
  "args": "get pods -n kube-system -o wide"
}

Hozzáférés-vezérlés: A műveletek a konfigurált hozzáférési szint alapján korlátozottak:

  • readonly: Csak az olvasási műveletek (lekérés, leírás, naplózás stb.) engedélyezettek
  • readwrite/admin: Minden művelet, beleértve a mutációs parancsokat (létrehozás, törlés, alkalmazás stb.)

Kormánykerék

Eszköz:call_helm

Helm-csomagkezelő a Kuberneteshez.

Cilium

Eszköz:call_cilium

Cilium CLI az eBPF-alapú hálózatkezeléshez és biztonsághoz.

Hubble

Eszköz:call_hubble

A Hubble-hálózat megfigyelhetősége a Cilium esetében.

Hálózati erőforrás-kezelés

Eszköz:aks_network_resources

Egyesített eszköz az AKS-fürtök által használt Azure-hálózati erőforrásadatok lekéréséhez.

Elérhető erőforrástípusok:

  • all: Az összes hálózati erőforrással kapcsolatos információk lekérése
  • vnet: Virtuális hálózat adatai
  • subnet: Alhálózati információk
  • nsg: Hálózati biztonsági csoport adatai
  • route_table: Útvonaltábla adatai
  • load_balancer: A Load Balancer adatai
  • private_endpoint: Privát végpont adatai
Monitorozás és diagnosztika

Eszköz:aks_monitoring

Az Azure AKS-fürtökhöz használt egységes eszköz a monitoring és diagnosztikai műveletekhez.

Elérhető műveletek:

  • metrics: Erőforrások metrikaértékeinek listázása
  • resource_health: Erőforrások állapotának eseményei lekérése AKS-fürtökhöz
  • app_insights: KQL-lekérdezések végrehajtása az Application Insights telemetriai adatain
  • diagnostics: Ellenőrizze, hogy az AKS-fürt rendelkezik-e konfigurált diagnosztikai beállításokkal
  • control_plane_logs: Az AKS vezérlősík-naplóinak lekérdezése biztonsági korlátozásokkal és időtartomány-ellenőrzéssel
Számítási erőforrások

Eszköz:get_aks_vmss_info

  • A virtuálisgép-méretezési csoportok (csomópontkészletek) részletes konfigurációjának lekérése az AKS-fürtben
Flottakezelés

Eszköz:az_fleet

Átfogó Azure Fleet-felügyelet többfürtes forgatókönyvekhez.

Elérhető műveletek:

  • Flottaműveletek: lista, megjelenítés, létrehozás, frissítés, törlés, hitelesítő adatok lekérése
  • Tagműveletek: listázás, megjelenítés, létrehozás, frissítés, törlés
  • Futtatási műveletek frissítése: lista, megjelenítés, létrehozás, indítás, leállítás, törlés
  • Frissítési stratégiaműveletek: listázás, megtekintés, létrehozás, törlés
  • ClusterResourcePlacement műveletek: lista, megjelenítés, lekérés, létrehozás, törlés

Támogatja az Azure Fleet managementet és a Kubernetes ClusterResourcePlacement CRD-műveleteket is.

Diagnosztikai érzékelők

Eszköz:aks_detector

Egyesített eszköz az AKS diagnosztikai detektorműveletek végrehajtásához.

Elérhető műveletek:

  • list: Az összes elérhető AKS-fürtérzékelő listázása
  • run: Egy adott AKS diagnosztikai detektor futtatása
  • run_by_category: Az összes érzékelő futtatása egy adott kategóriában

Paraméterek:

  • operation (kötelező): Végrehajtandó művelet (list, runvagy run_by_category)
  • aks_resource_id (kötelező): AKS-fürt erőforrásazonosító
  • detector_name (működéshez run szükséges): A futtatni kívánt detektor neve
  • category (működéshez run_by_category szükséges): Detektor kategória
  • start_time(run és run_by_category műveletekhez szükséges): Kezdési idő UTC ISO formátumban (az elmúlt 30 napon belül)
  • end_time (szükséges a run és run_by_category műveletekhez): Befejezési idő UTC ISO formátumban (az utóbbi 30 napban, legfeljebb 24 órával a kezdéstől)

Elérhető kategóriák:

  • Ajánlott eljárások
  • Fürt és vezérlősík rendelkezésre állása és teljesítménye
  • Csatlakozási problémák
  • Létrehozás, frissítés, törlés és méretezés
  • Elavulások
  • Identitás és biztonság
  • Csomópont állapota
  • Storage

Példa használat:

Eszköz: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

Eszköz:aks_advisor_recommendation

Az Azure Advisor javaslatainak lekérése és kezelése az AKS-fürtökre.

Elérhető műveletek:

  • list: Javaslatok listázása szűrési beállításokkal
  • report: Javaslati jelentések létrehozása
  • Szűrési beállítások: resource_group, cluster_names, kategória (Költség, Magas rendelkezésre állás, Teljesítmény, Biztonság), súlyosság (Magas, Közepes, Alacsony)
Valós idejű megfigyelhetőség

Eszköz:inspektor_gadget_observability

Valós idejű megfigyelhetőségi eszköz az Azure Kubernetes Service-fürtökhöz eBPF használatával.

Elérhető műveletek:

  • deploy: Inspektor Gadget üzembe helyezése klaszterre
  • undeploy: Inspektor Gadget eltávolítása a fürtből
  • is_deployed: Az üzembe helyezés állapotának ellenőrzése
  • run: Egyszeri futtatású minialkalmazások futtatása
  • start: Folyamatos minialkalmazások indítása
  • stop: Minialkalmazások futtatásának leállítása
  • get_results: Kütyüeredmények megtekintése
  • list_gadgets: Elérhető minialkalmazások listázása

Elérhető eszközök:

  • observe_dns: DNS-kérelmek és -válaszok figyelése
  • observe_tcp: TCP-kapcsolatok figyelése
  • observe_file_open: Fájlrendszerműveletek figyelése
  • observe_process_execution: Folyamatvégrehajtás figyelése
  • observe_signal: A jelkézbesítés figyelése
  • observe_system_calls: Rendszerhívások figyelése
  • top_file: Legjobb fájlok I/O műveletek alapján
  • top_tcp: A legfontosabb TCP-kapcsolatok forgalom szerint
  • tcpdump: Hálózati csomagok rögzítése

Az AKS MCP-kiszolgáló használatának első lépései

Az MCP-kiszolgáló a helyi gépen fut, és a meglévő engedélyekkel csatlakozik az AKS-hez. Gyorsan beállíthat egy helyi AI-ügynököt AKS-szakértelemmel és eszközkészlettel. A kiszolgáló az aktuális fürtkörnyezetet használja, és érvényesíti a Kubernetes- és Azure RBAC-engedélyeit.

Megjegyzés:

A 0.0.20-s verziótól kezdve a Helmmel vagy konténerekkel végzett távoli telepítések nem támogatottak. Használja a helyi bináris fájlt.

Előfeltételek

Az AKS MCP-kiszolgáló telepítése előtt állítsa be az Azure CLI-t , és hitelesítse:

az login

A AKS-MCP használatának legegyszerűbb módja a VS Code-hoz készült Azure Kubernetes Service-bővítmény. Az AKS-bővítmény automatikusan kezeli a bináris letöltéseket, frissítéseket és konfigurációkat, így mindig a legújabb verzióval rendelkezik az optimális beállításokkal.

1. lépés: Az AKS-bővítmény telepítése

  1. Nyissa meg a VS Code-ot, és nyissa meg a bővítményeket (Ctrl+Shift+X Windows/Linux vagy Cmd+Shift+X macOS rendszeren).
  2. Keresse meg az Azure Kubernetes Service-t.
  3. Telepítse a hivatalos Microsoft AKS-bővítményt.

2. lépés: A AKS-MCP-kiszolgáló elindítása

  1. Nyissa meg a parancskatalógust (Ctrl+Shift+P Windows/Linux vagy Cmd+Shift+P macOS rendszeren).
  2. Keresés és futtatás: AKS: Az AKS MCP-kiszolgáló beállítása.

Sikeres telepítés esetén a kiszolgáló megjelenik az MCP: List Servers (parancskatalóguson keresztül). Innen elindíthatja az MCP-kiszolgálót, vagy megtekintheti annak állapotát.

3. lépés: Az AKS-MCP használatának megkezdése

Miután elindult, az MCP-kiszolgáló megjelenik a Copilot Csevegés: Eszközök konfigurálása legördülő listában MCP Server: AKS MCP, készen arra, hogy az AKS-környezet alapján javítsa a környezetfüggő kéréseket. Alapértelmezés szerint minden AKS-MCP kiszolgálóeszköz engedélyezve van. Áttekintheti az elérhető eszközök listáját, és letilthatja a forgatókönyvhöz nem szükséges eszközöket.

Próbálkozzon a "List all my AKS clusters" parancs megadásával (az összes AKS-fürt listázása), az eszközök használatának megkezdéséhez az AKS-MCP kiszolgálóról.

Jótanács

WSL-konfiguráció: Ha a Windows rendszeren wSL-vel használja a VS Code-ot, használja "command": "wsl" a WSL-bináris meghívását. Ha a VS Code a WSL-ben (Remote-WSL) fut, hívja meg közvetlenül a bináris fájlt, vagy használjon bash burkolót.

Az AKS MCP-kiszolgáló eltávolítása

VS Code és AKS-bővítmény

  1. Nyissa meg a parancskatalógust (Ctrl+Shift+P Windows/Linux vagy Cmd+Shift+P macOS rendszeren).
  2. Futtassa az MCP: List Servers parancsot.
  3. Válassza ki az AKS MCP-t a listából.
  4. Válassza a Kiszolgáló leállítása lehetőséget a futó kiszolgáló leállításához.
  5. A konfiguráció eltávolításához válassza a Kiszolgálókonfiguráció törlése lehetőséget.

Másik lehetőségként manuálisan távolítsa el a kiszolgáló konfigurációját:

  1. Nyissa meg a .vscode/mcp.json fájlt vagy a VS Code felhasználói beállításait.
  2. Törölje a aks-mcp-server bejegyzést a servers vagy github.copilot.chat.mcp.servers objektumból.
  3. Törölje a AKS-MCP bináris fájlt a rendszerből (a hely a telepítési módszertől függően változik).

Egyéb MCP-ügyfelek

Távolítsa el az aks vagy a aks-mcp bejegyzést az MCP-ügyfélkonfigurációs fájljából (például a Claude Desktop fájljából) claude_desktop_config.json.

Gyakori problémák és hibaelhárítás

Ez a szakasz a gyakori beállítási és futásidejű problémákat, azok tüneteit és azok megoldásának módját ismerteti.

Az AKS MCP-kiszolgáló nem tudja elérni a fürtöt

Tünetek:

  • Az eszközök engedélyezési hibákat adnak vissza
  • Nincsenek látható erőforrások

Valószínű okok:

  • A felhasználó nem rendelkezik elegendő jogosultsággal
  • Helytelenül konfigurált kubeconfig kontextus

Felbontás:

  • Ellenőrizze, hogy rendelkezik-e megfelelő engedélyekkel a fürt eléréséhez. Ellenőrizze, hogy a megfelelő fürt- és előfizetési környezetben van-e.

Következő lépések

További információ az AKS-hez natívan létrehozott intelligens funkciókról:

  • Tudnivalók az AKS ügynökalapú parancssori felületéről
  • Az AKS ügynöki parancssori felületének telepítése és használata