集群运维操作
整体介绍
信息
集群运维资源是 ob-operator v2.2.2 及以上版本中新增的功能。
为了简化 OceanBase 集群的运维操作并保留短期运维记录,ob-operator 提供了集群运维资源 OBClusterOperation
,用于执行集群运维操作。
通过创建 OBClusterOperation
资源,您可以执行以下集群运维操作:
AddZones
:向集群添加可用区DeleteZones
:从集群删除可用区AdjustReplicas
:调整可用区的副本数Upgrade
:升级 OceanBase 集群版本RestartOBServers
:重启指定的 OceanBase 服务器DeleteOBServers
:删除指定的 OceanBase 服务器ModifyOBServers
:修改指定 OceanBase 服务器的配置,包括 CPU、内存、存储类、存储容量、监控部署和 NFS 备份卷挂载SetParameters
:设置 OceanBase 集群参数
OBClusterOperation
资源是一个自定义资源,包含以下字段:
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBClusterOperation
metadata:
generateName: <op-name>- # OBClusterOperation 资源的名称将由 `kubectl create` 自动生成
namespace: <namespace>
spec:
obcluster: <obcluster-name> # 要操作的 OBCluster 资源的名称
type: <operation-type> # 操作类型,包括 AddZones、DeleteZones、AdjustReplicas、Upgrade、RestartOBServers、DeleteOBServers、ModifyOBServers、SetParameters
force: <force> # 是否强制执行操作,默认为 false
ttlDays: <ttlDays> # 保留操作记 录的天数,默认为 7 天
<configuration-for-operation>: # 操作的具体配置,不同操作类型的配置不同。字段名与操作类型相同,但需要将第一个大写字母替换为小写字母。例如,AddZones 操作的配置字段为 addZones
field1: value1
field2: value2
# ...
需要注意的是,只有与操作类型匹配的 具体配置才会生效,也就是说,如果操作类型为 AddZones
,则只有 addZones
字段会生效,其他的具体配置字段会被忽略。
OBClusterOperation
资源是一次性资源,这意味着操作完成后资源将自动删除。操作记录将保留 ttlDays
字段指定的时间。我们建议使用 kubectl create
命令创建 OBClusterOperation
资源,以避免应用重复名称的资源。该命令可以使用 generateName
字段自动生成资源名称,例如:
kubectl create -f path/to/obclusteroperation.yaml
运维操作示例
增加 OBZone
AddZones
类型操作的配置如下:
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBClusterOperation
metadata:
generateName: op-add-zones-
spec:
obcluster: test
type: AddZones
addZones:
- zone: zone2
replica: 1
- zone: zone3
replica: 1
删除 OBZone
DeleteZones
类型操作的配置如下:
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBClusterOperation
metadata:
generateName: op-delete-zones-
spec:
obcluster: test
type: DeleteZones
deleteZones:
- zone2
调整 OBZone 内节点数
AdjustReplicas
类型操作的配置如下:
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBClusterOperation
metadata:
generateName: op-adjust-replicas-
spec:
obcluster: test
type: AdjustReplicas
adjustReplicas:
- zones: [zone1]
to: 2
集群升级
Upgrade
类型操作的配置如下:
apiVersion: oceanbase.oceanbase.com/v1alpha1
kind: OBClusterOperation
metadata:
generateName: op-upgrade-
spec:
obcluster: test
type: AdjustReplicas
upgrade:
image: xxx/xxxxx