Skillshub k8s-networking

Kubernetes Networking

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/rohitg00/kubectl-mcp-server/k8s-networking" ~/.claude/skills/comeonoliver-skillshub-k8s-networking && rm -rf "$T"
manifest: skills/rohitg00/kubectl-mcp-server/k8s-networking/SKILL.md
source content

Kubernetes Networking

Manage Kubernetes networking resources using kubectl-mcp-server's networking tools.

When to Apply

Use this skill when:

  • User mentions: "service", "ingress", "endpoint", "network policy", "load balancer"
  • Operations: exposing applications, configuring routing, network isolation
  • Keywords: "connectivity", "DNS", "traffic", "port", "firewall"

Priority Rules

PriorityRuleImpactTools
1Check endpoints before troubleshooting servicesCRITICAL
get_endpoints
2Verify service selector matches pod labelsHIGH
get_services
,
get_pods
3Review network policies for isolationHIGH
get_network_policies
4Test DNS resolution from within podsMEDIUM
kubectl_exec

Quick Reference

TaskToolExample
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)

Services

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}]
)

Endpoints

get_endpoints(namespace="default")

Ingress

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
""")

Network Policies

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
""")

Troubleshooting Connectivity

get_endpoints(namespace="default")

get_network_policies(namespace="default")

kubectl_exec(
    pod="debug-pod",
    namespace="default",
    command="nslookup my-service.default.svc.cluster.local"
)

Related Skills

k8s-networking — OpenSkillIndex