K8s對(duì)象名稱和ID是什么?
集群中每個(gè)對(duì)象都有一個(gè)對(duì)此對(duì)象類型資源唯一的名稱。(這個(gè)名稱僅僅在同一命名空間namespace
中同類型資源中唯一)
例如:
在同一個(gè)namespace
只能有一個(gè) Pod 以myapp-1234
命名,但可以有一個(gè) Pod 和一個(gè) Deployment 分別命名為myapp-1234
。
每個(gè)K8s對(duì)象都擁有一個(gè)UID
,這個(gè)ID在整個(gè)集群中都唯一。
四種常見資源名稱約束
DNS子域名DNS Subdomain Names
大多數(shù)資源類型都需要一個(gè)名稱,該名稱可用作RFC 1123中定義的 DNS 子域名。這意味著名稱必須:
- 包含不超過253個(gè)字符
- 僅包含小寫字母數(shù)字字符,“-”或“.”
- 以字母數(shù)字字符開頭
- 以字母數(shù)字字符結(jié)尾
RFC 1123 標(biāo)簽名稱
某些資源類型要求其名稱遵循RFC 1123中定義的 DNS 標(biāo)簽標(biāo)準(zhǔn)。這意味著名稱必須:
- 最多包含 63 個(gè)字符
- 僅包含小寫字母數(shù)字字符或“-”
- 以字母數(shù)字字符開頭
- 以字母數(shù)字字符結(jié)尾
RFC 1035 標(biāo)簽名稱
某些資源類型要求其名稱遵循RFC 1035種定義的 DNS 標(biāo)簽標(biāo)準(zhǔn)。這意味著名稱必須:
- 最多包含 63 個(gè)字符
- 僅包含小寫字母數(shù)字字符或“-”
- 以字母字符開頭
- 以字母數(shù)字字符結(jié)尾
路徑段名稱Path Segment Names
某些資源類型要求它們的名稱能夠安全地編碼為路徑段。換句話說,名稱可能不是“.”。或“..”,名稱不能包含“/”或“%”。