error: You must be logged in to the server (Unauthorized)报错处理
发布时间
阅读量:
阅读量
报错
k8s集群1.14.2 平常正常使用,某天突然无法部署新服务。
kubeadm报错
error: You must be logged in to the server (Unauthorized)
kubectl 出现错误
原因及处理方法
<1>权限问题,身份认证的文件未配置
常见于部署时或重新初始化后,$HOME/.kube/config文件没有得到替换
解决方法:
将新文件替换
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
<2>k8s证书到期了(常见问题)
常见于部署时就未调整证书日期,1年后证书过期,出现的异常
解决方法:
从部署时就调整证书时长:
or
升级证书
1、查询当前证书过期时间
kubeadm alpha certs check-expiration
or
openssl x509 -noout -dates -in /etc/kubernetes/pki/apiserver.crt
or
for i in `find /etc/kubernetes/pki -name "*.crt"`;do openssl x509 -in $i -text -noout| grep Not;echo $i;done
Not Before 初始时间
Not After 过期时间
主要有如下证书,需要注意:
apiserver.crt
front-proxy-ca.crt
ca.crt
apiserver-etcd-client.crt
apiserver-kubelet-client.crt
front-proxy-client.crt
etcd/server.crt
etcd/ca.crt
etcd/peer.crt
etcd/healthcheck-client.crt
2、备份
cp -r /etc/kubernetes /etc/kubernetes_back
3、生成集群配置文件
kubeadm config view > /root/cluster.yaml
4、续期证书
kubeadm alpha certs renew all --config=/root/cluster.yaml
(拷贝新证书到其他master节点)
5、重新生成配置文件
cd /etc/kubernetes
ls *conf
rm -rf *conf
kubeadm init phase kubeconfig all --config=/root/cluster.yaml
6.复制新的认证文件(在所有master上执行,使证书生效)
rm -rf ~/.kube
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
7、重启kubelet、apiserver、controller-manager、scheduler、etcd(在所有master上执行,使证书生效)
docker ps | egrep "etcd|kube-apiserver|kube-controller-manager|kube-scheduler" | grep -v pause | awk '{print $1}' | xargs -i docker restart {}
8、检查每个master的证书有效期
for i in `find /etc/kubernetes/pki -name "*.crt"`;do openssl x509 -in $i -text -noout| grep Not;echo $i;done
全部评论 (0)
还没有任何评论哟~
