歡迎光臨
每天分享高質量文章

怎樣在 Kubernetes 上運行 PostgreSQL | Linux 中國

創建統一管理的,具備靈活性的雲原生生產部署來部署一個個性化的資料庫即服務(DBaaS)。

— Jonathan S. Katz

 

通過在 Kubernetes[1] 上運行 PostgreSQL[2] 資料庫,你能創建統一管理的,具備靈活性的雲原生生產部署應用來部署一個個性化的資料庫即服務為你的特定需求進行量身定製。

對於 Kubernetes,使用 Operator 允許你提供額外的背景關係去管理有狀態應用[3]。當使用像PostgreSQL 這樣開源的資料庫去執行包括配置、擴展、高可用和用戶管理時,Operator 也很有幫助。

讓我們來探索如何在 Kubernetes 上啟動並運行 PostgreSQL。

安裝 PostgreSQL Operator

將 PostgreSQL 和 Kubernetes 結合使用的第一步是安裝一個 Operator。在針對 Linux 系統的Crunchy 的快速啟動腳本[4]的幫助下,你可以在任意基於 Kubernetes 的環境下啟動和運行開源的Crunchy PostgreSQL Operator[5]

快速啟動腳本有一些必要前提:

◈ Wget[6] 工具已安裝。
◈ kubectl[7] 工具已安裝。
◈ 在你的 Kubernetes 中已經定義了一個 StorageClass[8]
◈ 擁有集群權限的可訪問 Kubernetes 的用戶賬號,以安裝 Operator 的 RBAC[9] 規則。
◈ 一個 PostgreSQL Operator 的 命名空間[10]

執行這個腳本將提供給你一個預設的 PostgreSQL Operator 部署,其預設假設你採用 動態儲存[11]和一個名為 standard 的 StorageClass。這個腳本允許用戶採用自定義的值去改寫這些預設值。

通過下列命令,你能下載這個快速啟動腳本並把它的權限設置為可執行:

  1. wget <https://raw.githubusercontent.com/CrunchyData/postgres-operator/master/examples/quickstart.sh>
  2. chmod +x ./quickstart.sh

然後你運行快速啟動腳本:

  1. ./examples/quickstart.sh

在腳本提示你相關的 Kubernetes 集群基本信息後,它將執行下列操作:

◈ 下載 Operator 配置檔案
◈ 將 $HOME/.pgouser 這個檔案設置為預設設置
◈ 以 Kubernetes Deployment[12] 部署 Operator
◈ 設置你的 .bashrc 檔案包含 Operator 環境變數
◈ 設置你的 $HOME/.bash_completion 檔案為 pgo bash_completion 檔案

在快速啟動腳本的執行期間,你將會被提示在你的 Kubernetes 集群設置 RBAC 規則。在另一個終端,執行快速啟動命令所提示你的命令。

一旦這個腳本執行完成,你將會得到提示設置一個端口以轉發到 PostgreSQL Operator pod。在另一個終端,執行這個端口轉發操作;這將允許你開始對 PostgreSQL Operator 執行命令!嘗試輸入下列命令創建集群:

  1. pgo create cluster mynewcluster

你能輸入下列命令測試你的集群運行狀況:

  1. pgo test mynewcluster

現在,你能在 Kubernetes 環境下管理你的 PostgreSQL 資料庫了!你可以在官方文件[13]找到非常全面的命令,包括擴容,高可用,備份等等。

這篇文章部分參考了該作者為 Crunchy 博客而寫的在 Kubernetes 上開始運行 PostgreSQL[14]

 

已同步到看一看
赞(0)

分享創造快樂