使用 Azure CLI 在 AKS 上部署高可用性 PostgreSQL 資料庫
在本指南中,您會部署高可用性 PostgreSQL 叢集,以跨 AKS 與 Azure CLI 的多個 Azure 可用性區域。
本文逐步解說在 Azure Kubernetes Service (AKS) 上設定 PostgreSQL 叢集的必要條件,並提供完整部署程式和架構的概觀。
重要
整個 AKS 文件和範例都會提及開放原始碼的軟體。 您部署的軟體會從 AKS 服務等級協定、有限擔保和 Azure 支援 中排除。 當您搭配 AKS 使用開放原始碼技術時,請參閱個別社群和專案維護人員所提供的支援選項,以開發計畫。
例如,Ray GitHub 存放 庫 描述數個因回應時間、用途和支援層級而異的平臺。
Microsoft負責建置我們在 AKS 上部署的開放原始碼套件。 該責任包括擁有組建、掃描、簽署、驗證和 Hotfix 程式的完整擁有權,以及控制容器映像中的二進位檔。 如需詳細資訊,請參閱 AKS 弱點管理和 AKS 支援涵蓋範圍。
必要條件
- 本指南假設對於 核心 Kubernetes 概念 和 PostgreSQL 有基本瞭解。
- 您需要 擁有者 或 使用者存取系統管理員,以及 Azure 帳戶中訂用帳戶的 參與者 Azure 內建角色。
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
您也需要安裝下列資源:
- Azure CLI 2.56 版或更新版本。
- Azure Kubernetes Service (AKS) 預覽延伸模組。
- jq1.5 版或更新版本。
- kubectl 1.21.0 版或更新版本。
- Helm 3.0.0 版或更新版本
- openssl 3.3.0 版或更新版本。
- Visual Studio Code 或對等工具。
- Krew 0.4.4 版或更新版本。
- kubectl CloudNativePG (CNPG) 外掛程式。
部署程序
在本指南中,您將了解如何:
- 使用 Azure CLI 建立多區域 AKS 叢集。
- 使用 CNPG 運算子 部署高可用性 PostgreSQL 叢集和資料庫。
- 使用 Prometheus 和 Grafana 設定 PostgreSQL 的監視。
- 將範例資料集部署至 PostgreSQL 資料庫。
- 執行 PostgreSQL 和 AKS 叢集升級。
- 模擬叢集中斷和 PostgreSQL 複本容錯移轉。
- 執行 PostgreSQL 資料庫的備份和還原。
部署架構
此圖說明 PostgreSQL 叢集設定,其中一個主要複本和兩個讀取複本是由 CloudNativePG (CNPG) 運算子所管理。 此架構提供在 AKS 叢集上執行的高可用性 PostgreSQL,可透過跨複本故障轉移來承受區域中斷。
備份會儲存在 Azure Blob 儲存體 上,提供當主要複本發生串流複寫問題時,另一種還原資料庫的方式。
注意
對於需要資料庫層級資料區隔的應用程式,您可以使用 postInitSQL 命令和類似的命令來新增更多資料庫。 CNPG 運算子目前無法以宣告方式新增更多資料庫。 深入了解 CNPG 運算子。
下一步
參與者
本文由 Microsoft 維護。 下列參與者最初撰寫:
- Ken Kilty | 首席 TPM
- Russell de Pina | 首席 TPM
- Adrian Joian |資深客戶工程師
- Jenny Hayes | 資深內容開發人員
- Carol Smith | 資深內容開發人員
- Erin Schaffer |內容開發人員 2
- Adam Sharif |客戶工程師 2