将Docker-Compose与Kubernetes,Minikube和Skaffold一起包含在团队的开发环境中是一个坏主意吗?



理想情况下,我们只想坚持Minikube和Scaffold。

但是,在许多情况下,我们希望启用卷的双向同步,以便将特定容器目录中的更改反映在主机的目录中。

我们目前使用kubectl将目录和文件从pod手动复制到本地目录。但我们希望将这一步骤自动化。

Docker Compose通过为服务定义一个rw卷来非常容易地进行设置:

services:
myService:
image: some/image
volumes:
- /some-host/path:/some-container/path:rw

因此,每当我们需要将更改反映到本地环境中时,我们都会停止skaffold,启动docker compose,并在容器上进行必要的更改,以便它们在本地自动反映。

问题是,如果我们想更改系统中的一个服务,我们现在必须将这些更改反映在我们的k8s部署以及我们的docker组成文件中。这些将包括反映对机密、配置映射等的更改……我们可能会得到一个非常复杂的项目。

这是个坏主意吗?有更好的方法吗?

您可以查看Tilt或Telepresence。我们目前正在努力将我们的本地开发环境从docker compose更改为基于microk8s的方法,并正在研究这两种方法,因为我们也面临着共享卷的问题,而这些卷在microk8s中不受开箱即用的支持。

这只是一个想法,我们必须看看什么解决方案最适合我们:(

相关内容

最新更新