---
name: k8s-core
description: Core Kubernetes resource management for pods, namespaces, configmaps, secrets, and nodes. Use when listing, inspecting, or managing fundamental K8s objects.
license: Apache-2.0
metadata:
author: rohitg00
version: "1.0.0"
tools: 17
category: core
---
# Core Kubernetes Resources
Manage fundamental Kubernetes objects using kubectl-mcp-server's core tools.
## 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
| Priority | Rule | Impact | Tools |
|----------|------|--------|-------|
| 1 | Check namespace exists before operations | CRITICAL | `get_namespaces` |
| 2 | Never expose secrets in plain text | CRITICAL | Handle `get_secret` output carefully |
| 3 | Use labels for filtering | HIGH | `label_selector` parameter |
| 4 | Check events after changes | MEDIUM | `get_events` |
## Quick Reference
| Task | Tool | Example |
|------|------|---------|
| List pods | `get_pods` | `get_pods(namespace="default")` |
| Describe pod | `describe_pod` | `describe_pod(name, namespace)` |
| Get logs | `get_pod_logs` | `get_pod_logs(name, namespace)` |
| List namespaces | `get_namespaces` | `get_namespaces()` |
| Get configmap | `get_configmap` | `get_configmap(name, namespace)` |
| List nodes | `get_nodes` | `get_nodes()` |
## Pods
```python
get_pods(namespace="default")
get_pods(namespace="kube-system", label_selector="app=nginx")
describe_pod(name="my-pod", namespace="default")
get_pod_logs(name="my-pod", namespace="default")
get_pod_logs(name="my-pod", namespace="default", previous=True)
delete_pod(name="my-pod", namespace="default")
```
## Namespaces
```python
get_namespaces()
create_namespace(name="my-namespace")
delete_namespace(name="my-namespace")
```
## ConfigMaps
```python
get_configmaps(namespace="default")
get_configmap(name="my-config", namespace="default")
create_configmap(
name="app-config",
namespace="default",
data={"key": "value", "config.yaml": "setting: true"}
)
```
## Secrets
```python
get_secrets(namespace="default")
get_secret(name="my-secret", namespace="default")
create_secret(
name="db-credentials",
namespace="default",
data={"username": "admin", "password": "secret123"}
)
```
## Nodes
```python
get_nodes()
describe_node(name="node-1")
get_nodes_summary()
cordon_node(name="node-1")
uncordon_node(name="node-1")
drain_node(name="node-1", ignore_daemonsets=True)
```
## Events
```python
get_events(namespace="default")
get_events(namespace="default", field_selector="involvedObject.name=my-pod")
```
## Multi-Cluster Support
All tools support `context` parameter:
```python
get_pods(namespace="default", context="production-cluster")
get_nodes(context="staging-cluster")
```
## Related Skills
- [k8s-troubleshoot](../k8s-troubleshoot/SKILL.md) - Debug failing pods
- [k8s-operations](../k8s-operations/SKILL.md) - kubectl apply/patch/delete