跳到主要内容

配置 ob-operator

本文介绍 ob-operator 的启动参数和使用到的环境变量以及修改方法。用户可通过改变启动参数和环境变量影响 ob-operator 的行为。

启动参数

参数名含义默认值deploy 配置
namespace监听的命名空间,留空表示监听所有命名空间
manager-namespaceob-operator 运行的命名空间oceanbase-systemoceanbase-system
metrics-bind-addressob-operator 提供 Prometheus 指标的服务端口:8080127.0.0.1:8080
health-probe-bind-addressob-operator 进程健康探针绑定端口:8081:8081
leader-elect启动 ob-operator 时是否采用选主流程falsetrue
log-verbosity日志输出量,为 0 输出关键信息,为 1 输出调试信息,为 2 输出溯源信息00

环境变量

环境变量名含义deploy 配置
TELEMETRY_REPORT_HOST遥测采集数据收集端https://openwebapi.oceanbase.com
TELEMETRY_DEBUG设置为 true 可开启遥测采集调试模式
DISABLE_WEBHOOKS设置为 true 可禁用 webhooks 校验
DISABLE_TELEMETRY设置为 true 可禁用遥测采集模块,遥测采集模块会采集集群环境和事件信息脱敏后发送给 OceanBase,期望通过这些数据帮助改善 ob-operator
OB_OPERATOR_DATABASE_CONNECTIONLRUCACHESIZE数据库连接 LRU 缓存大小。默认值为 1000。
OB_OPERATOR_RESOURCE_DEFAULTDISKEXPANDPERCENT默认磁盘扩容百分比。默认值为 10。
OB_OPERATOR_RESOURCE_DEFAULTLOGPERCENT默认日志磁盘使用百分比。默认值为 80。
OB_OPERATOR_RESOURCE_INITIALDATADISKUSEPERCENT初始数据磁盘使用百分比。默认值为 20。
OB_OPERATOR_RESOURCE_DEFAULTDISKUSEPERCENT默认磁盘使用百分比。默认值为 95。
OB_OPERATOR_RESOURCE_DEFAULTMEMORYLIMITPERCENT默认内存限制百分比。默认值为 90。
OB_OPERATOR_RESOURCE_DEFAULTMEMORYLIMITSIZE默认内存限制大小。默认值为 0M。
OB_OPERATOR_RESOURCE_DEFAULTDATAFILEMAXSIZE默认数据文件最大大小。默认值为 0M。
OB_OPERATOR_RESOURCE_DEFAULTDATAFILENEXTSIZE默认数据文件增长大小。默认值为 1G。
OB_OPERATOR_RESOURCE_MINMEMORYSIZE最小内存大小。默认值为 8Gi。
OB_OPERATOR_RESOURCE_MINDATADISKSIZE最小数据磁盘大小。默认值为 30Gi。
OB_OPERATOR_RESOURCE_MINREDOLOGDISKSIZE最小 Redo 日志磁盘大小。默认值为 30Gi。
OB_OPERATOR_RESOURCE_MINLOGDISKSIZE最小日志磁盘大小。默认值为 10Gi。
OB_OPERATOR_TIME_TENANTOPRETRYTIMES租户操作重试次数。默认值为 9。
OB_OPERATOR_TIME_TENANTOPRETRYGAPSECONDS租户操作重试间隔(秒)。默认值为 9。
OB_OPERATOR_TIME_TASKMAXRETRYTIMES任务最大重试次数。默认值为 99。
OB_OPERATOR_TIME_TASKRETRYBACKOFFTHRESHOLD任务重试退避阈值。默认值为 16。
OB_OPERATOR_TIME_PROBECHECKPERIODSECONDS探针检查周期(秒)。默认值为 2。
OB_OPERATOR_TIME_PROBECHECKDELAYSECONDS探针检查延迟(秒)。默认值为 5。
OB_OPERATOR_TIME_GETCONNECTIONMAXRETRIES获取连接最大重试次数。默认值为 100。
OB_OPERATOR_TIME_CHECKCONNECTIONINTERVAL检查连接间隔(秒)。默认值为 3。
OB_OPERATOR_TIME_CHECKJOBINTERVAL检查 Job 间隔(秒)。默认值为 3。
OB_OPERATOR_TIME_CHECKJOBMAXRETRIES检查 Job 最大重试次数。默认值为 100。
OB_OPERATOR_TIME_COMMONCHECKINTERVAL通用检查间隔(秒)。默认值为 5。
OB_OPERATOR_TIME_BOOTSTRAPTIMEOUTSECONDS引导超时时间(秒)。默认值为 2100。
OB_OPERATOR_TIME_LOCALITYCHANGETIMEOUTSECONDSLocality 变更超时时间(秒)。默认值为 86400。
OB_OPERATOR_TIME_DEFAULTSTATEWAITTIMEOUT默认资源状态变化等待超时时间(秒)。默认值为 1800。
OB_OPERATOR_TIME_TIMECONSUMINGSTATEWAITTIMEOUT耗时任务资源状态变化等待超时时间(秒)。默认值为 3600。
OB_OPERATOR_TIME_WAITFORJOBTIMEOUTSECONDS等待 Job 超时时间(秒)。默认值为 7200。
OB_OPERATOR_TIME_SERVERDELETETIMEOUTSECONDSServer 删除超时时间(秒)。默认值为 604800。
OB_OPERATOR_TIME_TOLERATESERVERPODNOTREADYMINUTES容忍 Server Pod 未就绪时间(分钟)。默认值为 5。
OB_OPERATOR_TIME_DEFAULTSQLTIMEOUTSECONDS默认 SQL 超时时间(秒)。默认值为 60。
OB_OPERATOR_TIME_TENANTSQLTIMEOUTSECONDS租户 SQL 超时时间(秒)。默认值为 600。
OB_OPERATOR_TIME_TENANTRESTORETIMEOUTSECONDS租户恢复超时时间(秒)。默认值为 600。
OB_OPERATOR_TIME_POLLINGJOBSLEEPTIMESECONDS轮询 Job 睡眠时间(秒)。默认值为 1。

修改方法

使用 deploy/operator.yaml 中的配置文件,找到名为 oceanbase-controller-managerDeployment 资源,在其容器列表中修改名为 manager 容器的启动参数和环境变量,下面截取 deploy/operator.yaml 中该部分为例。

      # 原本的配置
containers:
- args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=:8080
- --leader-elect
- --manager-namespace=oceanbase-system
- --log-verbosity=0
command:
- /manager
env:
- name: TELEMETRY_REPORT_HOST
value: https://openwebapi.oceanbase.com

示例:增大日志输出量

如果用户希望增加 ob-operator 的日志输出量,可增大 log-verbosity 参数到 1 或者 2,值越大输出的日志越多。

      # 修改后的配置
containers:
- args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=:8080
- --leader-elect
- --manager-namespace=oceanbase-system
- --log-verbosity=2 # 日志输出量增大到 2
command:
- /manager
env:
- name: TELEMETRY_REPORT_HOST
value: https://openwebapi.oceanbase.com

示例:指定资源命名空间

      # 修改后的配置
containers:
- args:
- --health-probe-bind-address=:8081
- --metrics-bind-address=:8080
- --leader-elect
- --manager-namespace=oceanbase-system
- --log-verbosity=0
- --namespace=oceanbase # 限定 ob-operator 只监听命名空间为 oceanbase 内的资源
command:
- /manager
env:
- name: TELEMETRY_REPORT_HOST
value: https://openwebapi.oceanbase.com

应用到集群中

修改完成后通过 kubectl apply -f deploy/operator.yaml 将配置文件应用到集群中即可生效。环境变量的配置方法与启动参数相同,本文不再赘述。