【发布时间】:2021-08-13 21:12:15
【问题描述】:
暂停和恢复我的虚拟机确实会破坏 k8s 部署
当我使用 minikube stop 暂停,然后使用 minikube start 恢复虚拟机时,Minikube 会从头开始重新部署我的应用程序。
我在高于 v1.18 的新版 Minikube 中看到了这种行为(我在 v1.19 上运行)。
设置:
-
Kubernetes 部署通过
hostPath使用我的主机中的源代码安装一个卷。\ - 我还有一个
initContainers的容器来设置应用程序。
由于发生了新的“恢复时重新部署行为”,init-container 中断了我的部署,如果我的代码中有工作中的代码主机..
问题:
现在,如果我有临时/非完美运行的代码,我不能再在工作日之间暂停未完成工作的机器;因为每次我恢复它时Minikube 都会尝试再次部署,但代码损坏并以Init:CrashLoopBackOff 失败。
解决方法:
现在,每次我需要恢复机器时
- 存储/提交我的 WIP 代码
- 使用有效部署检查最后一次提交
- 运行部署并等待它完成初始化(分钟...)
- checkout/stash-pop 保存在 1) 处的代码。
我可以活下来,但工作流程很糟糕。
如何恢复旧行为?
- 如何让我的部署在暂停 VM 时按预期保持不变,而不是每次恢复时都重新部署?
【问题讨论】:
-
您能描述一下您使用的操作系统吗? minikube 到底是如何设置的?它使用哪个驱动程序?自从您能够
minikube stop and start之后,您的环境发生了哪些变化,并且它对您没有任何问题? -
详细信息在标签(MacOS 和 VirtualBox 驱动程序)和问题中。 Minikube 设置是默认设置(加上 ingress-addon)。在我的环境中,我只从 1.18 升级到 1.19。
-
我想确保 minikube 使用 VritualBox 而不是
docker或HyperKit。你用minikube start --driver=virtualbox开始minikube 吗?另请检查两个或一个配置文件中实际使用的驱动程序:~/.minikube/profiles/minikube/config.json和/或~/.minikube/machines/minikube/config.json -
Virtualbox 无处不在。
标签: macos kubernetes deployment virtualbox minikube