用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/tomevault-io/skills-registry --skill kubernetes-orchestration命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | kubernetes-orchestration |
| description | >- Use when this capability is needed. |
requests and limits for CPU and memory.
Without them, a single pod can starve the entire node.readinessProbe and livenessProbe. Without
readiness probes, traffic routes to unready pods. Without liveness probes, stuck containers are
never restarted.startupProbe for applications with long initialization (
JVM, large model loading) to avoid premature liveness kills.latest Tag: Pin image tags to immutable versions or digests. latest causes
unpredictable deployments and breaks rollback.apiVersion: v1
kind: Pod
metadata:
name: api-server
labels:
app: api-server
version: v1.2.0
spec:
containers:
- name: api
image: myregistry/api-server:1.2.0
ports:
- containerPort: 8080
protocol: TCP
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
startupProbe:
httpGet:
path: /healthz
port: 8080
failureThreshold: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8080
initialDelaySeconds: 5
periodSeconds:
apiVersion: apps/v1
kind: Deployment
metadata:
name: api-server
namespace: production
labels:
app: api-server
spec:
replicas: 3
revisionHistoryLimit: 5
selector:
matchLabels:
app: api-server
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
template:
metadata:
labels:
app: api-server
version: v1.2.0
spec:
terminationGracePeriodSeconds: 60
containers:
- name: api
image: myregistry/api-server:1.2.0
ports:
- containerPort: 8080
resources:
requests:
cpu: 200m
memory:
# Internal service (default ClusterIP)
apiVersion: v1
kind: Service
metadata:
name: api-server
namespace: production
spec:
selector:
app: api-server
ports:
- port: 80
targetPort: 8080
protocol: TCP
---
# External access via LoadBalancer
apiVersion: v1
kind: Service
metadata:
name: api-server-public
namespace: production
spec:
type: LoadBalancer
selector:
app: api-server
ports:
- port: 443
targetPort: 8080
protocol: TCP
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
namespace: production
data:
log-level: "info"
max-connections: "100"
feature-flags.json: |
{
"new-dashboard": true,
"beta-api": false
}
---
apiVersion: v1
kind: Secret
metadata:
name: db-credentials
namespace: production
type: Opaque
stringData:
url: "postgres://user:pass@db-host:5432/mydb"
api-key: "sk-secret-value"
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: api-ingress
namespace: production
annotations:
nginx.ingress.kubernetes.io/rate-limit: "100"
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
ingressClassName: nginx
tls:
- hosts:
- api.example.com
secretName: api-tls-cert
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api-server
port:
number: 80
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: api-server-hpa
namespace: production
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: api-server
minReplicas: 3
maxReplicas: 20
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
behavior:
scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Percent
value: 25
periodSeconds:
# base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
commonLabels:
app.kubernetes.io/managed-by: kustomize
# overlays/production/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
namespace: production
patches:
- target:
kind: Deployment
name: api-server
patch: |
- op: replace
path: /spec/replicas
value: 5
- op: replace
path: /spec/template/spec/containers/0/resources/limits/memory
value: 2Gi
# Apply manifests
kubectl apply -f manifests/ --namespace=production
kubectl apply -k overlays/production/ # Kustomize
# Deployment management
kubectl rollout status deployment/api-server -n production
kubectl rollout history deployment/api-server -n production
kubectl rollout undo deployment/api-server -n production # rollback one revision
kubectl rollout undo deployment/api-server --to-revision=3 -n production
# Debugging
kubectl get pods -n production -l app=api-server -o wide
kubectl describe pod <pod-name> -n production
kubectl logs <pod-name> -n production --tail=100 -f
kubectl logs <pod-name> -n production -c <container> --previous # crashed container
# Resource inspection
kubectl top pods -n production
kubectl get events -n production --sort-by='.lastTimestamp'
kubectl get hpa -n production
# Quick exec into a pod
kubectl exec -it <pod-name> -n production -- /bin/sh
# Dry run and diff before applying
kubectl apply -f deployment.yaml --dry-run=server
kubectl diff -f deployment.yaml
requests AND limits on every container.readinessProbe + livenessProbe on every workload.v1.2.0, not latest).Namespaces + ResourceQuotas to isolate teams and environments.terminationGracePeriodSeconds to allow clean shutdown.PodDisruptionBudget for production Deployments.kubectl diff and --dry-run=server before applying changes.revisionHistoryLimit on Deployments to control rollback depth.securityContext.runAsNonRoot: true.kubectl apply directly in production without review — use GitOps or CI/CD.maxUnavailable to 100% in rolling updates — guarantees downtime.hostNetwork: true or hostPort unless absolutely required.SIGTERM gracefully in your application.Source: dallay/agents-skills — distributed by TomeVault.