在 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
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐