怎样在 Kubernetes 上运行 PostgreSQL
创建统一管理的,具备灵活性的云原生生产部署来部署一个个性化的数据库即服务(DBaaS)。
通过在 Kubernetes 上运行 PostgreSQL 数据库,你能创建统一管理的,具备灵活性的云原生生产部署应用来部署一个个性化的数据库即服务为你的特定需求进行量身定制。
对于 Kubernetes,使用 Operator 允许你提供额外的上下文去管理有状态应用。当使用像PostgreSQL 这样开源的数据库去执行包括配置、扩展、高可用和用户管理时,Operator 也很有帮助。
让我们来探索如何在 Kubernetes 上启动并运行 PostgreSQL。
安装 PostgreSQL Operator
将 PostgreSQL 和 Kubernetes 结合使用的第一步是安装一个 Operator。在针对 Linux 系统的Crunchy 的快速启动脚本的帮助下,你可以在任意基于 Kubernetes 的环境下启动和运行开源的Crunchy PostgreSQL Operator。
快速启动脚本有一些必要前提:
- Wget 工具已安装。
- kubectl 工具已安装。
- 在你的 Kubernetes 中已经定义了一个 StorageClass。
- 拥有集群权限的可访问 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
这个文件设置为默认设置 - 以 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 校对:wxy
- Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上
- 在 Kubernetes 集群中运行 WordPress
- 怎样手工制作在没有安装jre的电脑上可运行的java程序
- Android studio 导入工程里面的模块不知怎样运行
- 怎样合理设置内存让数据库与其他程序同时运行
- (转).Net 揭密--JIT怎样运行你的代码 第一部分 (普通调用)
- sql server 2000怎样设置定时自动运行SQL语句
- vega开发的应用程序怎样在其他机器上运行
- 怎样修改注册表,让程序开机自动运行[收藏]
- 怎样使代理运行的延迟最小?
- main 函数是怎样运行的
- 在linux 和 ubuntu下运行itchat,怎样看见二维码?
- 怎样获取运行计划
- 怎样在workbench 下运行eXtremeDB的测试例子
- 一个java程序是怎样运行起来的(1)
- C/C++/VC++/MFC怎样通过代码运行Dos窗口或以管理员身份运行DOS窗口,并执行一条指令或命令参数
- OpenShift/Kubernetes 创建PostgreSQL 权限不足的问题
- 怎样查看Eclipse运行java程序时用的命令
- 一个线程运行时发生异常会怎样?
- 怎样得到程序的运行路径,以系统时间命名文件