怎樣在 Kubernetes 上運行 PostgreSQL
通過在 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive