Azure Kubernetes Service (AKS) kümenizi Model Bağlam Protokolü (MCP) sunucusunu kullanarak yapay zeka aracılarına bağlama

AKS Model Bağlam Protokolü (MCP) sunucusu, yapay zeka yardımcılarının Azure Kubernetes Service (AKS) kümeleriyle netlik, güvenlik ve denetim ile etkileşim kurmasını sağlar. Yapay zeka araçları (GitHub Copilot, Claude ve diğer MCP uyumlu yapay zeka yardımcıları gibi) ile AKS arasında bir köprü görevi görür ve doğal dil isteklerini AKS işlemlerine çevirir ve sonuçları yapay zeka araçlarının anlayabileceği bir biçimde döndürür.

AKS MCP sunucusu, Azure SDK'yı kullanarak Azure'a bağlanır ve yapay zeka yardımcılarının AKS kaynaklarıyla etkileşim kurmak için kullanabileceği bir dizi araç sağlar. Bu araçlar yapay zeka aracılarının aşağıdaki gibi görevleri gerçekleştirmesine olanak sağlar:

  • Sorun giderme ve tanılama
  • Kümenizin durumunu analiz etme
  • AKS kaynaklarını çalıştırma (CRUD)
  • AKS kümeleri (VNet'ler, Alt Ağlar, Ağ Güvenlik Grupları (NSG'ler), Yol Tabloları vb.) ile ilgili ayrıntıları alma
  • En iyi yöntemleri ve önerilen özellikleri etkinleştirme
  • Çok kümeli senaryolar için Azure Fleet işlemlerini yönetme

AKS MCP sunucusu tamamen açık kaynak bir projedir. Kaynak kodu ve yayınlar için bkz. AKS MCP GitHub deposu.

AKS MCP sunucusu ne zaman kullanılır?

AKS MCP sunucusu, Microsoft Copilot ve AKS için Agentic CLI dahil uyumlu herhangi bir yapay zeka yardımcısı ile kullanılabilir. Yaygın kullanım örnekleri şunlardır:

  • Yapay zeka yardımcılarına şu soruları sormak:
    • "Podlar neden bu kümede bekliyor?"
    • "AKS kümemin ağ yapılandırması nedir?"
    • "app=frontend etiketiyle nginx iş yüklerini kümelere dağıtmak için bir yerleştirme oluşturun."
  • Yapay zeka araçlarının şunları sağlamasına izin verme:
    • Küme durumunu ve yapılandırmasını okuma
    • Ölçümleri, olayları ve günlükleri inceleme
    • Kubernetes ve Azure kaynakları arasında sinyalleri ilişkilendirme
    • Değişiklikleri uygulama ve yeni özellikleri doğrudan kümenizde etkinleştirme

AKS MCP sunucusu aracılığıyla gerçekleştirdiğiniz tüm eylemler Kubernetes Role-Based Access Control (RBAC) ve Azure RBAC tarafından kısıtlanır. AKS MCP sunucusu, kümeye ve Azure kaynaklarına erişirken izinlerinizi devralır.

Kullanılabilir araçlar

AKS MCP sunucusu, AKS kümeleri ve ilişkili kaynaklarla etkileşim kurmak için kapsamlı bir araç kümesi sağlar. Varsayılan olarak sunucu, Kubernetes ve Azure kaynaklarıyla etkileşime yönelik daha esnek bir arabirim sağlayan call_az (call_kubectlAzure işlemleri ve Kubernetes işlemleri için) kullanır.

AKS MCP sunucusu için etkinleştirebileceğiniz üç izin kümesi vardır: salt okunur (varsayılan), okuma-yazma ve yönetici. Bazı araçlar, kümenizde hata ayıklama podları veya CRUD eylemleri dağıtma gibi eylemleri gerçekleştirmek için okuma-yazma veya yönetici izinleri gerektirir. AKS-MCP sunucusunda okuma-yazma veya yönetici izinlerini etkinleştirmek için erişim düzeyi parametresini MCP yapılandırma dosyanıza ekleyin:

  1. mcp.json dosyanıza gidin veya MCP: Sunucuları Listeleme -> AKS-MCP ->Yapılandırma Ayrıntılarını Komut Paletinde Göster 'e gidin (VS Code için; Ctrl+Shift+P Windows/Linux veya Cmd+Shift+P macOS'ta).
  2. AKS-MCP'nin "args" bölümüne şu parametreleri ekleyin: "--access-level," "readwrite" veya "admin"

Örneğin:

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

Bu araçlar birleşik arabirimler aracılığıyla kapsamlı işlevsellik sağlamak için tasarlanmıştır:

Azure CLI İşlemleri (Birleşik Araç)

Aracı:call_az

Azure CLI komutlarını doğrudan yürütmek için birleşik araç. Bu araç, herhangi bir Azure CLI komutunu çalıştırmak için esnek bir arabirim sağlar.

Parametreler:

  • cli_command: Yürütülecek tam Azure CLI komutu. Örneğin, az aks list --resource-group myRG veya az vm list --subscription <sub-id>.
  • timeout: saniye olarak isteğe bağlı zaman aşımı (varsayılan: 120)

Örnek Kullanım:

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

Erişim Denetimi:

  • salt okunur: Salt okuma izinlidir
  • readwrite/admin: Hem okuma hem de yazma işlemlerine izin verilir

Önemli

Komutlar, borular (|), yeniden yönlendirmeler (>, <), komut yerleştirme veya noktalı virgül (;) gibi kabuk özellikleri olmayan basit Azure CLI çağrıları olmalıdır.

Kubernetes İşlemleri (Birleşik Araç)

Birleştirilmiş kubectl Aracı

Aracı:call_kubectl

Kubectl komutlarını doğrudan yürütmek için birleşik araç. Bu araç, tam bağımsız değişken desteğine sahip herhangi kubectl bir komutu çalıştırmak için esnek bir arabirim sağlar.

Parametreler:

  • args: kubectl komutunun bağımsız değişkenleri. Örneğin, get pods, describe node mynode veya apply -f deployment.yaml.

Örnek Kullanım:

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

Erişim Denetimi: İşlemler yapılandırılan erişim düzeyine göre kısıtlanır:

  • yalnız okunabilir: Yalnızca okuma işlemlerine (alma, tanımlama, günlükler vb.) izin verilir
  • readwrite/admin: Komutların değiştirilmesi (oluşturma, silme, uygulama vb.) dahil tüm işlemler

Dümen

Aracı:call_helm

Kubernetes için Helm paket yöneticisi.

Cilium

Aracı:call_cilium

eBPF tabanlı ağ ve güvenlik için Cilium CLI.

Hubble

Aracı:call_hubble

Cilium için hubble ağ gözlemlenebilirliği.

Ağ Kaynak Yönetimi

Aracı:aks_network_resources

AKS kümeleri tarafından kullanılan Azure ağ kaynağı bilgilerini almak için birleşik araç.

Kullanılabilir Kaynak Türleri:

  • all: Tüm ağ kaynakları hakkında bilgi alma
  • vnet: Sanal Ağ bilgileri
  • subnet: Alt ağ bilgileri
  • nsg: Ağ Güvenlik Grubu bilgileri
  • route_table: Yol Tablosu bilgileri
  • load_balancer: Load Balancer bilgileri
  • private_endpoint: Özel uç nokta bilgileri
İzleme ve Tanılama

Aracı:aks_monitoring

AKS kümeleri için Azure izleme ve tanılama işlemleri için birleşik araç.

Kullanılabilir İşlemler:

  • metrics: Kaynaklar için ölçüm değerlerini listeleme
  • resource_health: AKS kümeleri için kaynak sağlığı olaylarını alma
  • app_insights: Application Insights telemetri verilerine karşı KQL sorguları yürütme
  • diagnostics: AKS kümesinde tanılama ayarlarının yapılandırılıp yapılandırılmadığını denetleyin
  • control_plane_logs: Güvenlik kısıtlamaları ve zaman aralığı doğrulaması ile AKS kontrol düzlemi günlüklerini sorgulama
İşlem Kaynakları

Aracı:get_aks_vmss_info

  • AKS kümesinde Sanal Makine Ölçek Kümelerinizin (düğüm havuzları) ayrıntılı yapılandırmasını alma
Filo Yönetimi

Aracı:az_fleet

Çok kümeli senaryolar için kapsamlı Azure Fleet yönetimi.

Kullanılabilir İşlemler:

  • Filo Operasyonları: listele, göster, oluştur, güncelle, sil, kimlik bilgilerini al
  • Üye İşlemleri: listeleme, gösterme, oluşturma, güncelleştirme, silme
  • Çalıştırma İşlemlerini Güncelleştirme: listeleme, gösterme, oluşturma, başlatma, durdurma, silme
  • Güncelleştirme Stratejisi İşlemleri: listeleme, gösterme, oluşturma, silme
  • ClusterResourcePlacement İşlemleri: listeleme, gösterme, alma, oluşturma, silme

Hem Azure Fleet yönetimini hem de Kubernetes ClusterResourcePlacement CRD işlemlerini destekler.

Tanılama Algılayıcıları

Aracı:aks_detector

AKS tanılama algılayıcısı işlemlerini yürütmek için birleşik araç.

Kullanılabilir İşlemler:

  • list: Kullanılabilir tüm AKS kümesi algılayıcılarını listeleme
  • run: Belirli bir AKS tanılama algılayıcısı çalıştırma
  • run_by_category: Belirli bir kategorideki tüm algılayıcıları çalıştırma

Parametreler:

  • operation (gerekli): gerçekleştirme işlemi (list, runveya run_by_category)
  • aks_resource_id (gerekli): AKS kümesi kaynak kimliği
  • detector_name (işlem için run gereklidir): Çalıştırılacak algılayıcının adı
  • category (işlem için run_by_category gerekli): Algılayıcı kategorisi
  • start_time(ve run işlemleri için run_by_category gereklidir): BAŞLANGıÇ saati UTC ISO biçiminde (son 30 gün içinde)
  • end_time(ve run işlemleri için run_by_category gereklidir): UTC ISO biçiminde bitiş saati (son 30 gün içinde, başlangıçtan itibaren en fazla 24 saat)

Kullanılabilir Kategoriler:

  • En İyi Yöntemler
  • Küme ve Denetim Düzlemi Kullanılabilirliği ve Performansı
  • Bağlantı Sorunları
  • Oluşturma, Yükseltme, Silme ve Ölçeklendirme
  • Kullanımdan Kaldırmalar
  • Kimlik ve Güvenlik
  • Düğüm Durumu
  • Storage

Örnek Kullanım:

Aracı: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 Danışmanı

Aracı:aks_advisor_recommendation

AKS kümeleri için Azure Danışmanı önerilerini alın ve yönetin.

Kullanılabilir İşlemler:

  • list: Filtreleme seçenekleriyle önerileri listeleme
  • report: Öneri raporları oluşturma
  • Filtre Seçenekleri: resource_group, cluster_names, kategori (Maliyet, YüksekAvailability, Performans, Güvenlik), önem derecesi (Yüksek, Orta, Düşük)
Gerçek Zamanlı Gözlemlenebilirlik

Aracı:inspektor_gadget_observability

eBPF kullanan Azure Kubernetes Service (AKS) kümeleri için gerçek zamanlı gözlemlenebilirlik aracı.

Kullanılabilir Eylemler:

  • deploy: Inspektor Aracını kümeye dağıtma
  • undeploy: Inspektor Gadget'i kümeden kaldır
  • is_deployed: Dağıtım durumunu denetleyin
  • run: Tek seferlik araçları çalıştırma
  • start: Sürekli cihazları başlat
  • stop: Araçları çalıştırmayı durdurma
  • get_results: Araç sonuçlarını alma
  • list_gadgets: Kullanılabilir araçları listeleme

Kullanılabilir Araçlar:

  • observe_dns: DNS isteklerini ve yanıtlarını izleme
  • observe_tcp: TCP bağlantılarını izleme
  • observe_file_open: Dosya sistemi işlemlerini izleme
  • observe_process_execution: İşlem yürütmeyi izleme
  • observe_signal: Sinyal teslimi izleme
  • observe_system_calls: Sistem çağrılarını izleme
  • top_file: G/Ç işlemlerine göre en çok kullanılan dosyalar
  • top_tcp: Trafiğe göre en iyi TCP bağlantıları
  • tcpdump: Ağ paketlerini yakalama

AKS MCP sunucusunu kullanmaya başlama

MCP sunucusu yerel makinenizde çalışır ve mevcut izinlerinizi kullanarak AKS'ye bağlanır. AKS uzmanlığı ve araçlarıyla yerel yapay zeka aracınızı hızla kurabilirsiniz. Sunucu geçerli küme bağlamını kullanır ve Kubernetes ve Azure RBAC izinlerinizi uygular.

Uyarı

0.0.20 sürümünden itibaren Helm veya kapsayıcılarla uzak dağıtımlar desteklenmiyor. Yerel ikiliyi kullanın.

Önkoşullar

AKS MCP sunucusunu yüklemeden önce Azure CLI'yı ayarlayın ve kimlik doğrulamasından geçirin:

az login

AKS-MCP kullanmaya başlamanın en kolay yolu VS Code için Azure Kubernetes Service Uzantısı'nı kullanmaktır. AKS uzantısı ikili indirmeleri, güncelleştirmeleri ve yapılandırmayı otomatik olarak işler ve her zaman en iyi ayarlara sahip en son sürüme sahip olduğunuzdan emin olur.

1. Adım: AKS Uzantısını Yükleme

  1. VS Code'ı açın ve Uzantılar'a gidin (Ctrl+Shift+X Windows/Linux veya Cmd+Shift+X macOS'ta).
  2. Azure Kubernetes Service'i arayın.
  3. Resmi Microsoft AKS uzantısını yükleyin.

2. Adım: AKS-MCP Sunucusunu başlatma

  1. Komut Paleti'ni açın (Ctrl+Shift+PWindows/Linux'ta veya Cmd+Shift+P macOS'ta).
  2. Arama ve çalıştırma: AKS: AKS MCP Sunucusu kurulumu.

Yükleme başarılı olursa, sunucu MCP: Sunucuları Listele (Komut Paleti aracılığıyla) içinde görünür. Buradan MCP sunucusunu başlatabilir veya durumunu görüntüleyebilirsiniz.

3. Adım: AKS-MCP Kullanmaya Başlama

Başlatıldıktan sonra, MCP sunucusu Copilot Sohbet: Araçları Yapılandır açılır listesinin altında MCP Server: AKS MCP görünür ve AKS ortamınıza bağlı olarak bağlamsal istemleri geliştirmeye hazırdır. Varsayılan olarak, tüm AKS-MCP sunucu araçları etkinleştirilir. Kullanılabilir araçların listesini gözden geçirebilir ve senaryonuz için gerekli olmayan araçları devre dışı bırakabilirsiniz.

AKS-MCP sunucusundaki araçları kullanmaya başlamak için "Tüm AKS kümelerimi listele" gibi bir istem deneyin.

Tavsiye

WSL Yapılandırması: WSL ile Windows'ta VS Code kullanıyorsanız, WSL ikili dosyasını çağırmak için kullanın "command": "wsl" . VS Code WSL (Remote-WSL) içinde çalışıyorsa, ikili dosyayı doğrudan çağırın veya bunun yerine bir bash sarmalayıcı kullanın.

AKS MCP sunucusunu kaldırma

AKS Uzantısı ile VS Code

  1. Komut Paleti'ni açın (Ctrl+Shift+PWindows/Linux'ta veya Cmd+Shift+P macOS'ta).
  2. MCP' i çalıştırın: Sunucuları listeleyin.
  3. Listeden AKS MCP'yi seçin.
  4. Çalışan sunucuyu durdurmak için Sunucuyu Durdur'u seçin.
  5. Yapılandırmayı kaldırmak için Sunucu Yapılandırmasını Sil'i seçin.

Alternatif olarak, sunucu yapılandırmasını el ile kaldırın:

  1. Dosyanızı .vscode/mcp.json veya VS Code Kullanıcı Ayarlarını açın.
  2. aks-mcp-server veya servers nesnesinden github.copilot.chat.mcp.servers girdisini silin.
  3. sisteminizden AKS-MCP ikili dosyasını silin (konum yükleme yöntemine göre değişir).

Diğer MCP İstemcileri

MCP istemcisi yapılandırma dosyanızdaki aks veya aks-mcp girdisini kaldırın (örneğin, Claude Desktop'ın claude_desktop_config.json).

Bilinen sorunlar ve sorun giderme

Bu bölümde yaygın kurulum ve çalışma zamanı sorunları, bunların belirtileri ve bunların nasıl çözüleceğinin ana hatları açıklanmaktadır.

AKS MCP sunucusu kümeye erişemiyor

Belirtiler:

  • Araçlar yetkilendirme hataları döndürüyor.
  • Görünür kaynak yok

Olası nedenleri:

  • Kullanıcının yeterli izinleri yok
  • Yanlış yapılandırılmış kubeconfig context'i

Çözüm:

  • Kümeye erişmek için yeterli izinlere sahip olup olmadığınızı denetleyin. Doğru küme ve abonelik bağlamında olduğunuzu doğrulayın.

Sonraki Adımlar

AKS için yerel olarak oluşturulan akıllı özellikler hakkında daha fazla bilgi edinin:

  • AKS için temsilci CLI hakkında
  • AKS için Agentic CLI aracını yükleyin ve kullanın.