通过在Kubernetes上运行PostgreSQL数据库,您可以创建统一管理的云原生生产部署,并可以灵活地部署满足您特定需求的个性化数据库即服务。
使用运算符可以让您向Kubernetes提供其他上下文来管理有状态的应用程序 。 当使用像PostgreSQL这样的开源数据库来帮助执行包括预配,扩展,高可用性和用户管理之类的操作时,操作员也将很有帮助。
让我们探索如何在Kubernetes上启动和运行PostgreSQL。
设置PostgreSQL运算符
将PostgreSQL与Kubernetes结合使用的第一步是安装Operator。 借助Crunchy的Linux 快速启动脚本 ,您可以在任何基于Kubernetes的环境中使用开源Crunchy PostgreSQL Operator来启动和运行。
快速入门脚本具有一些先决条件:
- Wget实用程序已安装
- 安装了kubectl
- 在Kubernetes集群上定义的StorageClass
- 使用集群管理员权限访问Kubernetes用户帐户。 这是安装Operator RBAC规则所必需的
- 存放PostgreSQL运算符的名称空间
执行脚本将为您提供默认的PostgreSQL Operator部署,该部署采用动态存储和一个名为standard的StorageClass。 脚本允许用户提供值替代这些默认值。
您可以下载快速入门脚本,并使用以下命令将其设置为可执行的:
wget https://raw.githubusercontent.com/CrunchyData/postgres-operator/master/examples/quickstart.sh
chmod +x ./quickstart.sh
然后,您可以执行快速入门脚本:
./examples/quickstart.sh
./examples/quickstart.sh
脚本提示您提供有关Kubernetes集群的一些基本信息后,它将执行以下操作:
- 下载操作员配置文件
- 将$ HOME / .pgouser文件设置为默认设置
- 将操作员部署为Kubernetes 部署
- 设置您的.bashrc以包括操作员环境变量
- 将$ HOME / .bash_completion文件设置为pgo bash_completion文件
在执行快速入门期间,系统将提示您为Kubernetes集群设置RBAC规则。 在单独的终端中,执行quickstart命令告诉您使用的命令。
脚本完成后,您将获得有关设置端口转发到PostgreSQL Operator窗格的信息。 在单独的终端中,向前执行端口; 这将使您开始执行对PostgreSQL操作员的命令! 尝试通过输入以下内容来创建集群:
pgo create cluster mynewcluster
pgo create cluster mynewcluster
您可以通过输入以下内容来测试集群是否正常运行:
pgo test mynewcluster
pgo test mynewcluster
现在,您可以在Kubernetes环境中管理PostgreSQL数据库! 您可以在文档中找到命令的完整参考,包括有关扩展,高可用性,备份等的命令。
本文的部分内容基于 作者为Crunchy博客编写的Kubernetes 上的 “开始运行PostgreSQL” 。
翻译自: https://opensource.com/article/19/3/how-run-postgresql-kubernetes