K8S集群Token过期处理方法以及Kubectl命令无法使用的问题解决
【摘要】
K8S集群Token过期处理方法以及Kubectl命令无法使用的问题解决
文章目录
K8S集群Token过期处理方法以及Kubectl命令无法使用的问题解决1.Token过期处理方法2.Kube...
K8S集群Token过期处理方法以及Kubectl命令无法使用的问题解决
1.Token过期处理方法
使用Kubeadm方式部署的K8S集群,在初始化的时候生成的Token的有效期为1天,当过期之后Token就无法使用了,也就意味着,在Node节点执行kubeadm join
命令加入K8S集群时就会失败,可以通过下面的方法重新生成Token。
1)创建Token
1.通过下面的命令可以创建一个不过期的token
# kubeadm token create --ttl 0
W0322 22:42:54.687441 18368 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
p4rynu.uj4jaxnzk2s0y9vi #这个值就是Token
2.查看可用的token列表
# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
p4rynu.uj4jaxnzk2s0y9vi <forever> <never> authentication,signing <none> system:bootstrappers:kubeadm:default-node-token
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
2)获取集群CA证书的HASH值
Node节点加入集群时不光要指定Token值还需要指定CA证书的HASH值,HASH值是永不过期的。
# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outformder 2>/dev/null|openssl dgst -sha256 -hex | sed 's/^.* //'
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- 1
- 2
3)将Node节点加入到K8S集群中
# kubeadm join --token p4rynu.uj4jaxnzk2s0y9vi 192.168.20.10:6443 --discovery-token-ca-cert-hash sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
- 1
2.Kubectl命令无法使用的处理方法
不管是Node节点还是Master节点部署完成后,都是无法使用kubectl
命令的,执行kubectl
命令时会报错权限的问题,需要手动进行配置。
报错如下:
The connection to the server localhost:8080 was refused - did you specify the right host or port?
- 1
解决方法:
# mkdir $HOME/.kube
# cp -irf /etc/kubernetes/admin.conf $HOME/.kube/config
# chown $(id -u):$(id -g) $HOME/.kube/config
- 1
- 2
- 3
文章来源: jiangxl.blog.csdn.net,作者:Jiangxl~,版权归原作者所有,如需转载,请联系作者。
原文链接:jiangxl.blog.csdn.net/article/details/125802856
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)