Generar manifiestos YAML de Kubernetes para Deployments, Services, ConfigMaps, reglas de Ingress y HPA.
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: default
labels:
app: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: myapp:latest
ports:
- containerPort: 3000
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
env:
- name: NODE_ENV
value: "production"
livenessProbe:
httpGet:
path: /healthz
port: 3000
initialDelaySeconds: 15
periodSeconds: 20
readinessProbe:
httpGet:
path: /ready
port: 3000
initialDelaySeconds: 5
periodSeconds: 10Los recursos de Kubernetes se definen como manifiestos YAML y se aplican con el comando `<code>kubectl apply -f`</code>. Un Deployment gestiona un conjunto de Pods replicados. Un Service expone dichos Pods a través de una dirección IP estable o un nombre DNS. Un ConfigMap almacena datos de configuración que no son secretos. Un Ingress redirige el tráfico HTTP externo a los servicios internos. Un HPA escala automáticamente las réplicas de un Deployment en función del uso de la CPU o la memoria.
Selecciona un tipo de recurso en las pestañas de la parte superior. Rellena los campos correspondientes a ese recurso y, a continuación, copia el código YAML generado. Utiliza la pestaña «Todos los recursos» para generar los cinco manifiestos a la vez en un único archivo YAML con varios documentos, separados por delimitadores <code>«---</code>».
Las solicitudes de recursos definen la CPU y la memoria mínimas que necesita un contenedor para su programación. Los límites restringen el consumo máximo que puede alcanzar un contenedor. Establecer solicitudes sin límites es el patrón más habitual en producción, ya que garantiza un margen de programación al tiempo que permite picos de actividad. El HPA requiere que el servidor de métricas esté instalado en el clúster. Las reglas de Ingress requieren un controlador de Ingress, como nginx-ingress o Traefik.