5.0 KiB
怎样在Kubernetes上运行PostgreSQL
创建统一管理的,具备灵活性的云原生生产部署来部署一个人性化的数据库即服务。
通过在Kubernetes上运行PostgreSQL数据库,你能创建统一管理的,具备灵活性的云原生生产部署应用来部署一个个性化的数据库即服务为你的特定需求进行量身定制。
对于Kubernetes,使用Operator允许你提供额外的上下文去管理有状态应用。当使用像PostgreSQL这样开源的数据库去执行包括配置,扩张,高可用和用户管理时,Operator也很有帮助。
让我们来探索如何在Kubernetes上启动并运行PostgreSQL。
安装 PostgreSQL Operator
将PostgreSQL和Kubernetes结合使用的第一步是安装一个Operator。在针对Linux系统的Crunchy's 快速启动脚本的帮助下,你可以在任意基于Kubernetes的环境下启动和运行开源的Crunchy PostgreSQL Operator。
快速启动脚本有一些必要前提:
- Wget工具已安装。
- kubectl工具已安装。
- 一个StorageClass已经定义在你的Kubernetes中。
- 拥有集群权限的可访问Kubernetes的用户账号。安装Operator的RBAC规则是必要的。
- 拥有一个namespace去管理PostgreSQL Operator。
执行这个脚本将提供给你一个默认的PostgreSQL Operator deployment,它假设你的dynamic storage和存储类的名字为standard。通过这个脚本允许用户自定义的值去覆盖这些默认值。
通过下列命令,你能下载这个快速启动脚本并把它的权限设置为可执行:
wget <https://raw.githubusercontent.com/CrunchyData/postgres-operator/master/examples/quickstart.sh>
chmod +x ./quickstart.sh
然后你运行快速启动脚本:
./examples/quickstart.sh
在脚本提示你相关的Kubernetes集群基本信息后,它将执行下列操作:
- 下载Operator配置文件
- 将 $HOME/.pgouser 这个文件设置为默认设置
- 以Kubernetes Deployment部署Operator
- 设置你的 .bashrc 文件包含Operator环境变量
- 设置你的 $HOME/.bash_completion 文件为 pgo bash_completion文件
在快速启动脚本的执行期间,你将会被提示在你的Kubernetes集群设置RBAC规则。在另一个终端,执行快速启动命令所提示你的命令。
一旦这个脚本执行完成,你将会得到关于打开一个端口转发到PostgreSQL Operator pod的信息。在另一个终端,执行端口转发;这将允许你开始对PostgreSQL Operator执行命令!尝试输入下列命令创建集群:
pgo create cluster mynewcluster
你能输入下列命令测试你的集群运行状况:
pgo test mynewcluster
现在,你能在Kubernetes环境下管理你的PostgreSQL数据库!你可以在官方文档找到非常全面的命令,包括扩容,高可用,备份等等。
这篇文章部分参考了该作者为了Crunchy博客而写的在Kubernetes上开始运行PostgreSQL
via: https://opensource.com/article/19/3/how-run-postgresql-kubernetes
作者:Jonathan S. Katz 选题:lujun9972 译者:arrowfeng 校对:校对ID