k8s部署高可用mysql_kubernetes Stolon部署高可用Postgresql

....前言

本文选用Stolon的方式搭建Postgresql高可用方案,主要为Harbor提供高可用数据库,Harbor搭建可查看kubernetes搭建Harbor无坑及Harbor仓库同步,之后会提供redis高可用及Harbor高可用方案搭建

方案比较

几种postgresql高可用方案简单比较:

首先repmgr这种方案的算法有明显缺陷,非主流分布式算法,直接pass;

Stolon和Patroni相对于Crunchy更加Cloud Native, 后者是基于pgPool实现。

Crunchy和Patroni相对于Stolon有更多的使用者,并且提供了Operator对于以后的管理和扩容

根据上面简单的比较,最终选择的stolon,作者选择的是Patroni,感觉实际区别并不大。

一、Stolon概述:

keeper:他负责管理PostgreSQL的实例汇聚到由sentinel(s)提供的clusterview。

sentinel:it负责发现并且监控keeper,并且计算最理想的clusterview。

proxy:客户端的接入点。它强制连接到右边PostgreSQL的master并且强制关闭连接到由非选举产生的master。

Stolon 用etcd或者consul作为主要的集群状态存储。

二、Installation

git clone https://github.com/sorintlab/stolon.git

cd XXX/stolon/examples/kubernetes

如图所示

f3db76c534d8?utm_campaign=hugo

stolon

如有兴趣可查看官网搭建:https://github.com/sorintlab/stolon/blob/master/examples/kubernetes/README.md

如下为yaml中注意修改的地方

stolon-keeper.yaml 中设置Postgresql用户名

- name: STKEEPER_PG_SU_USERNAME

value: "postgres"

stolon-keeper.yaml 中设置stolon挂载卷

volumeClaimTemplates:

- metadata:

name: data

spec:

accessModes:

- "ReadWriteOnce"

resources:

requests:

storage: "512Mi"

storageClassName: nfs

secret.yaml中设置用户密码

apiVersion: v1

kind: Secret

metadata:

name: stolon

type: Opaque

data:

password: cGFzc3dvcmQx

如下是作者整理的完整的stolon的编排文件,可直接修改使用

# This is an example and generic rbac role definition for stolon. It could be

# fine tuned and split per component.

# The required permission per component should be:

# keeper/proxy/sentinel: update their own pod annotations

# sentinel/stolonctl: get, create, update configmaps

# sentinel/stolonctl: list components pods

# sentinel/stolonctl: get components pods annotations

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: Role

metadata:

name: stolon

namespace: default

rules:

- apiGroups:

- ""

resources:

- pods

- configmaps

- events

verbs:

- "*"

---

apiVersion: rbac.authorization.k8s.io/v1beta1

kind: RoleBinding

metadata:

name: stolon

na

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值