gcloud 命令更改当前目录的所有权
gcloud command changes ownership of the current directory
我正在执行从 GCP 获取 kubernetes 集群凭据的常规操作。 gcloud
命令不获取凭据并令人惊讶地更新本地目录的所有权:
~/tmp/1> ls
~/tmp/1> gcloud container clusters get-credentials production-ng
Fetching cluster endpoint and auth data.
ERROR: (gcloud.container.clusters.get-credentials) Unable to write file [/home/vladimir/tmp/1]: [Errno 21] Is a directory: '/home/vladimir/tmp/1'
~/tmp/1> ls
ls: cannot open directory '.': Permission denied
其他命令,如 gcloud container clusters list
工作正常。我尝试重新安装 gcloud
.
刚好是kubectl
的问题。重新安装它解决了这个奇怪的问题。
如果您像我一样一直坚持奇怪的 gcloud
行为,以下几点可能有助于跟踪问题:
- 检查
alias
命令以及它是否真的指向预期的二进制文件;
- 使用
gsutil
启动单独的 docker 容器,并将您的配置文件提供给它。如果 gcloud container clusters get-credentials ...
在那里运行顺利,那就是二进制文件(不是配置)的问题:
docker run -it \
-v $HOME/.config:/root/.config \
-v $HOME/.kube:/root/.kube google/cloud-sdk:217.0.0-alpine sh
- 二进制问题可以通过 reinstalling/updating;
解决
- 如果是配置问题,那么您可以备份它们并从头开始重新安装 kubectl / gsutil,不仅要使用
apt-get remove ...
,还要使用 apt-get purge ...
。请注意:purge
删除配置文件!
希望这对其他人有所帮助。
如果您的 KUBECONFIG
条目为空,例如 :/Users/acme/.kube/config
,就会发生这种情况
gcloud 将空值解析为当前目录,更改权限并尝试写入它
我正在执行从 GCP 获取 kubernetes 集群凭据的常规操作。 gcloud
命令不获取凭据并令人惊讶地更新本地目录的所有权:
~/tmp/1> ls
~/tmp/1> gcloud container clusters get-credentials production-ng
Fetching cluster endpoint and auth data.
ERROR: (gcloud.container.clusters.get-credentials) Unable to write file [/home/vladimir/tmp/1]: [Errno 21] Is a directory: '/home/vladimir/tmp/1'
~/tmp/1> ls
ls: cannot open directory '.': Permission denied
其他命令,如 gcloud container clusters list
工作正常。我尝试重新安装 gcloud
.
刚好是kubectl
的问题。重新安装它解决了这个奇怪的问题。
如果您像我一样一直坚持奇怪的 gcloud
行为,以下几点可能有助于跟踪问题:
- 检查
alias
命令以及它是否真的指向预期的二进制文件; - 使用
gsutil
启动单独的 docker 容器,并将您的配置文件提供给它。如果gcloud container clusters get-credentials ...
在那里运行顺利,那就是二进制文件(不是配置)的问题:
docker run -it \
-v $HOME/.config:/root/.config \
-v $HOME/.kube:/root/.kube google/cloud-sdk:217.0.0-alpine sh
- 二进制问题可以通过 reinstalling/updating; 解决
- 如果是配置问题,那么您可以备份它们并从头开始重新安装 kubectl / gsutil,不仅要使用
apt-get remove ...
,还要使用apt-get purge ...
。请注意:purge
删除配置文件!
希望这对其他人有所帮助。
如果您的 KUBECONFIG
条目为空,例如 :/Users/acme/.kube/config
,就会发生这种情况
gcloud 将空值解析为当前目录,更改权限并尝试写入它