5. 多套GreatDB operator管理不同的GreatDB集群
你可使用一套 GreatDB Operator 管理多个 GreatDB 集群。如果你有以下业务需求,可以部署多套 GreatDB Operator 分别管理不同的 GreatDB 集群:
- 可以应用于GreatDB集群分组,具备共同特征的集群进行分组管理
- operator升级管理,为避免operator升级导致GreatDB故障,采用验证后迁移的方式进行升级
部署多套 GreatDB Operator,分别管理不同的 GreatDB 集群的方式是通过label过滤选择的方式实现 只需在部署operator时,传入参数,并在创建GreatDB集群时设置对应的label即可让对应的operator管理对应的GreatDB集群。
部署operator
apiVersion: apps/v1
kind: Deployment
metadata:
name: greatdbpaxos-operator
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: operator
app.kubernetes.io/name: greatdbpaxos-operator
template:
metadata:
labels:
app.kubernetes.io/component: operator
app.kubernetes.io/name: greatdbpaxos-operator
spec:
serviceAccountName: greatdbpaxos-operator
containers:
- name: operator
# 替换为你自己的镜像地址
image: 172.17.120.107:5000/greatdbpaxos-operator:v0.1-06051559
command:
- /greatdb-operator
- --managerBy=operator-v1.0
只需要在启动operator时添加参数managerBy。如上面所示--managerBy=operator-v1.0 并在部署GreatDB集群时添加label
app.kubernetes.io/managed-by: operator-v1.0
这样即可实现不同的operator管理各种对应的集群 集群添加label
apiVersion: greatdb.com/v1alpha1
kind: GreatDBPaxos
metadata:
name: greatdb-sample
labels:
app.kubernetes.io/managed-by: operator-v1.0
spec:
......
如果部署时,没有给集群添加label,可以通过下面命令进行添加
kubectl label -n {namespace} gdb {ClusterNAme} app.kubernetes.io/managed-by=operator-v1.0
# 例如
kubectl label -n default gdb greatdb-sample app.kubernetes.io/managed-by=operator-v1.0
如需要修改该label
# 删除该lable
kubectl label -n default gdb greatdb-sample app.kubernetes.io/managed-by-
# 修改为 app.kubernetes.io/managed-by=operator-v1.1
kubectl label -n default gdb greatdb-sample app.kubernetes.io/managed-by=operator-v1.1
对于部署时没有添加参数managerBy 的operator,它将管理所有的GreatDB集群「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




