NdbMysqldSpec is the specification for any
MySQL Servers to be run as NDB Cluster SQL nodes. Used by
nodeCount(integer): The number of SQL nodes (that is, MySQL servers or instances of mysqld) running in the NDB Cluster.
maxNodeCount(integer): (optional) The NDB Cluster's MySQL servers scale up to this number without forcing a configuration update. If this is unspecified, NDB Operator includes API sections for additional MySQL Servers in the configuration file.
connectionPoolSize(integer): (optional) This is the number of connections a single MySQL Server should use to connect to the MySQL Cluster data nodes. See the description of the mysqld
--ndb-cluster-connection-pooloption for further information.
rootPasswordSecretName(string): (optional) The name of the secret that holds the password for the MySQL root accounts. The secret should contain a
passwordkey that holds the password. If unspecified, a secret is created by the operator with a generated name in the format
rootHost(string): (optional) Names the host or hosts from which the root user can connect to the MySQL server. If unspecified, the root user can connect from any host that can access the MySQL server.
myCnf(string): (optional) mysqld configuration options to pass to the SQL nodes when they are started.
myCnf: | [mysqld] max-user-connections=42 ndb-extra-logging=10
The format used for the configuration string is similar to that used in a MySQL
my.cnffile. See Option File Syntax, for more information. MySQL Server Options and Variables for NDB Cluster, provides a reference of MySQL Server configuration options specific to NDB Cluster.
bool): (optional) Exposes the MySQL servers externally using the Kubernetes cloud provider's load balancer. By default, the operator creates a ClusterIP type service to expose the MySQL server pods internally within the Kubernetes cluster. If
EnableLoadBalanceris set to true, a
LoadBalancerservice is created instead, exposing the MySQL servers outside the Kubernetes cluster.
NdbClusterPodSpec): (optional) A subset of
PodSpecfields which, when set, are copied into to the podSpec of the MySQL server's
map[string]string): (optional) A map of
configMapnames from the same namespace, and, optionally, an array of keys which store the SQL scripts to be executed during MySQL server initialization. If key names are omitted, contents of all the keys are treated as initialization SQL scripts. All scripts are mounted into the MySQL pods and executed by
configMapname and key name, in alphabetical order.
PersistentVolumeClaimSpecused as the
VolumeClaimTemplateof the MySQL server
StatefulSet. A PVC is created for each MySQL server by the
StatefulSetcontroller and loaded into the MySQL server pod and the container.
See also Defining SQL and Other API Nodes in an NDB Cluster.