我正尝试在基于CMS(Prestashop)的Kubernetes集群上创建自己的部署,我想我必须定期更新映像。
CMS提供2种更新方式:
- 通过该模块(单击一次升级):这种方法不适合自动化,并且会破坏并行运行的图像
- 通过安装文件夹上的升级脚本。
问题是我如何实现滚动更新策略,该策略可以拉取准备好服务于客户机的映像,并更新模式和底层脚本,这些脚本应该只更改数据库一次,以便新运行的pod不会破坏数据库
我已经创建了docker准备服务图像,现在的问题是更新策略和对数据库的影响。
注意:数据库运行在单独的名称空间和单独的statefulSet中
1条答案
按热度按时间3htmauhk1#
在不了解Prestashop的情况下,您的问题引出了Kubernetes中的两种部署/升级模式:
1. Operators -operators是用来执行您所描述的复杂类型的任务的,一个 * 非常快速 * 的搜索没有显示存在操作符的迹象,所以这将是一个更长的路径和大量的自定义代码需要创建/维护。
2. Helm -Helm是一个部署管理解决方案,它还可以通过部署 * 图表 * 来帮助处理此类活动。* 快速 * 搜索显示bitnami repo(我相信现在归vmware所有)有一个prestashop Helm图表here
如果是我,我会尝试查看Prestashop的 Helm 图,并测试它是否适合你。它看起来会定期更新(上次提交是在3周前),可能会减轻你的负担(包括图像管理等)。