Use when managing Kubernetes resources including deployments, services, configmaps, and secrets.
View on GitHubTheBushidoCollective/han
jutsu-kubernetes
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/jutsu/jutsu-kubernetes/skills/kubernetes-resources/SKILL.md -a claude-code --skill kubernetes-resourcesInstallation paths:
.claude/skills/kubernetes-resources/# Kubernetes Resources
Understanding Kubernetes resource types and their relationships.
## Core Resources
### Pods
The smallest deployable unit in Kubernetes:
```yaml
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: app
image: nginx:1.21
```
### ReplicaSets
Maintains a stable set of replica Pods:
```yaml
apiVersion: apps/v1
kind: ReplicaSet
metadata:
name: my-replicaset
spec:
replicas: 3
selector:
matchLabels:
app: my-app
template:
# Pod template
```
### Deployments
Manages ReplicaSets and provides declarative updates:
```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
# ...
```
## Networking Resources
### Services
Exposes Pods to network traffic:
- **ClusterIP**: Internal cluster access only
- **NodePort**: Exposes on each Node's IP
- **LoadBalancer**: Cloud provider load balancer
- **ExternalName**: DNS CNAME record
```yaml
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: ClusterIP
selector:
app: my-app
ports:
- port: 80
targetPort: 8080
```
### Ingress
HTTP/HTTPS routing to services:
```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
```
## Storage Resources
### PersistentVolume
Cluster-level storage resource:
```yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: standard
```
### PersistentVolumeClaim
Request for storage:
```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes: