如何更新部署在kubernetes上的数据库的模式和数据?



我想了解如何管理部署在Kubernetes集群上的Postgres数据库。到目前为止,我可以使用Postgres映像部署一个pod。我还可以创建持久卷和持久卷声明,但有些事情我仍然不明白。

如果我有一个生产数据库,在某些时候,我需要修补数据库,该怎么做?是否有一种方法来执行SQL指令来更新模式和数据?

最简单的方法是通过端口转发连接到数据库,例如:

while true; do kubectl port-forward "$path" -n "$namespace" "$ports"; done

最好停止所有连接到这个数据库的下行pod。然后用你选择的Postgres客户端做你需要做的事情。

更健壮的是,引入一个像Flyway或Liquibase这样的工具来进行模式更改,它将在集群内部执行,并允许版本和跟踪数据库更改。

相关内容

  • 没有找到相关文章

最新更新