将 .kube/config 令牌过期

will .kube/config token expired

我使用 .kube/config 访问服务器上的 Kubernetes api。我想知道配置文件中的令牌是否过期?如何防止它过期?

是的,它将在一年后过期。自动证书续订功能是 kubernetes 1.15 版本的默认功能,除非您在 kubeadm init 阶段使用 --certificate-renewal=false 选项明确禁用它。

检查过期时间:

    kubeadm alpha certs check-expiration

例如

外部管理的证书过期剩余时间

admin.conf 2020 年 9 月 6 日 04:34 UTC 361d 否
apiserver 2020 年 9 月 6 日 04:34 UTC 361d 否
apiserver-etcd-client 2020 年 9 月 6 日 04:34 UTC 361d 否
apiserver-kubelet-client 2020 年 9 月 6 日 04:34 UTC 361d 否
控制器-manager.conf 2020 年 9 月 6 日 04:34 UTC 361d 否
etcd-healthcheck-client 2020 年 9 月 6 日 04:34 UTC 361d 否
etcd-peer 2020 年 9 月 6 日 04:34 UTC 361d 否
etcd-server 2020 年 9 月 6 日 04:34 UTC 361d 否
前端代理客户端 2020 年 9 月 6 日 04:34 UTC 361d 否
scheduler.conf 2020 年 9 月 6 日 04:34 UTC 361d 否

更新所有认证:

  kubeadm alpha certs renew all

仅续订 admin.conf:

  kubeadm alpha certs renew admin.conf
  cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

这是特定于 OAuth 提供程序的。例如 GKE 使用 this.

简而言之,auth 提供者会向您发出一个 JWT 令牌,证明您是 auth,其中包含诸如到期时间之类的数据,根据文档,对于 google 个帐户,它不能超过 60 分钟。

希望对您有所帮助。

解决办法是使用kubernetes服务账号