Rancher下安装Postgresql+Postgis

最近作者在部署道路渠化Demo,公司的发布环境全面切换到Rancher下,遇到的第一个问题就是要安装Postgresql,先立帖,等整通了详细纪录一下安装过程


功夫不负有心人,部署成功了,先上图震楼


image.png

image.png

image.png

为什么要在Rancher上部署PG

遇到了Rancher,可以说把你从地狱带到了天堂,界面化的操作让你从k8s繁琐的命令中解脱出来,而将PG部署到Rancher中能够保证数据库的高可用,又能方便数据的迁移。

安装步骤

如果你只需要postgresql,在Racher的应用商城里,你可以通过搜索找到postgresql(公司配置的是阿里云镜像仓库),配置简单的yaml即可。

image.png

但是作者需要安装带有postgis的postgresql,如果在安装的postgresql容器中再安装postgis,需要yum命令的支持,很可惜作者没找到,容器依赖的linux可能是最精简版本,这条方法行不通。
后来发现在dockerhub上有打包好的postgis镜像mdillon/postgis,其版本是postgis2.5 postgresql10.6足够我使用了。接下来讲具体流程:
1.在应用商店中搜索postgresql,选择好版本
image.png

添加必要的key value,后面再解释具体意义
image.png

2.在Rancher中定义postgresql存储所依赖的pv和pvc
添加pv,设置pv的名称、存储类型、容量大小
image.png

设置ceph上的存储路径以及密文,ceph的节点
image.png

设置访问模式
image.png

在数据卷中添加pvc
image.png

3.将mdillon/postgis镜像导入到本地镜像仓库中心
4.在rancher中添加镜像库凭证,以便从本地harbor中拉取镜像
image.png

5.解释一下之前在key value 意思

image: 本地镜像仓库存储的postgis镜像
  imagePullSecrets: 本地镜像仓库凭证
  imageTag: 本地镜像仓库postgis镜像对应的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的方式向外提供服务

特别要注意的是,从应用商店拉去的postgresql镜像默认挂载的数据路径是 /var/lib/postgresql/data/pgdata,而mdillon/postgis镜像生成的容器数据位置为/var/lib/postgresql/data,所以必须明确定义以取代默认值。

你可能感兴趣的:(Rancher下安装Postgresql+Postgis)