Kubernetes Resource Configuration
Kubernetes Resource Configuration
Generates comprehensive Kubernetes manifests, including deployments, services, and ingress, based on user-defined specifications and best practices.
How to use
Provide details for your Kubernetes application in the {{args}} placeholder. Specify values for {{name}}, {{image}}, {{domain}}, {{config_data}}, and {{secret_data}} to generate tailored manifests. Optional parameters have default values.
Prompt
Kubernetes Configuration
Please help configure Kubernetes resources for:
{{args}}
Kubernetes Resources
1. Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{name}}
labels:
app: {{name}}
spec:
replicas: {{replicas|default: 3}}
selector:
matchLabels:
app: {{name}}
template:
metadata:
labels:
app: {{name}}
spec:
containers:
- name: {{name}}
image: {{image}}
ports:
- containerPort: {{port|default: 8080}}
resources:
requests:
cpu: "{{cpu_request|default: 100m}}"
memory: "{{memory_request|default: 128Mi}}"
limits:
cpu: "{{cpu_limit|default: 500m}}"
memory: "{{memory_limit|default: 256Mi}}"
env:
{{#if env}}
{{env}}
{{/if}}
livenessProbe:
httpGet:
path: {{liveness_path|default: /health}}
port: {{port|default: 8080}}
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: {{readiness_path|default: /ready}}
port: {{port|default: 8080}}
initialDelaySeconds: 5
periodSeconds: 52. Service
apiVersion: v1
kind: Service
metadata:
name: {{name}}
spec:
type: {{service_type|default: ClusterIP}}
selector:
app: {{name}}
ports:
- port: {{port|default: 80}}
targetPort: {{target_port|default: 8080}}
protocol: TCP3. Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{name}}
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- {{domain}}
secretName: {{name}}-tls
rules:
- host: {{domain}}
http:
paths:
- path: {{path|default: /}}
pathType: Prefix
backend:
service:
name: {{name}}
port:
number: {{port|default: 80}}4. ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: {{name}}-config
data:
{{config_data}}5. Secret
apiVersion: v1
kind: Secret
metadata:
name: {{name}}-secret
type: Opaque
stringData:
{{secret_data}}6. HorizontalPodAutoscaler
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{name}}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{name}}
minReplicas: {{min_replicas|default: 2}}
maxReplicas: {{max_replicas|default: 10}}
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{cpu_target|default: 70}}Best Practices
Security
- Use non-root user in container
- Set resource limits
- Enable pod security policies
- Use secrets for sensitive data
Health Checks
- Configure liveness probe
- Configure readiness probe
- Set appropriate timeouts
Scaling
- Configure HPA for auto-scaling
- Set resource requests/limits
- Use pod disruption budgets
Output Requirements
Provide:
- Complete Kubernetes manifests
- Namespace configuration
- Resource quotas
- Network policies
- RBAC configuration
- Helm chart structure (if applicable)