目录标题
在 Kubernetes 中,Pod 的 metadata.name
必须遵循 DNS-1123 Label 的命名规范,不允许包含下划线(_
)。具体规则如下:
- 长度限制:最多 63 个字符。
- 字符集:仅能包含小写字母 (
a–z
)、数字 (0–9
) 及连字符 (-
)。 - 开头结尾:必须以字母或数字开头和结尾。
- 正则表达式:
[a-z0-9]([-a-z0-9]*[a-z0-9])?
(Kubernetes)
如果在 Pod 名称中使用下划线,API 校验会报错,例如:
Invalid value: "my_pod": a DNS-1123 label must consist of lower case alphanumeric characters or '-',
and must start and end with an alphanumeric character
社区用户在实际使用中也验证了这一点:用下划线生成的 Pod 名称会被视为非法,改用连字符则正常通过(GitHub, Stack Overflow)。
参考
- Kubernetes 官方文档 “Object Names and IDs” — DNS-1123 Label 规则 (Kubernetes)
- Podman-Desktop 社区 issue:部署时下划线导致 Pod 名称非法 (GitHub)
- StackOverflow 讨论:端口和容器名称不允许下划线,需用连字符 (Stack Overflow)