为 Deployment、Service、ConfigMaps、Ingress 规则和 HPA 生成 Kubernetes YAML 清单。
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: 10Kubernetes 资源以 YAML 清单的形式定义,并使用<code>kubectl apply -f</code>应用。Deployment 管理一组复制的 Pod。Service 通过稳定的 IP 地址或 DNS 名称公开这些 Pod。ConfigMap 存储非机密配置数据。Ingress 将外部 HTTP 流量路由到内部 Service。HPA 根据 CPU 或内存使用情况自动扩展 Deployment 副本数。
从顶部选项卡中选择资源类型。填写该资源的字段,然后复制生成的 YAML 文件。使用“所有资源”选项卡,可以一次性生成所有五个清单,并将它们合并为一个多文档 YAML 文件,文档之间用<code>---</code>分隔符分隔。
资源请求定义了容器调度所需的最低 CPU 和内存容量。限制则限制了容器可以消耗的最大资源量。不设置限制的请求是生产环境中最常见的模式 - 它既能保证调度余量,又能允许突发性需求。HPA 要求集群中安装 metrics-server。Ingress 规则需要 Ingress 控制器,例如 nginx-ingress 或 Traefik。