NdbClusterSpec
defines the desired state of an
NDB Cluster. It is used by
NdbCluster
.
NdbClusterSpec
contains the fields named and
described in the following list:
-
redundancyLevel
(integer): The number of data replicas or copies of data stored by NDB Cluster. Supported values are 1, 2, 3, and 4.A redundancy level of 1 provides no fault tolerance in case of node failure, and is not recommended. With a redundancy level of 2 or higher, the cluster can continue to serve client requests even in the event of node failures; this is the default value, recommended for most deployments. A redundancy level of 3 (or 4) provides additional protection, but is usually not necessary.
One management server is created when the redundancy level is set to 1. For a value of 2 or higher, two management servers are used.
ImportantOnce an NDB Cluster has been created, it is possible but quite difficult and time-consuming to change this value. Unless you are sure that you need a different value for the redundancy level, it is recommended that you use the default (2).
For more information, see the description of the
NoOfReplicas
data node configuration parameter, as well as NDB Cluster Nodes, Node Groups, Fragment Replicas, and Partitions, in the NDB 8.4 documentation. managementNode
(NdbManagementNodeSpec
): (optional) Specifies the configuration of the management node running in MySQL Cluster.-
dataNode
(string): (optional) Configuration parameters to pass to the data nodes. Consists of one or more lines using the format
.paramName
:paramValue
Example:
spec: ... dataNode: # Specified in paramName: paramValue format DataMemory: 100M MaxNoOfTables: 1024 MaxNoOfConcurrentOperations: 409600 Arbitration: WaitExternal
NDB Cluster Data Node Configuration Parameters, provides a quick reference to NDB Cluster data node configuration parameters.
-
mysqlNode
(NdbMysqldSpec
): (optional) Specification for any MySQL Servers run as NDB Cluster SQL nodes.NDB Operator requires at least one MySQL Server running in the NDB Cluster for internal operations. If none is specified, the operator by default adds one MySQL Server to the specification.
freeAPISlots
(integer): (optional) The number of extra API sections declared in the NDB Cluster configuration in addition to any declared implicitly by NDB Operator for MySQL servers. Any NDB API application can connect to the NDB Cluster using one of these free slots.tdeSecretName
(string): (optional) The name of the secret that holds the encryption key or password required for transparent data encryption (TDE) in NDB Cluster. If a value is provided, NDB Operator enables TDE and uses the password stored in the secret as the file system password for all data nodes in the cluster. If no value is provided, TDE is not enabled.-
image
(string): (optional) The name of the MySQL NDB Cluster image to be used. If not specified, this defaults tomysql/mysql-cluster:latest
.ImportantThe minimum version of NDB Cluster supported by NDB Operator is NDB 8.0.26.
imagePullPolicy
(Kubernetes core/v1.PullPolicy): (optional) Describes a policy for if and when to pull the MySQL NDB Cluster container image.imagePullSecretName
(string): (optional) Specifies the name of the secret that holds the credentials required for pulling the MySQL Cluster image.