# Send Kubernetes to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "kubernetes-devops",
    "name": "Kubernetes",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/wpank/kubernetes-devops",
    "canonicalUrl": "https://clawhub.ai/wpank/kubernetes-devops",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/kubernetes-devops",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kubernetes-devops",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "assets/configmap-template.yaml",
      "assets/cronjob-template.yaml",
      "assets/service-template.yaml",
      "assets/statefulset-template.yaml"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "kubernetes-devops",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-04T19:16:30.654Z",
      "expiresAt": "2026-05-11T19:16:30.654Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kubernetes-devops",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=kubernetes-devops",
        "contentDisposition": "attachment; filename=\"kubernetes-devops-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "kubernetes-devops"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/kubernetes-devops"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/kubernetes-devops",
    "downloadUrl": "https://openagent3.xyz/downloads/kubernetes-devops",
    "agentUrl": "https://openagent3.xyz/skills/kubernetes-devops/agent",
    "manifestUrl": "https://openagent3.xyz/skills/kubernetes-devops/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/kubernetes-devops/agent.md"
  }
}
```
## Documentation

### Kubernetes

Production-ready Kubernetes manifest generation covering Deployments, StatefulSets,
CronJobs, Services, Ingresses, ConfigMaps, Secrets, and PVCs with security contexts,
health checks, and resource management.

### OpenClaw / Moltbot / Clawbot

npx clawhub@latest install kubernetes

### When to Use

ScenarioExampleCreate deployment manifestsNew microservice needing Deployment + ServiceDefine networking resourcesClusterIP, LoadBalancer, Ingress with TLSManage configurationConfigMaps for app config, Secrets for credentialsStateful workloadsDatabases with StatefulSets + PVCsScheduled jobsCronJobs for batch processingMulti-environment setupKustomize overlays for dev/staging/prod

### Workload Selection

Workload TypeResourceWhen to UseStateless appDeploymentWeb servers, APIs, microservicesStateful appStatefulSetDatabases, message queues, cachesOne-off taskJobMigrations, data importsScheduled taskCronJobBackups, reports, cleanupPer-node agentDaemonSetLog collectors, monitoring agents

### Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: production
  labels:
    app.kubernetes.io/name: my-app
    app.kubernetes.io/version: "1.0.0"
    app.kubernetes.io/component: backend
spec:
  replicas: 3
  selector:
    matchLabels:
      app.kubernetes.io/name: my-app
  template:
    metadata:
      labels:
        app.kubernetes.io/name: my-app
        app.kubernetes.io/version: "1.0.0"
    spec:
      securityContext:
        runAsNonRoot: true
        runAsUser: 1000
        fsGroup: 1000
        seccompProfile:
          type: RuntimeDefault
      containers:
        - name: my-app
          image: registry.example.com/my-app:1.0.0
          ports:
            - containerPort: 8080
              name: http
          resources:
            requests:
              cpu: 250m
              memory: 256Mi
            limits:
              cpu: 500m
              memory: 512Mi
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            capabilities:
              drop: [ALL]
          livenessProbe:
            httpGet:
              path: /health
              port: http
            initialDelaySeconds: 30
            periodSeconds: 10
          readinessProbe:
            httpGet:
              path: /ready
              port: http
            initialDelaySeconds: 5
            periodSeconds: 5
          env:
            - name: LOG_LEVEL
              valueFrom:
                configMapKeyRef:
                  name: my-app-config
                  key: LOG_LEVEL
            - name: DB_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: my-app-secret
                  key: DATABASE_PASSWORD

### ClusterIP (Internal)

apiVersion: v1
kind: Service
metadata:
  name: my-app
  namespace: production
spec:
  type: ClusterIP
  selector:
    app.kubernetes.io/name: my-app
  ports:
    - name: http
      port: 80
      targetPort: 8080
      protocol: TCP

### LoadBalancer (External)

apiVersion: v1
kind: Service
metadata:
  name: my-app-lb
  namespace: production
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-type: nlb
spec:
  type: LoadBalancer
  selector:
    app.kubernetes.io/name: my-app
  ports:
    - name: http
      port: 80
      targetPort: 8080

### Service Type Quick Reference

TypeScopeUse CaseClusterIPCluster-internalInter-service communicationNodePortExternal via node IPDev/testing, on-premLoadBalancerExternal via cloud LBProduction external accessExternalNameDNS aliasMapping to external services

### Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-app
  namespace: production
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
    nginx.ingress.kubernetes.io/rate-limit: "100"
spec:
  ingressClassName: nginx
  tls:
    - hosts: [app.example.com]
      secretName: app-tls
  rules:
    - host: app.example.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: my-app
                port:
                  number: 80

### ConfigMap

apiVersion: v1
kind: ConfigMap
metadata:
  name: my-app-config
  namespace: production
data:
  LOG_LEVEL: info
  APP_MODE: production
  DATABASE_HOST: db.internal.svc.cluster.local
  app.properties: |
    server.port=8080
    server.host=0.0.0.0

### Secret

apiVersion: v1
kind: Secret
metadata:
  name: my-app-secret
  namespace: production
type: Opaque
stringData:
  DATABASE_PASSWORD: "changeme"
  API_KEY: "secret-api-key"

Important: Never commit plaintext Secrets to Git. Use Sealed Secrets,
External Secrets Operator, or Vault for production.

### Persistent Storage

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: my-app-data
  namespace: production
spec:
  accessModes: [ReadWriteOnce]
  storageClassName: gp3
  resources:
    requests:
      storage: 10Gi

Mount in a container:

containers:
  - name: app
    volumeMounts:
      - name: data
        mountPath: /var/lib/app
volumes:
  - name: data
    persistentVolumeClaim:
      claimName: my-app-data

Access ModeAbbreviationUse CaseReadWriteOnceRWOSingle-pod databasesReadOnlyManyROXShared config/static assetsReadWriteManyRWXMulti-pod shared storage

### Pod-Level

spec:
  securityContext:
    runAsNonRoot: true
    runAsUser: 1000
    fsGroup: 1000
    seccompProfile:
      type: RuntimeDefault

### Container-Level

securityContext:
  allowPrivilegeEscalation: false
  readOnlyRootFilesystem: true
  capabilities:
    drop: [ALL]

### Security Checklist

CheckStatusrunAsNonRoot: trueRequiredallowPrivilegeEscalation: falseRequiredreadOnlyRootFilesystem: trueRecommendedcapabilities.drop: [ALL]RequiredseccompProfile: RuntimeDefaultRecommendedSpecific image tags (never :latest)RequiredResource requests and limits setRequired

### Standard Labels

metadata:
  labels:
    app.kubernetes.io/name: my-app
    app.kubernetes.io/instance: my-app-prod
    app.kubernetes.io/version: "1.0.0"
    app.kubernetes.io/component: backend
    app.kubernetes.io/part-of: my-system
    app.kubernetes.io/managed-by: kubectl

### Option 1 — Separate Files

manifests/
├── configmap.yaml
├── secret.yaml
├── deployment.yaml
├── service.yaml
└── pvc.yaml

### Option 2 — Kustomize

base/
├── kustomization.yaml
├── deployment.yaml
├── service.yaml
└── configmap.yaml
overlays/
├── dev/
│   └── kustomization.yaml
└── prod/
    ├── kustomization.yaml
    └── resource-patch.yaml

### Validation

# Client-side dry run
kubectl apply -f manifest.yaml --dry-run=client

# Server-side validation
kubectl apply -f manifest.yaml --dry-run=server

# Lint with kube-score
kube-score score manifest.yaml

# Lint with kube-linter
kube-linter lint manifest.yaml

### Troubleshooting Quick Reference

ProblemDiagnosisFixPod stuck Pendingkubectl describe pod — check eventsFix resource requests, node capacity, PVC bindingImagePullBackOffWrong image name/tag or missing pull secretVerify image exists, add imagePullSecretsCrashLoopBackOffApp crashes on startCheck logs: kubectl logs <pod> --previousService not reachableSelector mismatchVerify kubectl get endpoints <svc> is non-emptyConfigMap not loadingName mismatch or wrong namespaceCheck names match and namespace is correctReadiness probe failingWrong path or portVerify health endpoint works inside containerOOMKilledMemory limit too lowIncrease resources.limits.memory

### NEVER Do

Anti-PatternWhyDo InsteadUse :latest image tagNon-reproducible deploymentsPin exact version: image:1.2.3Skip resource limitsPods can starve the nodeAlways set requests and limitsRun as rootContainer escape = full host accessSet runAsNonRoot: true + USERCommit plaintext SecretsCredentials in Git history foreverUse Sealed Secrets / External Secrets / VaultSkip health checksK8s can't detect unhealthy podsAlways configure liveness + readiness probesOmit labelsCannot filter, select, or organizeUse standard app.kubernetes.io/* labelsSingle replica for productionZero availability during updatesUse replicas: 3 minimum for HAHardcode config in containersRequires rebuild for config changesUse ConfigMaps and Secrets

### Assets (Templates)

TemplateDescriptionassets/deployment-template.yamlProduction Deployment with security + probesassets/service-template.yamlClusterIP, LoadBalancer, NodePort examplesassets/configmap-template.yamlConfigMap with data typesassets/statefulset-template.yamlStatefulSet with headless Service + PVCassets/cronjob-template.yamlCronJob with concurrency + historyassets/ingress-template.yamlIngress with TLS, rate limiting, CORS

### References

ReferenceDescriptionreferences/deployment-spec.mdDetailed Deployment specificationreferences/service-spec.mdService types and networking details
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: wpank
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-04T19:16:30.654Z
- Expires at: 2026-05-11T19:16:30.654Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/kubernetes-devops)
- [Send to Agent page](https://openagent3.xyz/skills/kubernetes-devops/agent)
- [JSON manifest](https://openagent3.xyz/skills/kubernetes-devops/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/kubernetes-devops/agent.md)
- [Download page](https://openagent3.xyz/downloads/kubernetes-devops)