NDB Operator 9.0 手册  /  NDB Operator CRD 参考  /  NdbClusterSpec 资源

5.5 NdbClusterSpec 资源

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

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

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

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

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

    重要

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

    有关更多信息,请参阅 NDB 8.3 文档中对 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 要求至少有一个 MySQL 服务器在 NDB 集群中运行,以进行内部操作。如果未指定,则操作员默认情况下会将一个 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 集群镜像所需的凭据的密钥的名称。