Kubeshark
resmiKü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 sorgulama —
list_api_callskullanarak 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ı inceleme —
get_api_callile tek bir işlemin tam istek/yanıt verilerini alın. - Toplu API istatistikleri alma —
get_api_statskullanarak trafik modellerini, hata oranlarını veya gecikme dağılımlarını özetleyin. - L4 ağ akışlarını ve özetlerini görüntüleme —
list_l4_flowsveget_l4_flow_summaryaracı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önetme —
create_snapshotvelist_snapshotsile çevrimdışı analiz için ağ trafiğini yakalayın. - L7 protokol çözümlemesini kontrol etme —
enable_dissectionvedisable_dissectionkullanarak 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.
| Beceri | Açıklama |
|---|---|
network-rca | Ağ Kök Neden Analizi — PCAP ve inceleme rotaları ile anlık görüntü tabanlı geriye dönük araştırma |
kfl | KFL2 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_workloads | Gözlemlenen trafiğe sahip pod'ları, servisleri, ad alanlarını listeleme |
list_api_calls | KFL filtreleme ile L7 API işlemlerini sorgulama |
get_api_call | Belirli bir API çağrısı hakkında ayrıntılı bilgi alma |
get_api_stats | Toplu API istatistiklerini alma |
list_l4_flows | L4 (TCP/UDP) ağ akışlarını listeleme |
get_l4_flow_summary | L4 bağlantı özetini alma |
list_snapshots | Tüm PCAP anlık görüntülerini listeleme |
create_snapshot | Yeni bir PCAP anlık görüntüsü oluşturma |
get_dissection_status | L7 protokol ayrıştırma durumunu kontrol etme |
enable_dissection | L7 protokol incelemesini etkinleştirme |
disable_dissection | L7 protokol incelemesini devre dışı bırakma |
Küme Yönetimi (Yalnızca Proxy Modu)
| Araç | Açıklama | Gerektirir |
|---|---|---|
check_kubeshark_status | Kubeshark'ın çalışıp çalışmadığını kontrol etme | - |
start_kubeshark | Kubeshark'ı kümeye dağıtma | --allow-destructive |
stop_kubeshark | Kubeshark'ı kümeden kaldırma | --allow-destructive |
Mevcut İstemler
| İstem | Açıklama |
|---|---|
analyze_traffic | API trafik modellerini analiz etme ve sorunları belirleme |
find_errors | API hatalarını ve başarısızlıklarını bulma ve özetleme |
trace_request | Mikroservisler arasında bir istek yolunu izleme |
show_topology | Servis iletişim topolojisini gösterme |
latency_analysis | Gecikme modellerini analiz etme ve yavaş uç noktaları belirleme |
security_audit | Güvenlik endişeleri için trafiği denetleme |
compare_traffic | Zaman dilimleri arasında trafik modellerini karşılaştırma |
debug_connection | Servisler 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çenek | Açıklama |
|---|---|
--url | Kubeshark Hub'a doğrudan URL |
--token | Korumalı 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 |
--kubeconfig | Kubeconfig dosyasının yolu |
--allow-destructive | Başlatma/durdurma işlemlerini etkinleştirme |
--list-tools | Mevcut araçları listeleme ve çıkma |
--mcp-config | Claude 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