0

我有一个包含多个 pod 的应用程序。基础 pod 大约需要 2 分钟才能完全启动,但我基本上不需要更改它。我正在开发其他 pod,如果基础 pod 已经在运行,它们会在几秒钟内启动。当我更改快速启动 pod 中的代码并对其进行调试时,我正在尝试优化我的开发生命周期。

“在 Kubernetes 上运行”会很棒,因为它只观察了变化并重新部署了快速启动的 pod。但是,我无法调试它。

“在 Kubernetes 上调试”是我想使用的,但它不会观察更改并自动重新部署,停止和启动整个应用程序(所有 pod)很痛苦,因为它需要 2-3 分钟(由于启动缓慢但从不更换豆荚)。

我正在考虑“在 Kubernetes 上运行”,然后使用 Attach 来调试单个 pod,但它需要预先配置 pod/容器以在 Dockerfile 中进行调试。我假设如果我这样做,我可以分离调试器并让它重新部署监视更改并再次重新连接。

我正在使用多个 skaffold yaml 文件 - 一个仅包含基础(慢启动 pod),另一个仅用于快速启动 pod,我需要在其中进行更改,但随后我必须禁用清理,因此它是手动停止 pod。此外,当我停止/启动“在 Kubernetes 上调试”时,它似乎一直在停止/启动 minikube。

我希望我可以使用“在 Kubernetes 上调试”来监视更改和重新部署。但是调试运行不支持监视。

我错过了什么吗?有什么好主意吗?

4

1 回答 1

0

@Alex - 感谢您提出问题。后续会进一步讨论。很高兴听到您喜欢使用 Cloud Shell,我们在那里提供与 VSCode 相同的体验。关于 minikube stop,它是本地调试的预期行为,但我们可以在票证上讨论更多信息。抱歉,它现在不允许我内联评论。

于 2021-03-15T17:23:12.517 回答