Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Minikube是否在Ubuntu 19.10虚拟机上运行?_Ubuntu_Kubernetes_Minikube_Vmware Workstation - Fatal编程技术网

Minikube是否在Ubuntu 19.10虚拟机上运行?

Minikube是否在Ubuntu 19.10虚拟机上运行?,ubuntu,kubernetes,minikube,vmware-workstation,Ubuntu,Kubernetes,Minikube,Vmware Workstation,我在VMWare工作站上运行的Ubuntu 19.10上安装了kubectl和minikube,如图所示。当我以--vm driver=none启动minikube时(因为我是在虚拟机上运行的),会出现以下错误: minikube v1.6.2 on Ubuntu 19.10 Selecting 'none' driver from user configuration (alternates: []) Tip: Use 'minikube start -p <name>'

我在VMWare工作站上运行的Ubuntu 19.10上安装了kubectl和minikube,如图所示。当我以--vm driver=none启动minikube时(因为我是在虚拟机上运行的),会出现以下错误:

minikube v1.6.2 on Ubuntu 19.10
  Selecting 'none' driver from user configuration (alternates: [])
  Tip: Use 'minikube start -p <name>' to create a new cluster, or 'minikube delete' to delete this one.
  Using the running none "minikube" VM ...
  Waiting for the host to be provisioned ...
  Preparing Kubernetes v1.17.0 on Docker '19.03.2' ...
     kubelet.resolv-conf=/run/systemd/resolve/resolv.conf
  Launching Kubernetes ...

Error starting cluster: running cmd: /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.17.0:$PATH kubeadm init phase certs all --config /var/tmp/minikube/kubeadm.yaml": /bin/bash -c "sudo env PATH=/var/lib/minikube/binaries/v1.17.0:$PATH kubeadm init phase certs all --config /var/tmp/minikube/kubeadm.yaml": exit status 1
stdout:
[certs] Using certificateDir folder "/var/lib/minikube/certs"
[certs] Using existing ca certificate authority
[certs] Using existing apiserver certificate and key on disk

stderr:
W0110 13:53:06.531592    6051 common.go:77] your configuration file uses a deprecated API spec: "kubeadm.k8s.io/v1beta1". Please use 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.
W0110 13:53:06.532094    6051 common.go:77] your configuration file uses a deprecated API spec: "kubeadm.k8s.io/v1beta1". Please use 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.
W0110 13:53:06.533419    6051 validation.go:28] Cannot validate kube-proxy config - no validator is available
W0110 13:53:06.533440    6051 validation.go:28] Cannot validate kubelet config - no validator is available
error execution phase certs/apiserver-kubelet-client: [certs] certificate apiserver-kubelet-client not signed by CA certificate ca: crypto/rsa: verification error
To see the stack trace of this error execute with --v=5 or higher


In this thread VKR provided a detail explaination of how to make it work. I am posting his answer as a community wiki:


Okay, so I reproduced and got the same errors with minikube after upgrading it to 19.10.

How I initiated cluster on 19.04:

#Install kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl && chmod +x ./kubectl && sudo mv ./kubectl /usr/local/bin/kubectl

#Install minikube. Make sure to check for latest version
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/

#Install Docker
curl -fsSL get.docker.com -o get-docker.sh && chmod +x get-docker.sh
sh get-docker.sh
sudo usermod -aG docker $USER


export MINIKUBE_WANTUPDATENOTIFICATION=false
export MINIKUBE_WANTREPORTERRORPROMPT=false
export MINIKUBE_HOME=$HOME
export CHANGE_MINIKUBE_NONE_USER=true
export KUBECONFIG=$HOME/.kube/config
sudo minikube start --vm-driver none
sudo chown -R $USER $HOME/.kube $HOME/.minikube


vkr@ubuntu-minikube:~$ docker version
Client: Docker Engine - Community
 Version:           19.03.3
 API version:       1.40
 Go version:        go1.12.10
 Git commit:        a872fc2f86
 Built:             Tue Oct  8 01:00:44 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.3
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.10
  Git commit:       a872fc2f86
  Built:            Tue Oct  8 00:59:17 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683


vkr@ubuntu-minikube:~$ kubectl get pods -A
NAMESPACE     NAME                               READY   STATUS    RESTARTS   AGE
kube-system   coredns-5644d7b6d9-cv8c5           1/1     Running   0          2m25s
kube-system   coredns-5644d7b6d9-gk725           1/1     Running   0          2m25s
kube-system   etcd-minikube                      1/1     Running   0          75s
kube-system   kube-addon-manager-minikube        1/1     Running   0          75s
kube-system   kube-apiserver-minikube            1/1     Running   0          98s
kube-system   kube-controller-manager-minikube   1/1     Running   0          88s
kube-system   kube-proxy-59jp9                   1/1     Running   0          2m25s
kube-system   kube-scheduler-minikube            1/1     Running   0          82s
kube-system   storage-provisioner                1/1     Running   0          2m24s
Ubuntu 19.10上的minikube v1.6.2 从用户配置中选择“无”驱动程序(备选方案:[]) 提示:使用'minikube start-p'创建新群集,或使用'minikube delete'删除此群集。 使用正在运行的none“minikube”虚拟机。。。 正在等待设置主机。。。 正在Docker'19.03.2'上准备Kubernetes v1.17.0。。。 kubelet.resolv conf=/run/systemd/resolve/resolv.conf 发射Kubernetes。。。 启动群集时出错:运行cmd:/bin/bash-c“sudo env PATH=/var/lib/minikube/binaries/v1.17.0:$PATH kubeadm init phase certs all--config/var/tmp/minikube/kubeadm.yaml:/bin/bash-c“sudo env PATH=/var/lib/minikube/binaries/v1.17.0:$PATH kubeadm init phase certs all--config/var/tmp/minikube/kubeadm.yaml”:退出状态1 标准: [证书]使用certificateDir文件夹“/var/lib/minikube/certs” [证书]使用现有ca证书颁发机构 [证书]使用磁盘上现有的apiserver证书和密钥 标准: W0110 13:53:06.531592 6051 common.go:77]您的配置文件使用了不推荐使用的API规范:“kubeadm.k8s.io/v1beta1”。请使用'kubeadm config migrate--old-config-old.yaml--new-config-new.yaml',它将使用更新的API版本编写新的类似规范。 W0110 13:53:06.532094 6051 common.go:77]您的配置文件使用了不推荐使用的API规范:“kubeadm.k8s.io/v1beta1”。请使用'kubeadm config migrate--old-config-old.yaml--new-config-new.yaml',它将使用更新的API版本编写新的类似规范。 W0110 13:53:06.533419 6051验证。go:28]无法验证kube代理配置-没有可用的验证程序 W0110 13:53:06.533440 6051验证。go:28]无法验证kubelet配置-没有可用的验证程序 错误执行阶段certs/apiserver kubelet客户端:[certs]证书apiserver kubelet客户端未经CA签名证书CA:crypto/rsa:验证错误 要查看此错误的堆栈跟踪,请使用--v=5或更高值执行 在VKR中,提供了如何使其工作的详细说明。我在社区维基上发布了他的答案:


好的,所以我复制了minikube,在升级到19.10之后,它也出现了同样的错误

我是如何在19.04启动群集的:

vkr@ubuntu-minikube:~$ kubectl get all -A
Error in configuration: 
* unable to read client-cert /root/.minikube/client.crt for minikube due to open /root/.minikube/client.crt: permission denied
* unable to read client-key /root/.minikube/client.key for minikube due to open /root/.minikube/client.key: permission denied
* unable to read certificate-authority /root/.minikube/ca.crt for minikube due to open /root/.minikube/ca.crt: permission denied
升级到19.10并清洁minikube后,请安装:

有很多讨论表明您应该使用
root
作为
none驱动程序
,因为minikube直接在您的机器上运行kubernetes系统组件

:

用法none驱动程序要求minikube作为root运行,直到 可以是 称呼

然而。。给你一个小把戏

1) 擦干净一切

vkr@ubuntu-minikube:~$minikube站
✋  在无中停止“minikube”。。。
是的,它应该有用

以下说明适用于Debian/Ubuntu/Mint Linux发行版。如果您使用RHEL/Arch/其他发行版或类似Ubuntu服务器的非桌面发行版,或者轻量级发行版(可能会忽略许多预期工具),您的体验可能会有所不同

安装VirtualBox:

找到您的Linux发行版并下载
.deb
包,在这里使用图形安装程序就足够了。如果您使用像
apt
这样的软件包管理器从终端安装,您可能会得到一个相当过时的版本

安装后,请检查您的安装以确保其正常工作:

VBoxManage-版本

作为替代,您可以使用(或者可能必须使用)KVM而不是VirtualBox。在这篇文章中可以找到一些很好的说明:

安装Kubectl

在终端中运行以下命令:

curl-LOhttps://storage.googleapis.com/kubernetes-release/release/$(curl-s)https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl

chmod+x./kubectl

sudo mv./kubectl/usr/local/bin/kubectl

检查您的安装:

kubectl版本

另见官方文件:

安装Minikube

在终端中运行以下命令:

curl-Lo minikubehttps://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 &&chmod+x minikube

sudo安装minikube/usr/local/bin

检查您的安装:

minikube版本

启动Minikube:

minikube启动

另见官方文件:


我建议您直接在主机上运行minikube,因此在VM中运行kubernetes。这是经过测试的,应该可以正常工作。或者,考虑到它是ubuntu,或者,或者,或者几乎任何你碰巧看到的东西?