DNS 子域名规范
Kubernetes 名称必须遵守 RFC 1123 规范。
- 必须至少包含一个字符。
- 只能包含小写字母、数字、'-' 和 '.'。
- 必须以字母或数字开头和结尾。
- 在内部,点 '.' 用于表示命名空间的域。因此,在指定名称时,不应该包含点 '.'。
- 最大长度为 253 个字符。
注意:虽然 Kubernetes 允许在名称中使用 '-',但不建议在应用程序名称中使用 '-',因为某些命令行工具可能无法正确解析包含 '-' 的名称。
命名空间和名称
在 Kubernetes 中,对象名称在命名空间中必须是唯一的。这意味着你可以有两个名为 "my-pod" 的 Pod,但它们必须位于不同的命名空间中。
如果你没有指定命名空间,那么对象通常会被创建在 "default" 命名空间中。但是,为了清晰和避免潜在冲突,建议总是明确指定命名空间。
选择好的名称
为你的 Kubernetes 对象选择描述性强且易于理解的名称是很重要的。这有助于其他团队成员更容易地理解你的集群配置和状态。
当选择名称时,考虑以下因素:
- 简洁性:名称应该尽可能简短,但要确保它们仍然具有描述性。
- 描述性:名称应该清晰地传达对象的目的或功能。
- 一致性:在整个集群中保持命名的一致性。例如,如果你有一个名为 "frontend-pod" 的 Pod,那么相关的 Service 可能应该命名为 "frontend-service"。
总结
在 Kubernetes 中,每个对象都有一个唯一的名称,该名称在命名空间中必须是唯一的。选择好的名称对于维护清晰、易于理解的集群配置至关重要。遵守 DNS 子域名规范,并确保你的名称简洁、描述性强且一致。