BUG 报告(复制自@rhuss在这里提交的问题 https://github.com/kubernetes/kubernetes/issues/5363)
1.8.0 - 到当前主版本 (2017-10-26)
当使用 kubeadm 和 kubeadm token generate 预先生成的令牌时,以及让 kubeadm 创建令牌时, tokenTTL
配置将被忽略。 不使用配置文件而是使用kubeadm init --token-ttl 0
我希望在提供 0 的令牌TTL 时令牌不会过期。
见https://github.com/kubernetes/kubernetes/issues/53637其中@rhuss描述这很好。
当默认令牌 TTL 更改时,此错误是在https://github.com/kubernetes/kubernetes/pull/48783中引入的。
API 机制默认机制无法区分未设置的值和明确设置为零的值。
我对该更改进行了一些手动测试,但显然仅适用于kubeadm token create --ttl 0
,这很好用,因为它不使用 MasterConfiguration 默认机制。
cc @kubernetes/sig-cluster-lifecycle-bugs
/类型错误
我目前的解决方法是在我自己的 _after_ kubeadm init
上创建一个额外的令牌:
kubeadm init --config /etc/kubernetes/kubeadm.yml
kubeadm token create --ttl 0 --groups system:bootstrappers:kubeadm:default-node-token --description "Bootstrap token which does not expire"
然后将后面的令牌用于节点上的kubeadm join
。
感谢@mattmoyer修复错误 :clap:! 得到正式认可的
这是在master
中修复的,应该在 v1.8.3 中。
最有用的评论
我目前的解决方法是在我自己的 _after_
kubeadm init
上创建一个额外的令牌:然后将后面的令牌用于节点上的
kubeadm join
。