当我 运行 sudo minikube start --vm-driver=none 它给我错误
When I run sudo minikube start --vm-driver=none it gives me error
当我 运行 sudo minikube start --vm-driver=none
它给了我这个错误,我正在使用 Ubuntu 16.0.4.
Error starting cluster: cmd failed: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
: running command: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
output: [init] Using Kubernetes version: v1.16.2
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING Swap]: running with swap on is not supported. Please disable swap
[WARNING FileExisting-ebtables]: ebtables not found in system path
[WARNING FileExisting-socat]: socat not found in system path
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.4. Latest validated version: 18.09
[WARNING Hostname]: hostname "minikube" could not be reached
[WARNING Hostname]: hostname "minikube": lookup minikube on 127.0.1.1:53: no such host
[WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
[WARNING Port-10250]: Port 10250 is in use
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR Port-10251]: Port 10251 is in use
[ERROR Port-10252]: Port 10252 is in use
[ERROR Port-2380]: Port 2380 is in use
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
: running command: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
.: exit status 1
none
驱动程序做了很多假设,这些假设通常由所有其他驱动程序使用的 VM 设置过程处理。在这种情况下,您可以看到它期望使用的一些端口已经在使用中,因此它不会继续。您需要删除正在使用这些端口的任何内容。 none
驱动程序通常用于非常小众的情况,几乎总是在短暂的 CI 环境中,尽管也可以将 KinD 作为一种可能更好地解决该用例的新工具。如果您只想 运行 Linux 上的本地开发环境而不需要中间 VM,可以试试 k3s 或 microk8s。
在 documentation 中有一条关于需要释放这些端口的注释。您需要弄清楚是什么在使用它们来消除这些错误:
[WARNING Port-10250]: Port 10250 is in use
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR Port-10251]: Port 10251 is in use
[ERROR Port-10252]: Port 10252 is in use
[ERROR Port-2380]: Port 2380 is in use
这会阻止您的系统加载,documentation 中对此进行了描述。要进行调查,您可以使用以下命令:
$ sudo lsof -i :10251
如果您没有安装此命令,您可以使用以下命令安装它:
$ sudo apt-get install lsof
运行 带有 --vm-driver=none
的 minikube 是可能的,但不推荐。通过使用 none 驱动程序,您会降低可靠性、安全性、数据丢失风险等。有关详细信息,请参阅 documentation。
已打开一个问题来解决这些安全问题。
Full list of open ‘none’ driver issues
在 Linux 上执行此操作的最佳方法是使用 kvm。为此,您可以按照以下说明进行操作(假设您有 Docker CE installed):
$ sudo apt-get install -y qemu-kvm libvirt-clients libvirt-daemon-system
$ sudo adduser $USER libvirt
和运行带有kvm2驱动程序的minikube:
$ minikube start --vm-driver kvm2 --kubernetes-version v1.15.0
当我 运行 sudo minikube start --vm-driver=none
它给了我这个错误,我正在使用 Ubuntu 16.0.4.
Error starting cluster: cmd failed: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
: running command: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
output: [init] Using Kubernetes version: v1.16.2
[preflight] Running pre-flight checks
[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
[WARNING Swap]: running with swap on is not supported. Please disable swap
[WARNING FileExisting-ebtables]: ebtables not found in system path
[WARNING FileExisting-socat]: socat not found in system path
[WARNING SystemVerification]: this Docker version is not on the list of validated versions: 19.03.4. Latest validated version: 18.09
[WARNING Hostname]: hostname "minikube" could not be reached
[WARNING Hostname]: hostname "minikube": lookup minikube on 127.0.1.1:53: no such host
[WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
[WARNING Port-10250]: Port 10250 is in use
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR Port-10251]: Port 10251 is in use
[ERROR Port-10252]: Port 10252 is in use
[ERROR Port-2380]: Port 2380 is in use
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
: running command: sudo env PATH=/var/lib/minikube/binaries/v1.16.2:$PATH kubeadm init --config /var/tmp/minikube/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests,DirAvailable--var-lib-minikube,FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml,FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml,FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml,FileAvailable--etc-kubernetes-manifests-etcd.yaml,Port-10250,Swap
.: exit status 1
none
驱动程序做了很多假设,这些假设通常由所有其他驱动程序使用的 VM 设置过程处理。在这种情况下,您可以看到它期望使用的一些端口已经在使用中,因此它不会继续。您需要删除正在使用这些端口的任何内容。 none
驱动程序通常用于非常小众的情况,几乎总是在短暂的 CI 环境中,尽管也可以将 KinD 作为一种可能更好地解决该用例的新工具。如果您只想 运行 Linux 上的本地开发环境而不需要中间 VM,可以试试 k3s 或 microk8s。
在 documentation 中有一条关于需要释放这些端口的注释。您需要弄清楚是什么在使用它们来消除这些错误:
[WARNING Port-10250]: Port 10250 is in use
error execution phase preflight: [preflight] Some fatal errors occurred:
[ERROR Port-10251]: Port 10251 is in use
[ERROR Port-10252]: Port 10252 is in use
[ERROR Port-2380]: Port 2380 is in use
这会阻止您的系统加载,documentation 中对此进行了描述。要进行调查,您可以使用以下命令:
$ sudo lsof -i :10251
如果您没有安装此命令,您可以使用以下命令安装它:
$ sudo apt-get install lsof
运行 带有 --vm-driver=none
的 minikube 是可能的,但不推荐。通过使用 none 驱动程序,您会降低可靠性、安全性、数据丢失风险等。有关详细信息,请参阅 documentation。
已打开一个问题来解决这些安全问题。
Full list of open ‘none’ driver issues
在 Linux 上执行此操作的最佳方法是使用 kvm。为此,您可以按照以下说明进行操作(假设您有 Docker CE installed):
$ sudo apt-get install -y qemu-kvm libvirt-clients libvirt-daemon-system
$ sudo adduser $USER libvirt
和运行带有kvm2驱动程序的minikube:
$ minikube start --vm-driver kvm2 --kubernetes-version v1.15.0