安装krew失败:无法列出索引默认值的远程URL

问题描述 投票:0回答:1

当我尝试在 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

如果很重要,我的配置是

  • Windows 11
  • WSL2 与 Kali Linux
  • 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但对我没有任何帮助。

windows git windows-subsystem-for-linux kubectl
1个回答
0
投票

问题与 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
© www.soinside.com 2019 - 2024. All rights reserved.