我正在尝试在 Mac 中安装 Kubernetes。我按照这些说明进行操作 - https://kubernetes.io/docs/tasks/tools/install-kubectl/(适用于 MacO)
遵循该链接中提到的所有 5 个步骤
1. curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"
2.curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl.sha256"
echo "$(<kubectl.sha256) kubectl" | shasum -a 256 --check
output: kubectl: OK
3. chmod +x ./kubectl
4. sudo mv ./kubectl /usr/local/bin/kubectl && \
sudo chown root: /usr/local/bin/kubectl
5. kubectl version --client
显然,当我执行这个 kubectl 版本 --client 时
zsh: bad CPU type in executable: kubectl
我尝试将 shell 从 zsh 切换到 sh、bash 但没有任何帮助
您正在尝试下载适用于
kubectl
架构的 darmin/amd64
版本。 “Darwin”实际上指的是 MacOS,而 amd64
指的是 Intel 和 AMD 64 位处理器。
您拥有一台 M1 Mac,众所周知,它是 围绕 ARM 处理器 构建的,与其他 Apple 机器不同。
您需要找到为
kubectl
构建的 darwin/arm64
。正如 @DavidMaze 所建议的,您可以通过 Homebrew安装
kubernetes-cli
包来获得它。
我也遇到了同样的问题。通过以下步骤解决:
现在检查命令:
客户端版本:version.Info{Major:"1", Minor:"21", Git版本:“v1.21.2”, GitCommit:“092fbfbf53427de67cac1e9fa54aaa09a28371d7”, GitTreeState:“干净”,构建日期:“2021-06-16T12:52:14Z”, Go版本:“go1.16.5”,编译器:“gc”,平台:“darwin/amd64”}
问题可能有两个原因: 1- 您拥有一台带有 Apple Silicon 处理器的 Mac 书,您启动的应用程序不支持该处理器 (https://support.apple.com/en-gb/HT211814) 2- 在 64 位操作系统中启动 i386 可执行文件
解决方案:
1-您应该安装进行此集成的 Rosetta
2-您应该检查该应用程序是否真的是为 i386 系统开发的。如果是的话安装64位版本
对我来说,问题是 32 位/64 位不匹配。要查看您正在启动的应用程序是否有 i386,您可以运行:
find `echo $PATH | tr ":" "\n"` -perm +1111 -exec file {} \; | grep i386
安装 64 位版本解决了我的问题。
按照此处的“Apple Silicon”步骤对我来说效果很好:https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/