最近作者在部署道路渠化Demo,公司的發(fā)布環(huán)境全面切換到Rancher下,遇到的第一個(gè)問題就是要安裝Postgresql,先立帖,等整通了詳細(xì)紀(jì)錄一下安裝過程
功夫不負(fù)有心人,部署成功了,先上圖震樓

image.png

image.png

image.png
為什么要在Rancher上部署PG
遇到了Rancher,可以說把你從地獄帶到了天堂,界面化的操作讓你從k8s繁瑣的命令中解脫出來,而將PG部署到Rancher中能夠保證數(shù)據(jù)庫的高可用,又能方便數(shù)據(jù)的遷移。
安裝步驟
如果你只需要postgresql,在Racher的應(yīng)用商城里,你可以通過搜索找到postgresql(公司配置的是阿里云鏡像倉庫),配置簡單的yaml即可。

image.png
但是作者需要安裝帶有postgis的postgresql,如果在安裝的postgresql容器中再安裝postgis,需要yum命令的支持,很可惜作者沒找到,容器依賴的linux可能是最精簡版本,這條方法行不通。
后來發(fā)現(xiàn)在dockerhub上有打包好的postgis鏡像mdillon/postgis,其版本是postgis2.5 postgresql10.6足夠我使用了。接下來講具體流程:
1.在應(yīng)用商店中搜索postgresql,選擇好版本

image.png
添加必要的key value,后面再解釋具體意義

image.png
2.在Rancher中定義postgresql存儲所依賴的pv和pvc
添加pv,設(shè)置pv的名稱、存儲類型、容量大小

image.png
設(shè)置ceph上的存儲路徑以及密文,ceph的節(jié)點(diǎn)

image.png
設(shè)置訪問模式

image.png
在數(shù)據(jù)卷中添加pvc

image.png
3.將mdillon/postgis鏡像導(dǎo)入到本地鏡像倉庫中心
4.在rancher中添加鏡像庫憑證,以便從本地harbor中拉取鏡像

image.png
5.解釋一下之前在key value 意思
image: 本地鏡像倉庫存儲的postgis鏡像
imagePullSecrets: 本地鏡像倉庫憑證
imageTag: 本地鏡像倉庫postgis鏡像對應(yīng)的tag
persistence:
enabled: "true"
existingClaim: "postgres-ceph-pvc"
mountPath: "/var/lib/postgresql/data"
size: "100Gi"
postgresPassword: 用戶名
postgresUser: 密碼
service:
nodePort: nodePort端口
port: "5432"
type: "NodePort" //選擇nodePort的方式向外提供服務(wù)
特別要注意的是,從應(yīng)用商店拉去的postgresql鏡像默認(rèn)掛載的數(shù)據(jù)路徑是 /var/lib/postgresql/data/pgdata,而mdillon/postgis鏡像生成的容器數(shù)據(jù)位置為/var/lib/postgresql/data,所以必須明確定義以取代默認(rèn)值。