kubernetes-skills/claude/k8s-networking/SKILL.md
Kubernetes networking management for services, ingresses, endpoints, and network policies. Use when configuring connectivity, load balancing, or network isolation.
npx skillsauth add rohitg00/kubectl-mcp-server k8s-networkingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Manage Kubernetes networking resources using kubectl-mcp-server's networking tools.
Use this skill when:
| Priority | Rule | Impact | Tools |
|----------|------|--------|-------|
| 1 | Check endpoints before troubleshooting services | CRITICAL | get_endpoints |
| 2 | Verify service selector matches pod labels | HIGH | get_services, get_pods |
| 3 | Review network policies for isolation | HIGH | get_network_policies |
| 4 | Test DNS resolution from within pods | MEDIUM | kubectl_exec |
| Task | Tool | Example |
|------|------|---------|
| List services | get_services | get_services(namespace) |
| Check backends | get_endpoints | get_endpoints(namespace) |
| List ingresses | get_ingresses | get_ingresses(namespace) |
| Network policies | get_network_policies | get_network_policies(namespace) |
get_services(namespace="default")
describe_service(name="my-service", namespace="default")
create_service(
name="my-service",
namespace="default",
selector={"app": "my-app"},
ports=[{"port": 80, "targetPort": 8080}]
)
create_service(
name="my-lb",
namespace="default",
type="LoadBalancer",
selector={"app": "my-app"},
ports=[{"port": 443, "targetPort": 8443}]
)
get_endpoints(namespace="default")
get_ingresses(namespace="default")
describe_ingress(name="my-ingress", namespace="default")
kubectl_apply(manifest="""
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
namespace: default
spec:
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
""")
get_network_policies(namespace="default")
describe_network_policy(name="deny-all", namespace="default")
kubectl_apply(manifest="""
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-all
namespace: default
spec:
podSelector: {}
policyTypes:
- Ingress
- Egress
""")
kubectl_apply(manifest="""
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-web
namespace: default
spec:
podSelector:
matchLabels:
app: web
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- port: 80
""")
get_endpoints(namespace="default")
get_network_policies(namespace="default")
kubectl_exec(
pod="debug-pod",
namespace="default",
command="nslookup my-service.default.svc.cluster.local"
)
development
Manage vCluster (virtual Kubernetes clusters) instances using vind. Use when creating, managing, or operating lightweight virtual clusters for development, testing, or multi-tenancy.
development
Debug Kubernetes pods, nodes, and workloads. Use when pods are failing, containers crash, nodes are unhealthy, or users mention debugging, troubleshooting, or diagnosing Kubernetes issues.
devops
Kubernetes storage management for PVCs, storage classes, and persistent volumes. Use when provisioning storage, managing volumes, or troubleshooting storage issues.
testing
Manage Istio service mesh for traffic management, security, and observability. Use for traffic shifting, canary releases, mTLS, and service mesh troubleshooting.