Core Kubernetes Resources

Core Kubernetes resource management for pods, namespaces, configmaps, secrets, and nodes. Use when listing, inspecting, or managing fundamental K8s objects.

Rohit Ghumare

@rohitg00

Install

$ openclaw skills install @rohitg00/k8s-core

Core Kubernetes Resources

Manage fundamental Kubernetes objects using kubectl-mcp-server's core tools.

Requires the diagnostics, ops toolsets: start kubectl-mcp-server with --toolsets default,diagnostics,ops (or MCP_TOOLSETS=default,diagnostics,ops).

When to Apply

Use this skill when:

  • User mentions: "pods", "namespaces", "configmaps", "secrets", "nodes", "events"
  • Operations: listing resources, describing objects, creating/deleting resources
  • Keywords: "show me", "list", "get", "describe", "create", "delete"

Priority Rules

PriorityRuleImpactTools
1Check namespace exists before operationsCRITICALkubectl_get
2Never expose secrets in plain textCRITICALHandle kubectl_get output carefully
3Use labels for filteringHIGHlabel_selector parameter
4Check events after changesMEDIUMkubectl_get

Quick Reference

TaskToolExample
List podskubectl_getkubectl_get(resource_type="pods", namespace="default")
Describe podkubectl_describekubectl_describe(name, namespace)
Get logskubectl_logskubectl_logs(name, namespace)
List namespaceskubectl_getkubectl_get(resource_type="namespaces")
Get configmapkubectl_getkubectl_get(resource_type="configmaps", name, namespace)
List nodeskubectl_getkubectl_get(resource_type="nodes")

Pods

kubectl_get(resource_type="pods", namespace="default")
kubectl_get(resource_type="pods", namespace="kube-system", label_selector="app=nginx")

kubectl_describe(resource_type="pod", name="my-pod", namespace="default")

kubectl_logs(pod_name="my-pod", namespace="default")
kubectl_logs(pod_name="my-pod", namespace="default", previous=True)

delete_resource(resource_type="pod", name="my-pod", namespace="default")

Namespaces

kubectl_get(resource_type="namespaces")

kubectl_create(resource_type="namespace", name="my-namespace")

delete_resource(resource_type="namespace", name="my-namespace")

ConfigMaps

kubectl_get(resource_type="configmaps", namespace="default")

kubectl_get(resource_type="configmaps", name="my-config", namespace="default")

kubectl_apply(manifest="""
apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
  namespace: default
data:
  key: value
  config.yaml: "setting: true"
""")

Secrets

kubectl_get(resource_type="secrets", namespace="default")

kubectl_get(resource_type="secrets", name="my-secret", namespace="default")

kubectl_apply(manifest="""
apiVersion: v1
kind: Secret
metadata:
  name: db-credentials
  namespace: default
stringData:
  username: <username>
  password: <password>
""")

Nodes

kubectl_get(resource_type="nodes")

kubectl_describe(resource_type="node", name="node-1")

get_nodes_summary()

node_management(action="cordon", node_name="node-1")
node_management(action="uncordon", node_name="node-1")

node_management(action="drain", node_name="node-1")

Events

kubectl_get(resource_type="events", namespace="default")

kubectl_get(resource_type="events", namespace="default", field_selector="involvedObject.name=my-pod")

Multi-Cluster Support

All tools support context parameter:

kubectl_get(resource_type="pods", namespace="default", context="production-cluster")
kubectl_get(resource_type="nodes", context="staging-cluster")

Related Skills

Top skills in this category