Kubernetes上的过程激活剂
我们有一个微服务/ish体系结构,我们目前在一个VM上。我们的每个应用程序都部署为DLL,没有可执行文件。为了运行它们,我们生成了激活器的一个新实例,将应用程序的路径作为参数传递。process activator通过DI在应用程序上注入行为,例如代理和服务发现逻辑 这样做的好处是,应用程序和process activator可以彼此独立地开发、管理和部署。如果我们有激活器的更新,我们只需要部署它并重新启动所有应用程序,我们的更改就可以生效;无需重新部署应用程序,更不用说重新构建它了 然而,当我们正在制定一项计划,将我们的体系结构迁移到Kubernetes时,我们遇到了一个障碍,因为这种设计。我们还没有找到一种方法来复制这个。我们考虑将两者部署在一起,并将activator设置为入口点;然而,这意味着无论何时更新activator,所有应用程序的映像都必须更新,这完全违背了此设计的目的 我们还考虑将它们部署为两个不同的容器,并以某种方式使activator读取应用程序容器的内容,然后加载其DLL,但我们不知道一个容器是否可以读取另一个容器的内容Kubernetes上的过程激活剂,kubernetes,Kubernetes,我们有一个微服务/ish体系结构,我们目前在一个VM上。我们的每个应用程序都部署为DLL,没有可执行文件。为了运行它们,我们生成了激活器的一个新实例,将应用程序的路径作为参数传递。process activator通过DI在应用程序上注入行为,例如代理和服务发现逻辑 这样做的好处是,应用程序和process activator可以彼此独立地开发、管理和部署。如果我们有激活器的更新,我们只需要部署它并重新启动所有应用程序,我们的更改就可以生效;无需重新部署应用程序,更不用说重新构建它了 然而,当我
最后,有没有办法让这个设计在Kubernetes中发挥作用?如果设计需要以下内容:
- 将文件注入主容器以更改其行为
emptyDir
)上,以使其可用于主容器。然后activator容器启动并在路径中找到DLL,并可以对它们执行任何操作
这样:
- 如果需要更新激活器,则需要更新主容器映像(凹凸其标记),然后更新所有部署/状态集的定义以使用新映像
- 如果需要更新其中一个应用程序,则需要更新其单个init容器映像(凹凸其标记),然后更新该特定应用程序的部署/状态集的定义
一些文件: 初始化容器: 在Init容器和主容器之间制作文件副本的示例: 舵手: