1、证书续签(k8s master节点执行):
# 备份kubernetes配置 sudo cp -r /etc/kubernetes /etc/kubernetes_bak # 更新证书 sudo kubeadm certs renew all # 查看证书过期时间 sudo kubeadm certs check-expiration #删除conf文件 sudo rm -rf /etc/kubernetes/*.conf #重新生成conf文件 sudo kubeadm init phase kubeconfig all #查看当前服务的k8s conf文件路径配置 echo $KUBECONFIG #备份并用新的替换k8s conf文件 sudo mv $KUBECONFIG ./config.bak sudo cp -i /etc/kubernetes/admin.conf $KUBECONFIG sudo chown $(id -u):$(id -g) $KUBECONFIG #重启服务 docker ps | egrep "etcd|kube-apiserver|kube-controller-manager|kube-scheduler" | grep -v pause | awk '{print $1}' | xargs -i docker restart {}
如果 echo $KUBECONFIG 为空,则执行命令:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config echo "export KUBECONFIG=$HOME/.kube/config" >> ~/.bash_profile source ~/.bash_profile
2、k8s异常:You must be logged in to the server
解决方法就是上面证书续签的后半部分,将原来的conf文件备份并删除,重新生成后再重启使用即可。特别需要注意 $KUBECONFIG 配置的路径,只有用新生成的admin.conf 文件替换改配置上的旧文件,才能解决该异常
#删除conf文件 sudo rm -rf /etc/kubernetes/*.conf #重新生成conf文件 sudo kubeadm init phase kubeconfig all #以上命令在k8s master节点执行,以下命令在master及其他分节点都要执行
#查看当前服务的k8s conf文件路径配置 echo $KUBECONFIG #备份并用新的替换k8s conf文件 sudo mv $KUBECONFIG ./config.bak
#拷贝admin.conf文件至 $KUBECONFIG ,如果是其他分节点,则使用scp拷贝 master 节点的/etc/kubernetes/admin.conf sudo cp -i /etc/kubernetes/admin.conf $KUBECONFIG sudo chown $(id -u):$(id -g) $KUBECONFIG #重启服务 docker ps | egrep "etcd|kube-apiserver|kube-controller-manager|kube-scheduler" | grep -v pause | awk '{print $1}' | xargs -i docker restart {}
标签:kube,kubernetes,sudo,logged,server,KUBECONFIG,conf,k8s From: https://www.cnblogs.com/lovelyli/p/17390925.html