Use when generating Kubernetes deployment manifests and services. Trigger with phrases like "create kubernetes deployment", "generate k8s manifest", "deploy app to kubernetes", or "create service and ingress". Produces production-ready YAML with health checks, auto-scaling, resource limits, ingress configuration, and TLS termination.
Limited to specific tools
Additional assets for this skill
This skill is limited to using the following tools:
assets/README.mdassets/configmap_template.yamlassets/deployment_template.yamlassets/hpa_template.yamlassets/ingress_template.yamlassets/secret_template.yamlassets/service_template.yamlreferences/README.mdscripts/README.mdscripts/apply_manifest.shscripts/delete_manifest.shscripts/get_resource_status.shscripts/validate_manifest.shdescription: Use when generating Kubernetes deployment manifests and services. Trigger with phrases like "create kubernetes deployment", "generate k8s manifest", "deploy app to kubernetes", or "create service and ingress". Produces production-ready YAML with health checks, auto-scaling, resource limits, ingress configuration, and TLS termination. allowed-tools:
Before using this skill, ensure:
Deployment Manifest:
# {baseDir}/k8s/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-web-app
namespace: production
spec:
replicas: 3
selector:
matchLabels:
app: my-web-app
template:
metadata:
labels:
app: my-web-app
spec:
containers:
- name: app
image: registry/my-web-app:v1.0.0
ports:
- containerPort: 80
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
livenessProbe:
httpGet:
path: /health
port: 80
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 80
initialDelaySeconds: 5
periodSeconds: 5
Service and Ingress:
# {baseDir}/k8s/service.yaml
apiVersion: v1
kind: Service
metadata:
name: my-web-app
namespace: production
spec:
type: ClusterIP
selector:
app: my-web-app
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-web-app
namespace: production
spec:
tls:
- hosts:
- app.example.com
secretName: tls-cert
rules:
- host: app.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-web-app
port:
number: 80
Image Pull Error
CrashLoopBackOff
kubectl logs and review container healthResource Quota Exceeded
Ingress Not Working
TLS Certificate Error