K8s Token 过期解决方案(Kubeadm)

K8s Token 过期解决方案(Kubeadm)_第1张图片


文章目录

    • 一、背景
    • 二、创建 Token
    • 三、管理 Token
    • 四、获取 CA 证书 Hash 值
    • 五、Node 节点加入 K8s 集群


一、背景

Token 是 Node 节点用来连接 Master 节点的令牌字串,它和 CA 证书的 Hash 值是把一台 Node 节点加入到 K8s 集群时使用的凭证。如下图所示:

K8s Token 过期解决方案(Kubeadm)_第2张图片

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

二、创建 Token

1、生成默认 24 小时 Token

kubeadm token create

K8s Token 过期解决方案(Kubeadm)_第3张图片

2、生成永久有效 Token

kubeadm token create --ttl 0

三、管理 Token

1、查看 Token

kubeadm token list

# 可看到有效期为23h

K8s Token 过期解决方案(Kubeadm)_第4张图片

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/^.* //'

image-20230208105326827

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

image-20230208110136289

你可能感兴趣的:(FAQ,DevOps,kubernetes,容器)