Install
openclaw skills install @rohitg00/k8s-service-meshManage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.
openclaw skills install @rohitg00/k8s-service-meshTraffic management, security, and observability using kubectl-mcp-server's Istio/Kiali tools.
Requires the
cilium,istiotoolsets: start kubectl-mcp-server with--toolsets default,cilium,istio(orMCP_TOOLSETS=default,cilium,istio).
Use this skill when:
| Priority | Rule | Impact | Tools |
|---|---|---|---|
| 1 | Detect Istio installation first | CRITICAL | detect_ecosystem |
| 2 | Run analyze before changes | HIGH | istio_analyze |
| 3 | Check proxy status for sync | HIGH | istio_proxy_status |
| 4 | Verify sidecar injection | MEDIUM | istio_sidecar_status |
| Task | Tool | Example |
|---|---|---|
| Detect Istio | detect_ecosystem | detect_ecosystem() |
| Analyze config | istio_analyze | istio_analyze(namespace) |
| Proxy status | istio_proxy_status | istio_proxy_status() |
| List VirtualServices | istio_virtualservices_list | istio_virtualservices_list(namespace) |
detect_ecosystem()
istio_proxy_status()
istio_sidecar_status(namespace)
istio_analyze(namespace)
List and inspect:
istio_virtualservices_list(namespace)
istio_virtualservice_get(name, namespace)
See TRAFFIC-SHIFTING.md for canary and blue-green patterns.
istio_destinationrules_list(namespace)
istio_gateways_list(namespace)
VirtualService for 90/10 split:
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: my-service
spec:
hosts:
- my-service
http:
- route:
- destination:
host: my-service
subset: stable
weight: 90
- destination:
host: my-service
subset: canary
weight: 10
Apply and verify:
kubectl_apply(vs_yaml, namespace)
istio_virtualservice_get("my-service", namespace)
Route beta users:
http:
- match:
- headers:
x-user-type:
exact: beta
route:
- destination:
host: my-service
subset: canary
- route:
- destination:
host: my-service
subset: stable
See MTLS.md for detailed mTLS configuration.
istio_peerauthentications_list(namespace)
istio_authorizationpolicies_list(namespace)
istio_proxy_status()
If using Cilium with Istio:
get_hubble_flows(namespace)
cilium_list_endpoints(namespace)
istio_sidecar_status(namespace)
istio_analyze(namespace)
istio_virtualservice_get(name, namespace)
istio_destinationrules_list(namespace)
istio_proxy_status()
istio_peerauthentications_list(namespace)
| Symptom | Check | Resolution |
|---|---|---|
| 503 errors | istio_analyze() | Fix VirtualService/DestinationRule |
| No sidecar | istio_sidecar_status() | Label namespace |
| Config not applied | istio_proxy_status() | Wait for sync or restart pod |
Istio multi-cluster setup:
istio_proxy_status(context="primary")
istio_virtualservices_list(namespace, context="primary")
istio_proxy_status(context="remote")
istioctl install --set profile=demo