在 k8s 1.8 之後,默認生成的 token 有效期只有 24 小時,之後就無效了。if you require a non-expiring token use --token-ttl 0
在初始化集羣之後如果 token 過期一般分一下幾部重新加入集羣。
重新生成新的 token
$ kubeadm token create
m9rrtc.2cm48k5w6ymsprwt
$ kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
m9rrtc.2cm48k5w6ymsprwt 23h 2019-05-07T02:55:17-04:00 authentication,signing <none> system:bootstrappers:kubeadm:default-node-token
獲取 CA 證書 sha256 編碼 hash 值
$ openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
4a77cfd6f9e2a16a7a45351369275f102b9986b469d3f9f9865a87050e4bf0dc
新節點加入集羣
–skip-preflight-checks 跳過與檢查(可選)
$ kubeadm join ip:port --token m9rrtc.2cm48k5w6ymsprwt --discovery-token-ca-cert-hash sha256:4a77cfd6f9e2a16a7a45351369275f102b9986b469d3f9f9865a87050e4bf0dc