K8s Token过期问题及解决(Kubeadm)
一、背景
Token 是 Node 节点用来连接 Master 节点的令牌字串,它和 CA 证书的 Hash 值是把一台 Node 节点加入到 K8s 集群时使用的凭证。
如下图所示:

在 K8s 1.8 之后,默认生成的 Token 有效期只有 24 小时,过期后 Token 将不可用,如果想新的 Node 节点加入 K8s 集群,则需重新生成新的 Token。
生产环境中我们一般都会采用默认的有效期即可(目的是为了 K8s 集群的安全),当然你也可以生成永久有效的 Token(但不建议)。
二、创建 Token
1、生成默认 24 小时 Token
kubeadm token create

2、生成永久有效 Token
kubeadm token create --ttl 0
三、管理 Token
1、查看 Token
kubeadm token list # 可看到有效期为23h

2、删除 Token
kubeadm token delete <Token值> kubeadm token delete lu8i0r.pzvgyu40c8g73yc1
四、获取 CA 证书 Hash 值
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

五、Node 节点加入 K8s 集群
kubeadm join 172.27.0.13:6443 --token lu8i0r.pzvgyu40c8g73yc1 --discovery-token-ca-cert-hash sha256:3ed701329742f7549f73cb065a8677abe8b5b8a3e25bbca7bb26f317ffcf89d4
也可以直接生成 Node 加入 K8s 集群的完整命令:
kubeadm token create --print-join-command # 这样就很方便了,就不需要单独获取ca证书的hash值了

总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Rainbond云原生部署SpringCloud应用架构实践
这篇文章主要为大家介绍了Rainbond云原生部署SpringCloud应用架构实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-04-04
k8s如何使用NFS作为StorageClass提供动态存储
本文主要介绍了k8s中的StorageClass,包括其定义、引入的原因、实现方式、定义方法以及回收策略对数据的影响等,首先,StorageClass是在K8s集群中创建用于动态PV的管理,可以链接至不同的后端存储,对存储的请求可以指向StorageClass2024-09-09


最新评论