执行“ kubeadm alpha certs xxx”时主机名无效

时间:2019-06-25 07:22:24

标签: kubernetes kubeadm

当我尝试检查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

1 个答案:

答案 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的实验性子命令。因此,将来可能会更改。