2017-08-06 23 views
0

運行kubectl get pods使用sudo:爲什麼kubectl與sudo有不同的行爲?

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. 
+0

像這樣運行'kubectl --kubeconfig =/home/admin/.kube/config' – sfgroups

回答

5

默認情況下,kubectl看起來在〜/ .kube /配置(或指向的文件是$ KUBECONFIG)至確定要連接的服務器。以root身份運行命令時,您的主目錄和環境是不同的。當沒有連接信息時發現,kubectl缺省爲localhost:8080

-1

你會從普通用戶運行這些命令:

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

這將在你的普通用戶的主目錄已複製配置文件,這是爲什麼你能夠從正常的主機而不是從sudo獲得連接。

+0

'/etc/kubernetes/admin.conf'從哪裏來? – svenwltr

+0

這是kubernetes默認目錄。 –

+0

可能直接在主節點上,但不在任何客戶端上。此外,定製Kubernetes節點上的位置可能不同(例如,我們的集羣不知道該位置)。 – svenwltr

相關問題