首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在windows-7中使用virtualbox的kubernetes minikube启动问题

在windows-7中使用virtualbox的kubernetes minikube启动问题
EN

Stack Overflow用户
提问于 2018-06-26 09:04:23
回答 4查看 6.8K关注 0票数 0

环境:我有一台Windows-7机器。我已经安装了Docker Toolbox (安装Oracle Virtual Box版本: 5.2.8r121009)

代码语言:javascript
复制
C:\Users>VBoxManage -version
5.2.8r121009

当我启动virtual box并使用以下命令检查linux版本时: cat /proc/version

代码语言:javascript
复制
Linux version 4.9.93-boot2docker (root@eb591e1ad697) (gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) ) #1 SMP Thu May 10 16:27:54 UTC 2018

Minikube版本(使用minikube版本):v0.28.0

OS (例如,来自/etc/os-release):

代码语言:javascript
复制
NAME=Boot2Docker
VERSION=18.05.0-ce
ID=boot2docker
ID_LIKE=tcl
VERSION_ID=18.05.0-ce
PRETTY_NAME="Boot2Docker 18.05.0-ce (TCL 8.2.1); HEAD : b5d6989 - Thu May 10 16:35:28 UTC 2018"
ANSI_COLOR="1;34"
HOME_URL="http://boot2docker.io"
SUPPORT_URL="https://github.com/boot2docker/boot2docker"
BUG_REPORT_URL="https://github.com/boot2docker/boot2docker/issues"

VM驱动程序(例如cat ~/.minikube/machines/minikube/config.json | grep DriverName):没有这样的文件或目录

ISO版本(例如cat ~/.minikube/machines/ minikube /config.json | grep -i ISO或minikube ssh cat /etc/ version ):没有这样的文件或目录

发生了什么:

我使用curl安装了kubectl:

代码语言:javascript
复制
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

然后,根据https://kubernetes.io/docs/tasks/tools/install-kubectl/上的指令,我将kubectl设为可执行文件,并移动到PATH。

然后,我转到https://github.com/kubernetes/minikube/并转到linux的安装部分来安装minikube。已安装minikube版本: v0.28.0

请参阅以下详细信息:

代码语言:javascript
复制
docker@default:/home/kubernetes$ curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube
 /usr/local/bin/
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 40.8M  100 40.8M    0     0  2039k      0  0:00:20  0:00:20 --:--:-- 2373k
docker@default:/home/kubernetes$ minikube version
minikube version: v0.28.0
docker@default:/home/kubernetes$ minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Downloading Minikube ISO
 153.08 MB / 153.08 MB [============================================] 100.00% 0s
E0625 21:25:20.969504    6371 start.go:168] Error starting host: Error creating host: Error executing step: Running precreate checks.
: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path.

 Retrying.
E0625 21:25:20.975760    6371 start.go:174] Error starting host:  Error creating host: Error executing step: Running precreate checks.
: VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path
================================================================================
An error has occurred. Would you like to opt in to sending anonymized crash
information to minikube to help prevent future errors?
To opt out of these messages, run the command:
        minikube config set WantReportErrorPrompt false
================================================================================
Please enter your response [Y/n]:

预期结果: minikube应该正确启动,没有任何错误。

重现它的步骤:

代码语言:javascript
复制
1. Get windows docker toolbox and install on windows 7
2. start docker quickstart terminal
3. ssh docker@192.168.99.100
4. install-kubectl
5. install minikube
6. command: start minikube

========================================================

更新-1

正如@mk_sta评论中所建议的:

我重新安装了VirtualBox的最新版本,然后运行docker-machine命令,我得到了同样的错误。

代码语言:javascript
复制
docker@default:~$ docker-machine version 
docker-machine version 0.14.0, build 89b8332 
docker@default:~$ docker-machine create --driver virtualbox default 
Creating CA: /home/docker/.docker/machine/certs/ca.pem 
Creating client certificate: /home/docker/.docker/machine/certs/cert.pem 
Running pre-create checks... Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"

我还通过curl for linux安装了kubectl二进制文件。当我试图检查它的版本时,我得到了下面的错误

代码语言:javascript
复制
docker@default:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-2
7T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
EN

回答 4

Stack Overflow用户

发布于 2018-08-17 01:24:14

在macos high sierra上遇到了类似的问题,停止了当前正在运行的docker进程,因为virtualbox没有正确安装而出现问题。

代码语言:javascript
复制
ps -ef|grep docker
sudo kill -9 <pid in above command output>

现在我遵循了下面的url:https://github.com/Homebrew/homebrew-cask/issues/39369

代码语言:javascript
复制
#!/bin/bash

unload() {
    if [ `ps -ef | grep -c VirtualBox$` -ne 0 ]
    then
            echo "VirtualBox still seems to be running. Please investigate!!"
            exit 1;
    elif [ `ps -ef | grep -c [V]ir` -gt 0 ]
    then
            echo "Stopping running processes before unloading Kernel Extensions"
            ps -ef | grep [V]ir | awk '{print $2}' | xargs kill
    fi
    echo "Unloading Kernel Extensions"
    kextstat | grep "org.virtualbox.kext.VBoxUSB" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxUSB
    kextstat | grep "org.virtualbox.kext.VBoxNetFlt" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetFlt
    kextstat | grep "org.virtualbox.kext.VBoxNetAdp" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxNetAdp
    kextstat | grep "org.virtualbox.kext.VBoxDrv" > /dev/null 2>&1 && sudo kextunload -b org.virtualbox.kext.VBoxDrv
}

load() {
    echo "Loading Kernel Extentions"
    sudo kextload "/Library/Application Support/VirtualBox/VBoxDrv.kext" -r "/Library/Application Support/VirtualBox/"
    sudo kextload "/Library/Application Support/VirtualBox/VBoxNetAdp.kext" -r "/Library/Application Support/VirtualBox/"
    sudo kextload "/Library/Application Support/VirtualBox/VBoxNetFlt.kext" -r "/Library/Application Support/VirtualBox/"
    sudo kextload "/Library/Application Support/VirtualBox/VBoxUSB.kext" -r "/Library/Application Support/VirtualBox/"
}

case "$1" in
    unload|remove)
            unload
            ;;
    load)
            load
            ;;
    *|reload)
            unload
            load
            ;;
esac

将此脚本复制粘贴到脚本中-run,赋予它755权限。在尝试安装virtualbox之后运行此脚本。继续批准kext,直到脚本干净地运行:

单击allow,现在尝试运行以下命令,这应该会成功安装virtualbox:

代码语言:javascript
复制
brew cask reinstall --force virtualbox;
sudo minikube start;

如果您仍然收到错误:

代码语言:javascript
复制
sudo minikube delete;
sudo minikube start;
sudo minikube dashboard;
票数 1
EN

Stack Overflow用户

发布于 2018-06-26 17:27:33

根据minikube安装提供的日志:

代码语言:javascript
复制
E0625 21:25:20.969504 6371 start.go:168] Error starting host: Error creating host: Error executing step: Running precreate checks. : VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path.

在这种情况下,我建议您在Windows7计算机上将VirtualBox重新安装到最新版本,并按照此post中给出的解决方案执行下一个命令:

docker-machine create --driver virtualbox default

也请不要忘记删除旧的minikube文件夹[User folder]/.minikube,然后再开始重新安装。

票数 0
EN

Stack Overflow用户

发布于 2018-06-27 18:08:24

我建议遵循通过此link安装minikube的标准过程。我的假设是,您已经尝试将minikube完全安装在运行在本地VirtualBox虚拟机管理程序上的boot2docker Linux shell中;但是,很难在虚拟机中安装用于minikube设置的VirtualBox驱动程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51033585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档