为什么kubectl与sudo有不同的行为?

时间:2017-08-06 20:40:01

标签: kubernetes kubectl

使用sudo运行kubectl get pods

sudo kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?

以普通用户身份运行:

kubectl get pods
No resources found.

2 个答案:

答案 0 :(得分:5)

默认情况下,kubectl查找〜/ .kube / config(或指向$ KUBECONFIG的文件)以确定要连接的服务器。以root用户身份运行命令时,您的主目录和环境会有所不同。如果未找到连接信息,则kubectl默认为localhost:8080

答案 1 :(得分:-1)

您可以从普通用户运行这些命令:

sudo cp /etc/kubernetes/admin.conf $HOME/
sudo chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf

这会将配置文件复制到普通用户主目录中,这就是为什么你能够从普通主机而不是从sudo获得连接的原因。