Minikube 失去对节点的跟踪

Minikube loses track of nodes

我目前正在处理这种情况。

每当我使用 Minikube 创建多节点集群时,当我停止并重新启动它时。它将失去对“中间”节点的跟踪,例如我创建了 4 个节点:m1m2m3m4;由于某种原因,Minikube 丢失了 m2m3.

的踪迹

场景:

假设我想创建一个带有 Vault 的 Kubernetes 集群,那么我创建了一个名为“vault-cluster”的配置文件,其中包含 4 个节点(1 个控制平面和 3 个工作节点):

$ minikube start --nodes 4 -p vault-cluster

然后当我阻止他们使用:

minikube stop -p vault-cluster

预期行为:

输出:

✋  Stopping node "vault-cluster"  ...
✋  Stopping node "vault-cluster-m02"  ...
✋  Stopping node "vault-cluster-m03"  ...
✋  Stopping node "vault-cluster-m04"  ...
  4 nodes stopped.

所以当我重新开始的时候:

输出:

$ minikube start -p vault-cluster
  [vault-cluster] minikube v1.20.0 on Microsoft Windows 10 Pro 10.0.19042 Build 19042
✨  Using the virtualbox driver based on existing profile
  minikube 1.21.0 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.21.0
  To disable this notice, run: 'minikube config set WantUpdateNotification false'

  Starting control plane node vault-cluster in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster" ...
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
  Configuring CNI (Container Networking Interface) ...
  Verifying Kubernetes components...
    ▪ Using image kubernetesui/dashboard:v2.1.0
    ▪ Using image kubernetesui/metrics-scraper:v1.0.4
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
  Starting node vault-cluster-m02 in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster-m02" ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120
    ▪ no_proxy=192.168.99.120
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
  Verifying Kubernetes components...
  Starting node vault-cluster-m03 in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster-m03" ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120,192.168.99.121
    ▪ no_proxy=192.168.99.120,192.168.99.121
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
    ▪ env NO_PROXY=192.168.99.120,192.168.99.121
  Verifying Kubernetes components...
  Starting node vault-cluster-m04 in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster-m04" ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120,192.168.99.121,192.168.99.122
    ▪ no_proxy=192.168.99.120,192.168.99.121,192.168.99.122
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
    ▪ env NO_PROXY=192.168.99.120,192.168.99.121
    ▪ env NO_PROXY=192.168.99.120,192.168.99.121,192.168.99.122
  Verifying Kubernetes components...
  Done! kubectl is now configured to use "vault-cluster" cluster and "default" namespace by default

实际行为:

$ minikube stop -p vault-cluster
✋  Stopping node "vault-cluster"  ...
✋  Stopping node "vault-cluster-m04"  ...
✋  Stopping node "vault-cluster-m04"  ...
✋  Stopping node "vault-cluster-m04"  ...

因此,当我尝试再次启动集群时会发生这种情况:

$ minikube start -p vault-cluster
  [vault-cluster] minikube v1.20.0 on Microsoft Windows 10 Pro 10.0.19042 Build 19042
✨  Using the virtualbox driver based on existing profile
  Starting control plane node vault-cluster in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster" ...
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
  Configuring CNI (Container Networking Interface) ...
  Verifying Kubernetes components...
    ▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
    ▪ Using image kubernetesui/metrics-scraper:v1.0.4
    ▪ Using image kubernetesui/dashboard:v2.1.0
  Enabled addons: default-storageclass, dashboard
  Starting node vault-cluster-m04 in cluster vault-cluster
  Restarting existing virtualbox VM for "vault-cluster-m04" ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120
    ▪ no_proxy=192.168.99.120
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
  Verifying Kubernetes components...
  Starting node vault-cluster-m04 in cluster vault-cluster
  Updating the running virtualbox "vault-cluster-m04" VM ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120,192.168.99.123
    ▪ no_proxy=192.168.99.120,192.168.99.123
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
    ▪ env NO_PROXY=192.168.99.120,192.168.99.123
  Verifying Kubernetes components...
  Starting node vault-cluster-m04 in cluster vault-cluster
  Updating the running virtualbox "vault-cluster-m04" VM ...
  Found network options:
    ▪ NO_PROXY=192.168.99.120,192.168.99.123
    ▪ no_proxy=192.168.99.120,192.168.99.123
  Preparing Kubernetes v1.20.2 on Docker 20.10.6 ...
    ▪ env NO_PROXY=192.168.99.120
    ▪ env NO_PROXY=192.168.99.120,192.168.99.123
  Verifying Kubernetes components...
  Done! kubectl is now configured to use "vault-cluster" cluster and "default" namespace by default

这是我最少节点时的输出:

$ minikube node list -p vault-cluster
vault-cluster   192.168.99.120
vault-cluster-m04       192.168.99.123
vault-cluster-m04       192.168.99.123
vault-cluster-m04       192.168.99.123

有什么问题吗?

环境:


$ minikube version
minikube version: v1.20.0
commit: c61663e942ec43b20e8e70839dcca52e44cd85ae

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.7", GitCommit:"1dd5338295409edcfff11505e7bb246f0d325d15", GitTreeState:"clean", BuildDate:"2021-01-13T13:23:52Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-13T13:20:00Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

minikube v1.20.0 似乎存在一些问题,它也发生在 linux kvm2 驱动程序(我的设置)上,所以它不是 OS 或驱动程序特定的。

它也发生在 minikube v1.21.0 上,尽管它直到第二次停止时才发生。在第一次停止和开始后一切似乎都正常,但在第二次停止后我看到了你所看到的。

如果您愿意,可以创建一个 issue on minikube githib repo 并希望开发人员修复它。