如何将修改的文件自动同步到正在运行的 Kubernetes pod?

如何将修改的文件自动同步到正在运行的 Kubernetes pod?

假设我有一个/src目录,我将它复制到 Dockerfile 中的一个 pod 上。我可以在本地修改源文件,但我需要运行kubectl cp才能将每个文件放在 pod 上。有什么方法可以将我的本地存储临时链接到正在运行的 pod 吗?

它可以像运行文件系统观察器一样简单kubectl cp,如果没有现有工具,我可能会实现它,但我真的怀疑没有。

我碰到https://github.com/ksync/ksync但这是一个高级解决方案,需要我在我的集​​群上安装一些东西,而我不能/不会这样做。

答案1

最好的方法是使用 Azure DevOps 之类的东西来监控你的 GitHub,使用新源代码自动构建新镜像,并处理将新镜像部署到 k8s 中。这听起来像是很多新设置,但其实并没有那么糟糕。以下是对此的描述:https://cloudblogs.microsoft.com/opensource/2018/11/27/tutorial-azure-devops-setup-cicd-pipeline-kubernetes-docker-helm/

如果你只想将源代码树同步到现有的 pod,可以考虑使用 Shipit (https://github.com/shipitjs/shipit)。您需要为您的 Pod 配置一个 SSH 入口,以便将其作为解决方案,但这是一种非常巧妙的管理方式。不仅可以推送代码,还可以管理简单的回滚。

相关内容