Claude-skill-registry kubernetes-resources
Use when managing Kubernetes resources including deployments, services, configmaps, and secrets.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kubernetes-resources" ~/.claude/skills/majiayu000-claude-skill-registry-kubernetes-resources && rm -rf "$T"
manifest:
skills/data/kubernetes-resources/SKILL.mdsource content
Kubernetes Resources
Understanding Kubernetes resource types and their relationships.
Core Resources
Pods
The smallest deployable unit in Kubernetes:
apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: app image: nginx:1.21
ReplicaSets
Maintains a stable set of replica Pods:
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:
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
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:
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:
apiVersion: v1 kind: PersistentVolume metadata: name: my-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: standard
PersistentVolumeClaim
Request for storage:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 5Gi storageClassName: standard
Configuration Resources
ConfigMaps
Non-sensitive configuration data:
apiVersion: v1 kind: ConfigMap metadata: name: app-config data: config.json: | { "key": "value" }
Secrets
Sensitive information:
apiVersion: v1 kind: Secret metadata: name: app-secret type: Opaque stringData: username: admin password: secret123
Workload Resources
StatefulSet
For stateful applications:
apiVersion: apps/v1 kind: StatefulSet metadata: name: web spec: serviceName: "nginx" replicas: 3 selector: matchLabels: app: nginx template: # Pod template volumeClaimTemplates: - metadata: name: www spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi
DaemonSet
Runs a Pod on every Node:
apiVersion: apps/v1 kind: DaemonSet metadata: name: monitoring-agent spec: selector: matchLabels: name: monitoring-agent template: # Pod template
Job
Run-to-completion tasks:
apiVersion: batch/v1 kind: Job metadata: name: batch-job spec: template: spec: containers: - name: job image: busybox command: ["echo", "Hello"] restartPolicy: Never backoffLimit: 4
CronJob
Scheduled jobs:
apiVersion: batch/v1 kind: CronJob metadata: name: scheduled-job spec: schedule: "0 0 * * *" jobTemplate: spec: template: spec: containers: - name: job image: busybox command: ["echo", "Daily task"] restartPolicy: OnFailure