docker - 使用 Kubernetes 进行本地开发的最佳实践是什么?

标签 docker kubernetes google-cloud-platform

我正在使用 docker 容器并为本地开发和生产环境提供 docker-compose 文件。我想为我的新应用试用 Google Cloud Platform,特别是 Google Kubernetes Engine。我的工具是 Docker for Mac,在本地机器上安装了 Kubernetes。

对于开发人员来说,能够更改代码并实时查看本地开发更改非常重要。

用例:

  1. 后端开发人员对基本 Flask API(或您使用的任何内容)进行更改,并且应该立即在重新加载的应用程序上看到更改。

  2. 前端开发人员更改 HTML 布局,应该会立即在网页上看到更改。

目前我正在使用 docker-compose 文件将源代码挂载到本地容器。但是Kubernetes不支持相对路径挂载源码。

理想情况下我应该能够设置变量

Deployment.spec.templates.spec.containers.volumes.hostPath

作为我的仓库的相对路径。例如,在我们的团队中,开发人员将 repo 克隆到此文件夹:

/User/BACKEND_developer/code/project_repo

/User/FRONTEND_developer/code/project_repo

显然,您无法在对源代码进行每次微小更改后提交并构建镜像。

那么使用 Kubernetes 进行本地开发的最佳实践是什么?我是否需要一些额外的工具来为每个开发人员修改 .yaml 文件?

最佳答案

@tgogos 是对的。 实现目标的最佳方法是使用 Skaffold

只要看到源代码发生变化,它就会重建容器。

Skaffold 具有可插拔架构,允许您在开发人员工作流程中选择最适合您的工具: Pluggability

关于docker - 使用 Kubernetes 进行本地开发的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50294165/

相关文章:

python -/var/run/docker.sock : permission denied while running docker within Python CGI script

kubernetes - kube-apiserver是启动集群插件还是kubelet?

tensorflow - colab 中的 TPU 训练,自定义模型,数据来 self 自己的 GCP 帐户 : Cell just seems to hang, 没有进展或错误消息

go - GCP 负载均衡器后面的服务器偶尔会收到 502 服务器错误, “failed_to_connect_to_backend”

node.js - Google 云平台 - 调度程序?

node.js - 在 docker build 中安装 npm

docker - 这对 docker 来说正常吗?

docker - oauth2client.client.AccessTokenRefreshError : invalid_grant Only in Docker

kubernetes 服务负载均衡器自动更改协议(protocol)

Kubernetes ConfigMap YAML 到 Terraform Kubernetes