从https://github.com/kubernetes-incubator/client-python/blob/master/examples/exec.py尝试示例kubernetes python客户端时,我收到一条错误,指出复制控制器名称必须与正则表达式a-z0-9匹配?(\。a-z0-9?)*当我尝试一个名字" My-Whole-World"。根据错误消息中打印的正则表达式,这是预期的,但是当检查https://kubernetes.io/docs/tutorials/stateless-application/run-stateless-ap-replication-controller/#resizing-a-replication-controller处的Kubernetesdocumentation页面时,我看到该名称必须符合RFC1035。现在,错误消息中打印的正则表达式看起来不符合RFC1035正则表达式(Regular Expression for validating DNS label ( host name))。这看起来像kubernetes中的一个错误。谁能证实这一点?
答案 0 :(得分:2)
<强> TL; DR:强>
该文件似乎有旧的无效信息。 ReplicationControllers
符合RFC 1123
。
代码遍历:
要验证复制控制器,请使用ValidateReplicationControllerName
,它基本上是一个名为NameIsDNSSubdomain
的函数
这反过来调用IsDNS1123Subdomain
,因此这个最终函数正在基于RFC 1123进行验证。
有一句话说:
DNS-1123子域名必须包含小写字母数字字符“ - ”或“。”,并且必须以字母数字字符开头和结尾