在 Kubernetes 上使用 KubeBlocks 安装 PostgreSQL

在 Kubernetes 上使用 KubeBlocks 安装 PostgreSQL

引言

在 Kubernetes 上管理数据库一直是一个挑战,直到 KubeBlocks 的出现!

KubeBlocks 提供了一个 统一的 API,让你可以用相同的方式管理 MySQL、PostgreSQL、MongoDB、Redis、Pulsar、ClickHouse 等数据库,而不需要学习多个数据库运维工具。

在本教程中,我们将专注于 PostgreSQL,并演示如何使用 KubeBlocks 在 Kubernetes 上安装并连接 PostgreSQL 数据库。


为什么选择 KubeBlocks?

Kubernetes 本身擅长管理 无状态应用,但在处理 数据库等有状态应用 时,通常需要:

✅ 找到适配的数据库 Operator
✅ 学习不同的 API 和配置方式
✅ 处理 备份、扩缩容、监控 等运维工作

KubeBlocks 让这一切变得简单!

🔹 统一 API —— 通过相同的命令管理不同的数据库
🔹 高可用 —— 生产级故障恢复能力
🔹 内置监控 —— 预配置 Prometheus & Grafana 监控面板


安装 KubeBlocks

步骤 1:安装 KubeBlocks CLI

首先,安装 KubeBlocks CLI,用于管理数据库集群:

export KB_CLI_VERSION=v0.9.2
curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash -s $KB_CLI_VERSION

验证安装是否成功:

kbcli --help

你应该能看到 KubeBlocks CLI 的可用命令列表。


步骤 2:在 Kubernetes 上部署 KubeBlocks

2.1 安装 KubeBlocks CRDs(自定义资源定义)
export KB_VERSION=v0.9.2
kubectl create -f https://github.com/apecloud/kubeblocks/releases/download/$KB_VERSION/kubeblocks_crds.yaml
2.2 添加 KubeBlocks Helm 仓库
helm repo add kubeblocks https://apecloud.github.io/helm-charts
helm repo update
2.3 使用 Helm 安装 KubeBlocks
helm -n kb-system install kubeblocks kubeblocks/kubeblocks --version 0.9.2 \
  --set image.registry=docker.io \
  --set dataProtection.image.registry=docker.io \
  --set addonChartsImage.registry=docker.io \
  --create-namespace

安装完成后,检查 KubeBlocks 是否运行:

kubectl get pods -n kb-system

你应该能看到 KubeBlocks 相关 Pod 处于 Running 状态


安装 PostgreSQL

步骤 3:使用 KubeBlocks 部署 PostgreSQL 集群

现在,让我们使用 KubeBlocks 快速启动 PostgreSQL 集群

运行以下命令创建 PostgreSQL 集群:

kbcli cluster create my-postgresql --cluster-definition postgresql

等待几分钟后,检查 PostgreSQL 集群状态:

kubectl get pods -n default

你应该能看到类似以下的输出:

NAME                         READY   STATUS    RESTARTS   AGE
my-postgresql-postgresql-0   4/4     Running   0          79s
my-postgresql-postgresql-1   4/4     Running   0          79s

表示 PostgreSQL 集群已经成功运行! 🎉


连接 PostgreSQL 并执行 SQL 操作

步骤 4:连接 PostgreSQL

kbcli cluster connect my-postgresql

执行上面的命令后,你会进入 PostgreSQL 交互式 Shell,然后你可以执行 SQL 语句:

CREATE DATABASE testdb;
\c testdb
CREATE TABLE users (id SERIAL PRIMARY KEY, name VARCHAR(100), age INT);
INSERT INTO users (name, age) VALUES ('Alice', 30), ('Bob', 25);
SELECT * FROM users;

你应该能看到 PostgreSQL 返回的查询结果,表示数据库操作成功! 🚀


总结

安装了 KubeBlocks,并在 Kubernetes 上部署 PostgreSQL
使用 KubeBlocks 统一 API 快速创建 PostgreSQL 集群
连接 PostgreSQL 并执行 SQL 操作


为什么 KubeBlocks 是数据库管理的未来?

🚀 支持多种数据库:MySQL、PostgreSQL、MongoDB、Redis、Pulsar、ClickHouse 等
💡 一套 API 统一管理,不需要学习多个数据库运维工具
生产级高可用、监控和扩展能力

📢 下一步?

🔹 尝试其他数据库:试试 MySQL、MongoDB 或 Redis
🔹 探索高级功能:如 自动扩缩容、备份恢复
🔹 加入社区:给 KubeBlocks GitHub 点个 ⭐,一起讨论!

💬 有问题? 在评论区交流或加入我们的 Slack 社区

Happy Coding! 🚀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值