配置参数

查看 Github 文档

容器配置

参数描述默认值
MysqlVersionMySQL 版本号5.7
MysqlOpts.RootPasswordMySQL Root 用户密码""
MysqlOpts.User默认新建的 MySQL 用户名称radondb_usr
MysqlOpts.Password默认新建的 MySQL 用户密码RadonDB@123
MysqlOpts.Database默认新建的 MySQL 数据库名称radondb
MysqlOpts.InitTokuDB是否启用TokuDBtrue
MysqlOpts.MysqlConfMySQL 配置-
MysqlOpts.ResourcesMySQL 容器配额预留: cpu 100m, 内存 256Mi;
限制: cpu 500m, 内存 1Gi
XenonOpts.Imagexenon(高可用组件)镜像radondb/xenon:1.1.5-alpha
XenonOpts.AdmitDefeatHearbeatCount允许的最大心跳检测失败次数5
XenonOpts.ElectionTimeout选举超时时间(单位为毫秒)10000ms
XenonOpts.Resourcesxenon 容器配额预留: cpu 50m, 内存 128Mi;
限制: cpu 100m, 内存 256Mi
MetricsOpts.Enabled是否启用 Metrics(监控)容器false
MetricsOpts.ImageMetrics 容器镜像prom/mysqld-exporter:v0.12.1
MetricsOpts.ResourcesMetrics 容器配额预留: cpu 10m, 内存 32Mi;
限制: cpu 100m, 内存 128Mi

节点配置

参数描述默认值
Replicas集群节点数,只允许为0、2、3、53
PodPolicy.ImagePullPolicy镜像拉取策略, 只允许为 Always/IfNotPresent/NeverIfNotPresent
PodPolicy.Labels节点 pod 标签-
PodPolicy.Annotations节点 pod 注解-
PodPolicy.Affinity节点 pod 亲和性-
PodPolicy.PriorityClassName节点 pod 优先级 对象名称-
PodPolicy.Tolerations节点 pod 污点容忍度 列表-
PodPolicy.SchedulerName节点 pod 调度器 名称-
PodPolicy.ExtraResources节点容器配额(除 MySQL 和 Xenon 之外的容器)预留: cpu 10m, 内存 32Mi
PodPolicy.SidecarImageSidecar 镜像radondb/mysql-sidecar:latest
PodPolicy.BusyboxImageBusybox 镜像busybox:1.32
PodPolicy.SlowLogTail是否开启慢日志跟踪false
PodPolicy.AuditLogTail是否开启审计日志跟踪false

持久化配置

参数描述默认值
Persistence.Enabled是否启用持久化true
Persistence.AccessModes存储卷访问模式ReadWriteOnce
Persistence.StorageClass存储卷类型-
Persistence.Size存储卷容量10Gi

配置示例

apiVersion: mysql.radondb.com/v1alpha1
kind: MysqlCluster
metadata:
  name: sample
spec:
  replicas: 3
  mysqlVersion: "5.7"
  
  # the backupSecretName specify the secret file name which store S3 information,
  # if you want S3 backup or restore, please create backup_secret.yaml, uncomment below and fill secret name:
  # backupSecretName: 
  
  # if you want create mysqlcluster from S3, uncomment and fill the directory in S3 bucket below:
  # restoreFrom: 
  
  mysqlOpts:
    rootPassword: "RadonDB@123"
    rootHost: localhost
    user: radondb_usr
    password: RadonDB@123
    database: radondb
    initTokuDB: true

    # A simple map between string and string.
    # Such as:
    #    mysqlConf:
    #      expire_logs_days: "7"
    mysqlConf: {}

    resources:
      requests:
        cpu: 100m
        memory: 256Mi
      limits:
        cpu: 500m
        memory: 1Gi

  xenonOpts:
    image: radondb/xenon:1.1.5-alpha
    admitDefeatHearbeatCount: 5
    electionTimeout: 10000

    resources:
      requests:
        cpu: 50m
        memory: 128Mi
      limits:
        cpu: 100m
        memory: 256Mi

  metricsOpts:
    enabled: false
    image: prom/mysqld-exporter:v0.12.1

    resources:
      requests:
        cpu: 10m
        memory: 32Mi
      limits:
        cpu: 100m
        memory: 128Mi

  podPolicy:
    imagePullPolicy: IfNotPresent
    sidecarImage: radondb/mysql-sidecar:latest
    busyboxImage: busybox:1.32

    slowLogTail: false
    auditLogTail: false

    labels: {}
    annotations: {}
    affinity: {}
    priorityClassName: ""
    tolerations: []
    schedulerName: ""
    # extraResources defines quotas for containers other than mysql or xenon.
    extraResources:
      requests:
        cpu: 10m
        memory: 32Mi

  persistence:
    enabled: true
    accessModes:
    - ReadWriteOnce
    #storageClass: ""
    size: 20Gi