Kubeshark

chính thức

Truy cập MCP vào lưu lượng mạng L4 và L7 toàn cụm, các gói tin, API và toàn bộ tải trọng.

Bạn có thể làm gì với Kubeshark MCP?

  • Truy vấn giao dịch API L7 với bộ lọc KFL — sử dụng list_api_calls để tìm các yêu cầu HTTP, gRPC, Redis, Kafka hoặc DNS khớp với các điều kiện như mã trạng thái hoặc đường dẫn.
  • Kiểm tra chi tiết một lệnh gọi API cụ thể — truy xuất dữ liệu yêu cầu/phản hồi đầy đủ cho một giao dịch duy nhất bằng get_api_call.
  • Lấy thống kê API tổng hợp — tóm tắt các mẫu lưu lượng, tỷ lệ lỗi hoặc phân phối độ trễ bằng get_api_stats.
  • Xem luồng mạng L4 và bản tóm tắt — liệt kê các kết nối TCP/UDP và nhận tổng quan về kết nối qua list_l4_flowsget_l4_flow_summary.
  • Tạo và quản lý ảnh chụp PCAP — thu thập lưu lượng mạng để phân tích ngoại tuyến bằng create_snapshotlist_snapshots.
  • Kiểm soát phân tích giao thức L7 — bật hoặc tắt phân tích giao thức chuyên sâu theo yêu cầu bằng enable_dissectiondisable_dissection.

Tài liệu

Máy chủ Kubeshark MCP

Kubeshark MCP (Giao thức Ngữ cảnh Mô hình) máy chủ cho phép các trợ lý AI như Claude Desktop, Cursor và các máy khách tương thích MCP khác truy vấn lưu lượng mạng Kubernetes thời gian thực.

Kỹ năng AI

MCP cung cấp các công cụ — kỹ năng AI dạy các tác nhân cách sử dụng chúng. Kỹ năng biến các khả năng MCP thô thành các quy trình làm việc theo miền cụ thể như phân tích nguyên nhân gốc, lọc lưu lượng và điều tra pháp y. Xem README kỹ năng để biết cách cài đặt và sử dụng.

Kỹ năngMô tả
network-rcaPhân tích Nguyên nhân Gốc Mạng — điều tra hồi cứu dựa trên ảnh chụp nhanh với các tuyến PCAP và phân tích gói tin
kflChuyên gia bộ lọc KFL2 — viết, gỡ lỗi và tối ưu hóa các truy vấn lưu lượng trên tất cả các giao thức được hỗ trợ

Tính năng

  • Phân tích Lưu lượng API L7: Truy vấn các giao dịch HTTP, gRPC, Redis, Kafka, DNS
  • Luồng Mạng L4: Xem các luồng TCP/UDP với thống kê lưu lượng
  • Quản lý Cụm: Khởi động/dừng triển khai Kubeshark (với các kiểm soát an toàn)
  • Ảnh chụp nhanh PCAP: Tạo và xuất các bản ghi mạng
  • Lời nhắc Tích hợp: Các lời nhắc được cấu hình sẵn cho các tác vụ phân tích phổ biến

Cài đặt

1. Cài đặt Kubeshark CLI

# macOS
brew install kubeshark

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

# Windows (PowerShell)
choco install kubeshark

Hoặc tải xuống từ GitHub Releases.

2. Cấu hình Claude Desktop

Thêm vào cấu hình Claude Desktop của bạn:

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

Mặc định (yêu cầu quyền truy cập kubectl / ngữ cảnh kube)

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

Với đường dẫn kubeconfig rõ ràng:

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

Chế độ URL (không yêu cầu kubectl)

Sử dụng khi máy không có quyền truy cập kubectl hoặc ngữ cảnh kube. Kết nối trực tiếp đến một triển khai Kubeshark hiện có:

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

Đối với Hub có kiểm soát (AUTH_ENABLED=true), chế độ URL không thể tạo token (không có quyền truy cập kube), vì vậy hãy cung cấp một token rõ ràng qua --token (hoặc biến môi trường KUBESHARK_HUB_TOKEN). Tạo nó từ một máy có quyền truy cập cụm:

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

Token có thời hạn ngắn (~1 giờ) và chế độ URL không thể tự động gia hạn nó; khi nó hết hạn, máy chủ báo cáo một thông báo 401 ... token expired/invalid rõ ràng — hãy tạo lại và khởi động lại. Chế độ proxy (mặc định, với quyền truy cập kube) tự động tạo token kubeshark-clitự động gia hạn nó, vì vậy các phiên chạy dài không bị hết hạn.

Với các Thao tác Hủy diệt

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

3. Tạo Cấu hình

Sử dụng CLI để tạo cấu hình:

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

Công cụ Khả dụng

Phân tích Lưu lượng (Tất cả các Chế độ)

Công cụMô tả
list_workloadsLiệt kê các pod, dịch vụ, không gian tên có lưu lượng quan sát được
list_api_callsTruy vấn các giao dịch API L7 với bộ lọc KFL
get_api_callNhận thông tin chi tiết về một lệnh gọi API cụ thể
get_api_statsNhận thống kê API tổng hợp
list_l4_flowsLiệt kê các luồng mạng L4 (TCP/UDP)
get_l4_flow_summaryNhận tóm tắt kết nối L4
list_snapshotsLiệt kê tất cả các ảnh chụp nhanh PCAP
create_snapshotTạo một ảnh chụp nhanh PCAP mới
get_dissection_statusKiểm tra trạng thái phân tích giao thức L7
enable_dissectionBật phân tích giao thức L7
disable_dissectionTắt phân tích giao thức L7

Quản lý Cụm (Chỉ Chế độ Proxy)

Công cụMô tảYêu cầu
check_kubeshark_statusKiểm tra xem Kubeshark có đang chạy không-
start_kubesharkTriển khai Kubeshark lên cụm--allow-destructive
stop_kubesharkGỡ bỏ Kubeshark khỏi cụm--allow-destructive

Lời nhắc Khả dụng

Lời nhắcMô tả
analyze_trafficPhân tích các mẫu lưu lượng API và xác định vấn đề
find_errorsTìm và tóm tắt các lỗi và thất bại API
trace_requestTheo dõi đường dẫn yêu cầu qua các microservice
show_topologyHiển thị cấu trúc liên kết giao tiếp dịch vụ
latency_analysisPhân tích các mẫu độ trễ và xác định các điểm cuối chậm
security_auditKiểm tra lưu lượng để tìm các mối lo ngại về bảo mật
compare_trafficSo sánh các mẫu lưu lượng giữa các khoảng thời gian
debug_connectionGỡ lỗi các vấn đề kết nối giữa các dịch vụ

Ví dụ về Hội thoại

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
...

Tùy chọn CLI

Tùy chọnMô tả
--urlURL trực tiếp đến Kubeshark Hub
--tokenToken SA/bearer của Hub cho chế độ --url đối với Hub có kiểm soát (cũng là KUBESHARK_HUB_TOKEN); bị bỏ qua trong chế độ proxy, chế độ này tạo và tự động gia hạn token
--kubeconfigĐường dẫn đến tệp kubeconfig
--allow-destructiveBật các thao tác khởi động/dừng
--list-toolsLiệt kê các công cụ khả dụng và thoát
--mcp-configIn JSON cấu hình Claude Desktop

KFL (Ngôn ngữ Lọc Kubeshark)

Truy vấn lưu lượng bằng cú pháp KFL:

# 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

Sổ đăng ký MCP

Kubeshark được xuất bản lên Sổ đăng ký MCP tự động trên mỗi bản phát hành.

server.json trong thư mục này là một tệp tham chiếu. Siêu dữ liệu sổ đăng ký thực tế (phiên bản, hàm băm SHA256) được tạo tự động trong quy trình phát hành. Xem .github/workflows/release.yml để biết chi tiết.

Liên kết

Giấy phép

Apache-2.0