公司内部k8s集群里的服务器登陆之后在master节点查看各个节点状态出现报错

error: You must be logged in to the server (Unauthorized)
错误:您必须登录到服务器(未经授权)

这个应该是权限问题 之前有了解到k8s集群是由kubedam部署的 但是我目前只了解二进制和yum安装的方式. 经过查阅资料找到了配置身份认证的文件vim /etc/kubernetes/admin.conf 发现如下内容

current-context: kubernetes-admin@kubernetes
kind: Config
preferences: {}
users:
- name: kubernetes-admin
其余部分为证书内容

授予的用户为:kubernetes-admin
试了一下无法切换到kubernetes-admin用户,看来不是
最后找到方法为指定配置文件路径 可以直接在命令行里敲出来: export KUBECONFIG=/etc/kubernetes/admin.conf
也可以直接放到~/.bash_profile

echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
再source  ~/.bash_profile

最后使用kubectl命令时就不会报相同的错误
对于非root用户

# 对于非root用户
mkdir -p $HOME/.kube
 
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
 
sudo chown $(id -u):$(id -g) $HOME/.kube/config

在用kubeadm创建集群完成时应该会有类似的提示

推荐一下我觉得不错的一篇博客 https://blog.csdn.net/luanpeng825485697/article/details/83955721

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐