☸️Kubernetes YAML 生成器 - Deployment、Service、Ingress 在线生成
手写 Kubernetes YAML 最容易出错的就是缩进、标签和各种名字的对应关系。这个工具用表单生成一整套可以直接 kubectl apply 的多文档清单:Deployment 或 StatefulSet(镜像、副本数、端口、环境变量、从 ConfigMap / Secret 导入、CPU 内存 requests 与 limits、存活和就绪探针、PVC / ConfigMap / Secret / emptyDir / hostPath 卷、securityContext、nodeSelector、容忍、Pod 反亲和打散、滚动更新参数),以及 Service(ClusterIP、NodePort、LoadBalancer、Headless)、Ingress(ingressClassName、多域名、路径、TLS 与 cert-manager)、ConfigMap、Secret(自动 base64,支持中文)、HPA(autoscaling/v2,按 CPU / 内存)、PVC 和使用同一镜像的 CronJob。selector、Service、Ingress、HPA 之间的名称和端口由同一份表单生成,天然一致;StatefulSet 会自动配套 Headless Service 和 volumeClaimTemplates。右侧实时给出检查提示:名称与标签格式、端口名规则(最长 15 字符)、端口重复、NodePort 范围、CPU / 内存单位写错(如把 Mi 写成 m 或 MB)、requests 大于 limits、HPA 缺少 requests、探针端口不存在、latest 镜像等。还可以粘贴 docker run 命令或 docker-compose.yml,自动转换成 Deployment + Service:端口、环境变量(像密码的放进 Secret)、命名卷转 PVC、绑定挂载转 ConfigMap、内存 CPU 限制、healthcheck 转探针、user 转 runAsUser。全部在浏览器本地完成。
免费 · 无需注册 · 浏览器本地处理最后更新:
如何使用Kubernetes YAML 生成器
- 1填写名称、镜像、端口等,或在顶部粘贴 docker run / docker-compose.yml 一键导入
- 2按需开启 Service、Ingress、ConfigMap、Secret、PVC、HPA、CronJob 并填写参数
- 3查看右侧检查提示,复制或下载 YAML,用 kubectl apply --dry-run=server 验证后部署
常见问题
- 生成的 YAML 怎么部署?
- 下载后先执行 kubectl apply --dry-run=server -f 文件名.yaml,让 API Server 做一次完整校验但不真正创建资源;没有报错再去掉 --dry-run 正式 apply,然后用 kubectl rollout status 观察发布进度。如果指定了非 default 的命名空间,可勾选“同时生成 Namespace”。
- Deployment 和 StatefulSet 怎么选?
- 无状态服务(Web、API)用 Deployment,Pod 可以随意替换和扩缩。数据库、消息队列等需要稳定网络标识和独立存储的应用用 StatefulSet:每个 Pod 有固定名字(name-0、name-1),通过 Headless Service 访问,每个副本由 volumeClaimTemplates 获得自己的 PVC。
- CPU 和内存的单位怎么写?
- CPU 用核数或毫核:0.5 与 500m 相同。内存推荐二进制单位 Ki、Mi、Gi(1Mi = 1048576 字节);M、G 是十进制单位;小写 m 表示“千分之一字节”,128m 内存几乎一定是写错了。工具会对这些写法给出提示,并检查 requests 不能大于 limits。
- 从 docker-compose 转换有哪些限制?
- depends_on、privileged、network_mode: host、build 等没有直接对应,会给出说明。绑定挂载会改成 ConfigMap 卷,需要用 kubectl create configmap --from-file 创建;命名卷会转成 PVC。名字像 PASSWORD、TOKEN、KEY 的环境变量会被放进 Secret。注意 Secret 的 base64 只是编码,不要把真实密码提交到 Git。