macOS系统编译Kubernetes后执行kubectl提示权限被拒绝是什么原因
问题根源
你当前路径下的kubectl是目录而非可执行二进制文件,从你给出的ls -al输出第一列开头的d标识即可判断,drwxr-xr-x中第一个字符d代表该文件类型为目录。
报错原因解释
- 执行
./kubectl get namespaces报permission denied:操作系统不允许将目录作为可执行文件直接运行,此处目录的x权限仅代表允许用户进入该目录,不代表具备可执行文件的运行权限。 - 执行
sudo ./kubectl get namespaces报command not found:sudo执行时默认会重置环境变量的PATH路径,且你指向的目标本身是目录而非可执行文件,无法被识别为可执行命令。
补充说明
Kubernetes源码仓库中的cmd/kubectl路径存放的是kubectl命令的源代码目录,你在仓库根目录执行make编译完成后,生成的可执行kubectl二进制默认会输出到_output/bin/目录下,你可以到该路径下执行对应命令。
内容的提问来源于stack exchange,提问作者Jackie
相关产品推荐
相关产品推荐

