对于每个带有kubectl
的命令,我需要使用sudo kubectl
。
我了解安全性观点,但是我正在测试环境中工作,并且希望能够不使用sudo
来使用它。
我尝试运行sudo -i
并使用root帐户运行kubectl get pods
,但收到以下消息:
The connection to the server localhost:8080 was refused - did you
specify the right host or port?
我注意到当我在使用https://labs.play-with-k8s.com玩游戏时,该用户是root用户,我可以自由运行
kubectl
。我想在Minikube的Ubuntu机器上做同样的事情。
当我使用普通帐户运行
kubectl get pods
时,收到错误消息:error: unable to read client-key /home/myuser/.minikube/client.key for minikube due to open /home/myuser/.minikube/client.key: permission denied
我认为有两种方法:
1.向所有人授予
/home/myuser/.minikube/
的访问权限2.授予我的帐户权限,以在不使用
kubectl
的情况下运行sudo
编辑:
在@Konstantin Vustin请求之后,以下是所请求的信息:
myuser@ubuntu:/usr/local/bin$ ls -l $(which kubectl)
-rwxrwxr-x 1 myuser myuser 54308597 Jun 13 05:21 /usr/local/bin/kubectl
myuser@ubuntu:/usr/local/bin$ ls -la ~ | grep kube
drwxr-xr-x 5 myuser myuser 4096 Jun 17 02:25 .kube
drwxrwxr-x 10 myuser myuser 4096 Jun 13 05:18 .minikube
myuser@ubuntu:/usr/local/bin$ ls -l ~/.kube
total 24
drwxr-xr-x 3 root root 4096 Jun 13 05:26 cache
-rw------- 1 myuser myuser 911 Jun 13 05:27 config
drwxrwxr-x 3 myuser myuser 4096 Jul 11 01:37 http-cache
最佳答案
修复文件权限
您的kubectl文件很可能不属于您的用户。
您可以使用以下命令设置这些权限。
sudo chown -R $USER $HOME/.kube
使用sudo 运行kubectl
或者,您可以使用persistent sudo shell以sudo用户身份运行kubectl。
sudo -s
然后运行你的kubectl命令
kubectl get pods
kubectl describe <resource_type> <resource_name>
终于退出sudo shell
exit
关于kubernetes - 如何使用 “kubectl”命令而不是 “sudo kubectl”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51280172/