当我尝试在 WSL2 下使用 krew.sigs.k8s.io 指令安装 krew 时:
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
我得到了一个错误:
failed to list indexes: failed to list the remote URL for index default: command execution failure, output="": exit status 1
如果很重要,我的配置是
kubectl
使用 多步 kubernetes.io 指令安装kubectl version
显示 Client Version: v1.29.3
git --version
显示 git version 2.43.0.windows.1
which kubectl
显示 /usr/bin/kubectl
zsh
我见过https://github.com/kubernetes-sigs/krew/issues/706但对我没有任何帮助。
问题与 git 权限有关,并在 如何在使用 WSL 时更正“git”报告“在存储库中检测到可疑所有权”而不添加“safe.directory”的帮助下解决?
cd ~/.krew/index/default
git status
输出:
fatal: detected dubious ownership in repository at '//wsl.localhost/kali-linux/home/lislo/.krew/index/default'
To add an exception for this directory, call:
git config --global --add safe.directory '%(prefix)///wsl.localhost/kali-linux/home/lislo/.krew/index/default'
我已经执行了建议的命令并重新运行 krew 安装:
(
set -x; cd "$(mktemp -d)" &&
OS="$(uname | tr '[:upper:]' '[:lower:]')" &&
ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" &&
KREW="krew-${OS}_${ARCH}" &&
curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" &&
tar zxvf "${KREW}.tar.gz" &&
./"${KREW}" install krew
)
现在 kubectl 可以看到 krew 已安装(我修改了路径以避免与 Windows 版本的
kubectl.exe
发生冲突):
$ PATH="/bin:$HOME/.krew/bin" kubectl plugin list
The following compatible plugins are available:
/home/lislo/.krew/bin/kubectl-krew