我是Kubernetes的新手,我按照本教程使用k8s Deploying WordPress部署WordPress应用程序。
假设我有3个带有WordPress的pod:4.8-apache图像,我有一个共享卷,使用WordPress 4.8的代码安装到每个pod。 让我们说我想在不停机的情况下将我的WordPress更新到4.9。 所以它必须是一个时间点,当有一些pods具有WordPress 4.8的代码,有些具有WordPress 4.9的代码,但所有的pod使用相同的卷,所以它怎么可能? 新的pod是否会覆盖共享文件夹中的代码?
答案 0 :(得分:1)
可能会发生这种情况。从这个意义上说,我认为这不是遵循不变性原则(https://engineering.bitnami.com/articles/why-your-next-web-service-should-be-immutable.html)部署WordPress的正确方法。为了避免这种问题,我的建议是:
如果较新的版本意味着数据库中的更改,则可能会出现问题。在这种情况下,我会在pod定义中添加某种准备检查,这样,如果旧版本失败,它将从服务中删除,只有较新的WordPress pod可用。在这种情况下,在升级之前进行数据库备份也是一个不错的选择。