通过在 Kubernetes 上运行 PostgreSQL 数据库,您可以创建统一管理、云原生生产部署,并具有部署根据您的特定需求量身定制的个性化数据库即服务的灵活性。
使用 Operator 可以为 Kubernetes 提供额外的上下文,以管理有状态应用程序。当使用像 PostgreSQL 这样的开源数据库来帮助进行配置、扩展、高可用性和用户管理等操作时,Operator 也很有用。
让我们探讨如何在 Kubernetes 上启动并运行 PostgreSQL。
设置 PostgreSQL operator
在 Kubernetes 中使用 PostgreSQL 的第一步是安装 Operator。借助 Crunchy 的 快速入门脚本(适用于 Linux),您可以在任何基于 Kubernetes 的环境中启动并运行开源 Crunchy PostgreSQL Operator。
快速入门脚本有一些先决条件
- 已安装 Wget 实用程序
- 已安装 kubectl
- 在您的 Kubernetes 集群上定义了 StorageClass
- 具有 cluster-admin 权限的 Kubernetes 用户帐户的访问权限。这是安装 Operator RBAC 规则所必需的
- 用于存放 PostgreSQL Operator 的命名空间
执行脚本将为您提供默认的 PostgreSQL Operator 部署,该部署假定动态存储和名为 standard 的 StorageClass。脚本允许用户提供值来覆盖这些默认值。
您可以下载快速入门脚本并使用以下命令将其设置为可执行文件
wget https://raw.githubusercontent.com/CrunchyData/postgres-operator/master/examples/quickstart.sh
chmod +x ./quickstart.sh
然后您可以执行快速入门脚本
./examples/quickstart.sh
在脚本提示您输入有关 Kubernetes 集群的一些基本信息后,它将执行以下操作
- 下载 Operator 配置文件
- 将 $HOME/.pgouser 文件设置为默认设置
- 将 Operator 部署为 Kubernetes Deployment
- 设置您的 .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 博客撰写的PostgreSQL on Kubernetes 入门指南。
评论已关闭。