Skip to content

命名规则

  • 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

注意: 某些资源类型可能有其相应的附加命名约束。