云其它

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > 云其它 > K8s Token过期问题

K8s Token过期问题及解决(Kubeadm)

作者:云计算-Security

本文介绍了Kubernetes中Token的生成、管理和使用方法,包括生成默认24小时Token和永久有效Token,以及查看、删除Token和获取CA证书Hash值,此外,还提供了Node节点加入K8s集群的完整命令

一、背景

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值了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文