【发布时间】:2019-03-14 12:59:24
【问题描述】:
我正在尝试找出在使用 Kubernetes 在本地环境中或在开发代码时部署的 Docker 容器中使用 Java 的最终最佳实践。在理想状态下,Java 开发人员应该能够像 python/javascript 开发人员一样快速移动,但我很难匹配速度(甚至接近)。
目前,我有一个工作的、手动部署的 k8 集群。我的 Java Spring 项目是在手动运行构建命令(mvn clean install)之后由 maven 构建的,然后我运行一个脚本来制作图像,之后我运行一个脚本来运行 minkube(如果它尚未运行),最后我必须apply 一个部署清单文件(它将容器启动到 pod 中)。
我错过了什么:
- 所有这些都是手动完成的(在构建代码后自动构建映像并使用新映像更新 k8s 的过程有明显的空间)。
- 手动指定构建(python 在代码保存时重新启动。据我所知,在 java 世界中没有热重新加载)。
- 我还没有看到本地开发环境和云托管 k8 集群之间的集成。理想情况下,开发人员会在本地进行测试,直到他们准备好部署到云端。当它们准备就绪时,单击一个按钮并从远程注册表读取一个集群,该集群可以获取 docker 映像更改并重新加载,这将是非常棒的。
很遗憾,Skaffold,我很高兴使用的工具不适用于 Java。 Java 开发人员是否正在使用另一种工具来使他们的本地部署变得超级快速并与 DUCK 语言(py、js)竞争?
【问题讨论】:
-
IIRC Jib 已合并到 Skaffold,因此您可能需要重新访问。另外,我们在kubernetes.io/blog/2018/05/01/developing-on-kubernetes 上写了一些东西,也许有帮助……
标签: java docker kubernetes