使用 Ansible Playbook 構建 PG-Strom 環境

產品開發

自從“PG-Strom的打包”成為主題之後,去年底左右驗證的在Docker/Podman等容器中運行PG-Strom的方法,接下來就是自動化構建PG-Strom的方法環境與 Ansible. 決定進行調查。


這次,我們使其與 Red Hat Enterprise Linux 8.6 和 Rocky Linux 8.7 兼容。 RHEL有一個特點,只有連版本的支持期才比較長,所以使用8.6版本。 我們將繼續支持它發布的每個偶數版本。


Rocky Linux 是 RHEL 克隆之一,但我決定支持它,因為它正式支持 MOFED,這是使用 CUDA 和 PG-Strom 付費版本功能時的要求。


PG-Strom 付費版本中可以使用的功能需要許可證,因此自動化僅限於可以免費使用的範圍。 安裝運行 PG-Strom 所需的兼容 CUDA 和 GPU 驅動程序、安裝 PostgreSQL Server、安裝 PG-Strom 以及配置從 PG-Strom 派生的 PostgreSQL。 您所需要做的就是在連接到 Pascal 一代或更高版本 NVIDIA GPU 的計算機上安裝 RHEL 8.6 或 Rocky Linux 8,然後運行 Playbook。


如果將ansible模塊與ansible-core一起安裝,似乎當前在shell模塊中設置的部分處理可以使用專用模塊來描述,但是這次,為了簡單起見,只能使用ansible-core來完成什麼我決定實施模塊


由於PG-Strom在之前的版本中支持PostreSQL 15,所以我想使用更新的版本,所以我將其配置為使用PostgreSQL 15。 由於次要版本尚未固定,我認為將包含安裝時最新版本的 PostgreSQL 15。 在撰寫此博客時,版本為 15.2。


接下來我們準備了一個示例劇本,所以如果你想使用 PG-Strom,請嘗試一下。

在Docker和MicroK8s中嘗試使用多實例GPU(Multi-Instance GPU)
在Docker和MicroK8s中嘗試使用多實例GPU(Multi-Instance GPU)
將 GPU 與 Microk8s Pod(2023 年 7 月版本)結合使用
將 GPU 與 Microk8s Pod(2023 年 7 月版本)結合使用
我嘗試使用了 containerd + nerdctl
我嘗試使用了 containerd + nerdctl
使用 MicroK8s 運行 PG-Strom 容器
使用 MicroK8s 運行 PG-Strom 容器