當前位置:
首頁 > 知識 > 怎樣在 Kubernetes 上運行 PostgreSQL

怎樣在 Kubernetes 上運行 PostgreSQL

怎樣在 Kubernetes 上運行 PostgreSQL


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

-- Jonathan S. Katz

通過在 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

本文由 LCTT 原創編譯, Linux中國 榮譽推出


點擊「了解更多」可訪問文內鏈接

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Linux技術 的精彩文章:

破除對 AWS Fargate 的幻覺
在 Linux 中使用 bd 命令快速返回到特定的父目錄

TAG:Linux技術 |