Kubeshark

resmi

Küme genelinde L4 ve L7 ağ trafiğine, paketlere, API'lere ve tam yük verilerine MCP erişimi.

Kubeshark MCP ile neler yapabilirsiniz?

  • KFL filtreleriyle L7 API işlemlerini sorgulamalist_api_calls kullanarak HTTP, gRPC, Redis, Kafka veya DNS isteklerini durum kodları veya yollar gibi koşullara göre bulun.
  • Belirli bir API çağrısını ayrıntılı incelemeget_api_call ile tek bir işlemin tam istek/yanıt verilerini alın.
  • Toplu API istatistikleri almaget_api_stats kullanarak trafik modellerini, hata oranlarını veya gecikme dağılımlarını özetleyin.
  • L4 ağ akışlarını ve özetlerini görüntülemelist_l4_flows ve get_l4_flow_summary aracılığıyla TCP/UDP bağlantılarını listeleyin ve bağlantı genel bakışlarını alın.
  • PCAP anlık görüntüleri oluşturma ve yönetmecreate_snapshot ve list_snapshots ile çevrimdışı analiz için ağ trafiğini yakalayın.
  • L7 protokol çözümlemesini kontrol etmeenable_dissection ve disable_dissection kullanarak isteğe bağlı olarak derin protokol ayrıştırmayı etkinleştirin veya devre dışı bırakın.

Dokümantasyon

Kubeshark MCP Sunucusu

Kubeshark MCP (Model Bağlam Protokolü) sunucusu, Claude Desktop, Cursor ve diğer MCP uyumlu istemciler gibi yapay zeka asistanlarının gerçek zamanlı Kubernetes ağ trafiğini sorgulamasını sağlar.

Yapay Zeka Becerileri

MCP araçları sağlar — yapay zeka becerileri aracılara bunları nasıl kullanacaklarını öğretir. Beceriler, ham MCP yeteneklerini kök neden analizi, trafik filtreleme ve adli inceleme gibi alana özgü iş akışlarına dönüştürür. Kurulum ve kullanım için beceriler README dosyasına bakın.

BeceriAçıklama
network-rcaAğ Kök Neden Analizi — PCAP ve inceleme rotaları ile anlık görüntü tabanlı geriye dönük araştırma
kflKFL2 filtre uzmanı — desteklenen tüm protokollerde trafik sorgularını yazma, hata ayıklama ve optimize etme

Özellikler

  • L7 API Trafik Analizi: HTTP, gRPC, Redis, Kafka, DNS işlemlerini sorgulama
  • L4 Ağ Akışları: Trafik istatistikleriyle TCP/UDP akışlarını görüntüleme
  • Küme Yönetimi: Kubeshark dağıtımlarını başlatma/durdurma (güvenlik kontrolleriyle)
  • PCAP Anlık Görüntüleri: Ağ yakalamaları oluşturma ve dışa aktarma
  • Yerleşik İstemler: Yaygın analiz görevleri için önceden yapılandırılmış istemler

Kurulum

1. Kubeshark CLI'yı Kurun

# macOS
brew install kubeshark

# Linux
sh <(curl -Ls https://kubeshark.com/install)

# Windows (PowerShell)
choco install kubeshark

Veya GitHub Sürümleri sayfasından indirin.

2. Claude Desktop'ı Yapılandırın

Claude Desktop yapılandırmanıza ekleyin:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

Varsayılan (kubectl erişimi / kube bağlamı gerektirir)

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp"]
    }
  }
}

Açık bir kubeconfig yolu ile:

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--kubeconfig", "/path/to/.kube/config"]
    }
  }
}

URL Modu (kubectl gerektirmez)

Makinenin kubectl erişimi veya bir kube bağlamı olmadığında bunu kullanın. Doğrudan mevcut bir Kubeshark dağıtımına bağlanır:

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--url", "https://kubeshark.example.com"]
    }
  }
}

Korumalı bir Hub (AUTH_ENABLED=true) için, URL modu bir belirteç oluşturamaz (kube erişimi yok), bu nedenle --token (veya KUBESHARK_HUB_TOKEN ortam değişkeni) aracılığıyla açıkça bir tane sağlayın. Küme erişimi olan bir makineden oluşturun:

kubectl create token kubeshark-cli -n <release-namespace> --audience kubeshark-hub
{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--url", "https://kubeshark.example.com", "--token", "<token>"]
    }
  }
}

Belirteç kısa ömürlüdür (~1s) ve URL modu otomatik olarak yenileyemez; süresi dolduğunda sunucu net bir 401 ... token expired/invalid mesajı bildirir — yeniden oluşturun ve yeniden başlatın. Proxy modu (varsayılan, kube erişimiyle) kubeshark-cli belirtecini otomatik olarak oluşturur ve otomatik olarak yeniler, böylece uzun süreli oturumların süresi dolmaz.

Yıkıcı İşlemlerle

{
  "mcpServers": {
    "kubeshark": {
      "command": "kubeshark",
      "args": ["mcp", "--allow-destructive", "--kubeconfig", "/path/to/.kube/config"]
    }
  }
}

3. Yapılandırma Oluşturun

Yapılandırma oluşturmak için CLI'yı kullanın:

kubeshark mcp --mcp-config --url https://kubeshark.example.com

Mevcut Araçlar

Trafik Analizi (Tüm Modlar)

AraçAçıklama
list_workloadsGözlemlenen trafiğe sahip pod'ları, servisleri, ad alanlarını listeleme
list_api_callsKFL filtreleme ile L7 API işlemlerini sorgulama
get_api_callBelirli bir API çağrısı hakkında ayrıntılı bilgi alma
get_api_statsToplu API istatistiklerini alma
list_l4_flowsL4 (TCP/UDP) ağ akışlarını listeleme
get_l4_flow_summaryL4 bağlantı özetini alma
list_snapshotsTüm PCAP anlık görüntülerini listeleme
create_snapshotYeni bir PCAP anlık görüntüsü oluşturma
get_dissection_statusL7 protokol ayrıştırma durumunu kontrol etme
enable_dissectionL7 protokol incelemesini etkinleştirme
disable_dissectionL7 protokol incelemesini devre dışı bırakma

Küme Yönetimi (Yalnızca Proxy Modu)

AraçAçıklamaGerektirir
check_kubeshark_statusKubeshark'ın çalışıp çalışmadığını kontrol etme-
start_kubesharkKubeshark'ı kümeye dağıtma--allow-destructive
stop_kubesharkKubeshark'ı kümeden kaldırma--allow-destructive

Mevcut İstemler

İstemAçıklama
analyze_trafficAPI trafik modellerini analiz etme ve sorunları belirleme
find_errorsAPI hatalarını ve başarısızlıklarını bulma ve özetleme
trace_requestMikroservisler arasında bir istek yolunu izleme
show_topologyServis iletişim topolojisini gösterme
latency_analysisGecikme modellerini analiz etme ve yavaş uç noktaları belirleme
security_auditGüvenlik endişeleri için trafiği denetleme
compare_trafficZaman dilimleri arasında trafik modellerini karşılaştırma
debug_connectionServisler arasındaki bağlantı sorunlarında hata ayıklama

Örnek Konuşmalar

User: Show me all HTTP 500 errors in the last hour

Claude: I'll query the API traffic for 500 errors.
[Calling list_api_calls with kfl="http and response.status == 500"]

Found 12 HTTP 500 errors:
1. POST /api/checkout -> payment-service (500)
   Time: 10:23:45 | Latency: 2340ms
...
User: What services are communicating with the database?

Claude: Let me check the L4 flows to the database.
[Calling list_l4_flows with dst_filter="postgres"]

Found 5 services connecting to postgres:5432:
- orders-service: 456KB transferred
- users-service: 123KB transferred
...

CLI Seçenekleri

SeçenekAçıklama
--urlKubeshark Hub'a doğrudan URL
--tokenKorumalı bir Hub'a karşı --url modu için Hub SA/taşıyıcı belirteci (ayrıca KUBESHARK_HUB_TOKEN); belirteci oluşturan ve otomatik olarak yenileyen proxy modunda yok sayılır
--kubeconfigKubeconfig dosyasının yolu
--allow-destructiveBaşlatma/durdurma işlemlerini etkinleştirme
--list-toolsMevcut araçları listeleme ve çıkma
--mcp-configClaude Desktop yapılandırma JSON'unu yazdırma

KFL (Kubeshark Filtre Dili)

KFL sözdizimini kullanarak trafiği sorgulayın:

# HTTP requests to a specific path
http and request.path == "/api/users"

# Errors only
response.status >= 400

# Specific source pod
src.pod.name == "frontend-.*"

# Multiple conditions
http and src.namespace == "default" and response.status == 500

MCP Kaydı

Kubeshark, her sürümde otomatik olarak MCP Kaydına yayınlanır.

Bu dizindeki server.json bir referans dosyasıdır. Gerçek kayıt meta verileri (sürüm, SHA256 karmaları) sürüm iş akışı sırasında otomatik olarak oluşturulur. Ayrıntılar için .github/workflows/release.yml dosyasına bakın.

Bağlantılar

Lisans

Apache-2.0