5.5 NdbClusterSpec 资源

NdbClusterSpec 定义 NDB 集群的期望状态。它被 NdbCluster 使用。

NdbClusterSpec 包含以下列表中命名和描述的字段

  • redundancyLevel (整数):NDB 集群存储的数据副本或数据副本的数量。支持的值为 1、2、3 和 4。

    冗余级别 1 在节点故障时不提供容错能力,因此不建议使用。如果冗余级别为 2 或更高,则即使在节点发生故障的情况下,集群也可以继续处理客户端请求;这是默认值,建议用于大多数部署。冗余级别 3(或 4)提供额外的保护,但通常没有必要。

    当冗余级别设置为 1 时,会创建一个管理服务器。对于值 2 或更高,将使用两个管理服务器。

    重要

    创建 NDB 集群后,可以更改此值,但这非常困难且耗时。除非您确定需要为冗余级别使用不同的值,否则建议您使用默认值 (2)。

    有关更多信息,请参阅 NDB 8.4 文档中对 NoOfReplicas 数据节点配置参数以及 NDB 集群节点、节点组、片段副本和分区 的描述。

  • managementNode (NdbManagementNodeSpec): (可选) 指定在 MySQL 集群中运行的管理节点的配置。

  • dataNode (字符串): (可选) 要传递给数据节点的配置参数。包含使用 paramName: paramValue 格式的一行或多行。

    示例

    spec:
    ...
      dataNode:
        # Specified in paramName: paramValue format
        DataMemory: 100M
        MaxNoOfTables: 1024
        MaxNoOfConcurrentOperations: 409600
        Arbitration: WaitExternal

    NDB 集群数据节点配置参数 提供了 NDB 集群数据节点配置参数的快速参考。

  • mysqlNode (NdbMysqldSpec): (可选) 作为 NDB 集群 SQL 节点运行的任何 MySQL 服务器的规范。

    NDB Operator 要求在 NDB 集群中至少运行一个 MySQL 服务器以进行内部操作。如果未指定,则运算符默认将一个 MySQL 服务器添加到规范中。

  • freeAPISlots (整数): (可选) 除了 NDB Operator 为 MySQL 服务器隐式声明的任何 API 部分之外,在 NDB 集群配置中声明的额外 API 部分的数量。任何 NDB API 应用程序都可以使用其中一个空闲插槽连接到 NDB 集群。

  • tdeSecretName (字符串): (可选) 保存 NDB 集群中透明数据加密 (TDE) 所需的加密密钥或密码的密钥的名称。如果提供了值,则 NDB Operator 将启用 TDE,并使用存储在密钥中的密码作为集群中所有数据节点的文件系统密码。如果未提供任何值,则不会启用 TDE。

  • image (字符串): (可选) 要使用的 MySQL NDB 集群镜像的名称。如果未指定,则默认为 mysql/mysql-cluster:latest

    重要

    NDB Operator 支持的 NDB 集群的最低版本是 NDB 8.0.26。

  • imagePullPolicy (Kubernetes core/v1.PullPolicy): (可选) 描述是否以及何时提取 MySQL NDB 集群容器镜像的策略。

  • imagePullSecretName (字符串): (可选) 指定保存提取 MySQL 集群镜像所需的凭据的密钥的名称。