当我尝试检查k8s证书的到期状态时,我运行以下命令:
kubeadm alpha certs check-expiration
最终以:
name: Invalid value: "alpha_53_116": a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*')
我想知道为什么它需要检查节点的主机名?由于我的主节点的主机名无法更改,有什么办法解决这个问题?
补码:
OS:Centos 7.4
kubeadm版本:1.15.0
答案 0 :(得分:1)
正如您在问题中指出的那样,问题出在您的节点名称上。
根据{{3}}命令kubeadm alpha certs
该命令显示客户端证书的到期/剩余时间 在/ etc / kubernetes / pki文件夹中并用于客户端证书 嵌入在kubeadm使用的KUBECONFIG文件中(admin.conf, controller-manager.conf和scheduler.conf)。
提到的文件可以在/etc/kubernetes
中找到。您也可以使用kubeadm config print init-defaults
检查kubeadm的初始配置。
这些文件将包含您的主机名,在kubeadm / kubernetes中无效。
简而言之,由于kubeadm alpha certs
是基于KUBECONFIG文件和pki文件夹的,因此不会由于“ _”符号而进行验证。
不幸的是,这是语法问题,因此没有解决方法。
请记住,alpha
是Kubeadm的实验性子命令。因此,将来可能会更改。