命名规则
- https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names
群集中的每个对象都有一个对于该资源类型唯一的名称。
下面是三种常用的资源名称约束类型。
以下是比较常见的三种资源命名约束。
1. DNS 子域名(DNS Subdomain Names)⚓
某些资源类型需要一个 name 来作为一个 DNS 子域名,见定义 RFC 1123。也就是命名必须满足如下规则:
- 不能超过253个字符
- 只能包含字母数字,以及'-' 和 '.'
- 须以字母数字开头
- 须以字母数字结尾
2. DNS 标签名称(DNS Label Names)⚓
某些资源类型需要其名称遵循 DNS 标签的标准,见RFC 1123。也就是命名必须满足如下规则:
- 最多63个字符
- 只能包含字母数字,以及'-'
- 须以字母数字开头
- 须以字母数字结尾
3. Path 部分名称(Path Segment Names)⚓
一些用与 Path 部分的资源类型要求名称能被安全的 encode。换句话说,其名称不能含有这些字符 "."、".."、"/"或"%"。
下面是一个名为nginx-demo
的 Pod 的配置清单:
apiVersion: v1
kind: Pod
metadata:
name: nginx-demo
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80
注意: 某些资源类型可能有其相应的附加命名约束。