# Kubernetes YAML 生成器 - Deployment、Service、Ingress 在线生成

> 在线生成 Kubernetes 清单：Deployment、Service、Ingress、ConfigMap、Secret、HPA、PVC、CronJob，自动检查标签与资源单位，可从 compose 一键转换。

- 网址: https://qilingtools.com/zh/k8s-yaml
- 分类: 开发工具 (https://qilingtools.com/zh/dev)
- 标签: [开发](https://qilingtools.com/zh/tags/dev), [运维部署](https://qilingtools.com/zh/tags/devops)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

手写 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。全部在浏览器本地完成。

## 使用步骤

1. 填写名称、镜像、端口等，或在顶部粘贴 docker run / docker-compose.yml 一键导入
2. 按需开启 Service、Ingress、ConfigMap、Secret、PVC、HPA、CronJob 并填写参数
3. 查看右侧检查提示，复制或下载 YAML，用 kubectl apply --dry-run=server 验证后部署

## 功能特点

- Deployment / StatefulSet 全字段表单：探针、资源、卷、安全上下文、调度
- Service 四种类型、Ingress（TLS、cert-manager、多域名）
- ConfigMap、Secret（自动 base64）、HPA v2、PVC、CronJob
- 标签、端口名、资源单位、requests/limits 等实时校验
- selector、Service、Ingress、HPA 名称端口自动对应
- docker run / docker-compose 转 Kubernetes
- 多文档 YAML 复制下载，附 kubectl 命令

## 常见问题

### 生成的 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。

## 相关工具

- [JSON 格式化](https://qilingtools.com/zh/json): 免费在线 JSON 格式化：一键美化、压缩，实时语法校验并定位到出错行列，支持树形视图折叠、键名排序、转义与去转义、Unicode 转中文、复制下载，数据不上传。
- [Base64 编解码](https://qilingtools.com/zh/base64): 免费在线 Base64 编码解码工具：支持中文 UTF-8、URL 安全变体，文本与 Base64 互转，实时转换，本地处理不上传。
- [URL 编解码](https://qilingtools.com/zh/url-encode): 免费在线 URL 编码解码工具：encodeURIComponent 与 encodeURI 两种模式，处理中文、空格与特殊符号，本地实时转换不上传。
- [JWT 解析](https://qilingtools.com/zh/jwt): 免费在线 JWT 解析工具：解码 JWT 的 Header 与 Payload，展示过期时间、签发时间等，本地解析不上传，保护令牌安全。
- [时间戳转换](https://qilingtools.com/zh/timestamp): 免费在线 Unix 时间戳转换工具：时间戳与日期互转，自动识别秒/毫秒，显示本地时间、UTC、ISO 8601 和相对时间，实时更新。
- [哈希计算](https://qilingtools.com/zh/hash): 免费在线哈希/摘要计算工具：对文本或文件计算 SHA-1、SHA-256、SHA-384、SHA-512，使用浏览器加密接口本地完成，文件不上传。
- [UUID 生成](https://qilingtools.com/zh/uuid): 免费在线 UUID 生成器：使用加密安全随机数批量生成符合 RFC 4122 的 UUID v4，可大写、去连字符、加花括号，一键复制。
- [进制转换](https://qilingtools.com/zh/base-convert): 免费在线进制转换工具：二进制、八进制、十进制、十六进制及任意 2–36 进制互转，支持大整数（BigInt），本地实时计算。
