学习 kubernetes,我正在尝试在 docker 上运行的高山容器中旋转一个 minikube 集群。不管这是否可能,我不明白为什么内核无法看到"minikube"作为可执行文件存在于/usr/local/bin 中。我能够执行"kubectl",尽管它存在于相同的路径上。
我已经尝试从root和/usr/local/bin路径执行"minikube","./minikube"。我也查过一个类似的问题,但解决方案没有帮助。
下面是我在屏幕上看到的内容。"kubectl"和"minikube"都是绿色的。
/usr/local/bin # ls -l
total 96540
-rwxr-xr-x 1 root root 42985504 Aug 18 11:31 kubectl
-rwxr-xr-x 1 root root 55869264 Aug 18 11:36 minikube
/usr/local/bin # minikube
/bin/sh: minikube: not found
/usr/local/bin # ./minikube
/bin/sh: ./minikube: not found
/usr/local/bin # minikube --help
/bin/sh: minikube: not found
/usr/local/bin #
我希望"minikube"执行并抛出帮助或错误消息。但是,我看到的是内核的错误,无法找到具有该名称的任何可执行文件。
使 Alpine 基础映像变小的一件事是它使用核心系统库的简化版本,该版本可能与某些二进制文件不兼容,显然包括minikube
二进制文件。 这些中的任何一个都对我有用:
# The hard way
/lib/ld-musl-x86_64.so.1 ./minikube-linux-amd64
# The slightly easier way
apk add libc6-compat
./minikube-linux-amd64
话虽如此,它仍然不起作用,因为 Minikube 在虚拟机中启动单节点 Kubernetes 集群,并且您无法从 Docker 容器内启动 VM。 您需要直接在主机上运行此命令。