我是Kubernetes的新手,并且按照本教程学习了如何使用k8s Deploying WordPress部署WordPress应用程序。
假设我有3个使用WordPress:4.8-apache图像的Pod,并且我有一个共享卷,该共享卷通过WordPress 4.8代码安装到每个Pod。
并说我想在不停机的情况下将WordPress更新到4.9。
因此,必须要及时处理一些Pod,这些Pod具有WordPress 4.8的代码,而有些Pod具有WordPress 4.9的代码,但是所有Pod都使用相同的Volume,这怎么可能?
新的Pod是否会覆盖共享文件夹中的代码?
最佳答案
可能会发生这种情况。从这个意义上讲,在我看来,这不是遵循不变性原则(https://engineering.bitnami.com/articles/why-your-next-web-service-should-be-immutable.html)部署WordPress的正确方法。为了避免此类问题,我的建议是:
如果较新的版本暗含数据库更改,则可能会出现问题。在这种情况下,我会在Pod定义中添加某种准备情况检查,以便在旧版本失败的情况下将其从服务中删除,并且只有较新的WordPress Pod可用。在这种情况下,在升级之前进行数据库备份也是一个不错的选择。
关于wordpress - 使用kubernetes部署wordpress应用程序时,在不停机的情况下部署新版本的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49764640/