kubernetes - 如何使用 “kubectl”命令而不是 “sudo kubectl”

标签 kubernetes kubectl minikube

对于每个带有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/

相关文章:

启用 Kubernetes 后,Windows 中的 Docker 无法从我的私有(private)注册表中提取图像

kubernetes - 如何更改主机名解析,如 coredns 中的主机文件

kubernetes - Ansible 无法处理 kubectl 代理命令

windows - Minikube 在 Windows 8 中不工作

amazon-web-services - 停止并启动实例后,如何在AWS实例中重新启动minikube kubernetes集群?

amazon-web-services - 使用状态集存储Cassandra数据

apache-spark - Spark/k8s:如何在客户端模式下在现有kubernetes集群上安装Spark 2.4?

kubernetes - 为 kubernetes pod 指定带有命名空间的服务帐户名称

ubuntu - 在 Ubuntu 20.04 上安装 kubectl 并没有在/usr/kubernetes/中创建任何 .conf 文件

minikube - 将 podman/buildah 创建的容器镜像部署到 minikube 的良好工作流程是什么?