TimesTenScaleoutSpecSpec

TimesTenScaleoutSpecSpec appears in TimesTenScaleoutSpec.

The following table describes the syntax for TimesTenScaleoutSpecSpec. There are some fields of type quantity. The specified value is of the same format as Kubernetes resource limits. For example, 200Gi, 200G, 1000Mi, 1000M, and so on.

Note:

There are datum that are reserved for internal use and are not documented in this table. The names of these datum typically begin with zz. For example, zzTestInfo is reserved for internal use.

Table 17-7 TimesTenScaleoutSpecSpec

Field Type Description

additionalMemoryRequest

quantity

The amount of memory to request in addition to whatever is required for an element of the TimesTen database.

This memory is used for the TimesTen daemon, subdaemons, agents, and the Client/Server server.

This value is added to databaseMemorySize that was either specified by you or calculated. The sum is the memory request to Kubernetes.

The default is 2Gi.

agentGetTimeout

integer

Time in seconds that the Operator waits for an https GET request to be processed by the TimesTen agent. This includes the TCP and the TLS times as well as the time it takes for the TimesTen agent to implement the GET request.

The default is 60. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the Operator considers the agent to be down.

agentPostTimeout

integer

Time in seconds that the Operator waits for an https POST request to be processed by the TimesTen agent. This includes the TCP and the TLS times as well as the time it takes for the TimesTen agent to implement the POST request. The POST requests may take a long time and the time may be proportional to the size of the database. (An example is a POST request to duplicate a database from the active to the standby.)

The default is 600. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the Operator considers the POST request to have failed.

agentTcpTimeout

integer

Time in seconds that the Operator waits for a TCP handshake when communicating with the TimesTen agent.

The default is 10. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the Operator considers the agent to be down.

agentTlsTimeout

integer

Time in seconds that the Operator waits for a TLS (https) credential exchange when communicating with the TimesTen agent.

The default is 10. A value of 0 indicates that there is no timeout. If the timeout is exceeded, the Operator considers the agent to be down.

automaticMemoryRequests

boolean

Determines if the Operator attempts to set appropriate memory limits and requests for TimesTen Pods.

Valid values:
  • true (default): The Operator attempts to set memory limits and requests.

  • false: The Operator does not set memory limits and requests.

cacheCleanup

boolean

Determines if the metadata in the Oracle Database should be cleaned up when this TimesTenClassic object is deleted. Use for TimesTen Cache only.

Valid values:

  • true (or not specified): The metadata is cleaned up.

  • false: The metadata is not cleaned up.

See Dropping Oracle Database Objects Used by Cache Groups with Autorefresh in the Oracle TimesTen In-Memory Database Cache Guide.

daemonLogCPURequest

quantity

The amount of CPU requested for the daemonlog container.

The default is 200m (one-fifth of a CPU).

daemonLogMemoryRequest

quantity

The amount of memory requested for the daemonlog container.

The default is 200Mi.

daemonLogSidecar

boolean

Determines if a daemon log container is created in each TimesTen Pod. This container writes the TimesTen daemon logs (from ttmesg.log) to stdout. This causes Kubernetes to record these logs.

Valid values:

  • true (or not specified): A daemon log container is created.

  • false: A daemon log container is not created.

databaseCPURequest

Quantity

Specify this value to tell the Operator how much CPU your tt containers require. This includes CPU used by the TimesTen daemon, subdaemons, replication agents, cache agents, and the Client/Server server.

There is no default.

databaseMemorySize Quantity

You can specify this value to tell the Operator how much shared memory an element of your database requires.

If you specify a value, that value will be used. If you do not specify a value, the Operator attempts to determine the required size from the provided db.ini file.

If the Operator cannot determine the database size, the value 580911104 is used. This is the size required for a default database with a PermSize of 200Mbyte, rounded up to 2Mi. This may be useful for experimentation, but is likely insufficient for production purposes.

TimesTen recommends that you provide a db.ini file to the Operator by using a Configmap or Secret, and that you not specify databaseMemorySize.

Note:

If you provide a db.ini file by using an init container, you must specify databaseMemorySize.

dataStorageClassName

string

Name of the storage class that is used to request persistent volumes for the elements of the TimesTen database in the grid. If not specified, the default is the value of storageClassName.

dataStorageSelector

metav1.LabelSelector

When choosing to use a persistent volume to store the elements of a TimesTen database in the grid, the primary determinant of what volumes to use is the dataStorageClassName that you specify. You can optionally specify a label selector by using the dataStorageSelector field. This label selector further filters the set of volumes. See:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

dataStorageSize

string

Amount of storage to be provisioned for each element of the TimesTen database in the grid.

The default is 50Gi. This default value may be suitable when you are experimenting with the product or using it for demonstration purposes. However, in a production environment, consider choosing a value greater than 50Gi. The examples in this book assume a production environment and use a value of 250Gi.

dbConfigMap

array of strings

Name of one or more ConfigMaps to be included in a projected volume. This projected volume is mounted as /ttconfig in the TimesTen containers. If you do not specify dbConfigMap or dbSecret, you must place the metadata files into the /ttconfig directory by using other means. See Populate the /ttconfig Directory.

dbSecret

array of strings

Name of one or more Secrets to be included in a projected volume. This projected volume is mounted as /ttconfig in the TimesTen containers. If you do not specify dbSecret or dbConfigMap, you must place the metadata files into the /ttconfig directory by using other means. See Populate the /ttconfig Directory.

exporterCPURequest

quantity

The amount of CPU requested for the exporter container (if provisioned).

The default is 200m (one-fifth of a CPU).

exporterMemoryRequest

quantity

The amount of memory requested for the exporter container (if provisioned).

The default is 200Mi.

image

string

Name of the TimesTen image that is executed in the created containers.

There is no default. You must specify the name of the image.

imagePullPolicy

string

Determines if and when Kubernetes pulls the TimesTen image from the image repository.

Valid values:

  • Always

  • IfNotPresent (default)

  • Never

Note: Values are case sensitive.

imagePullSecret

string

Image pull secret that is used to authenticate and give permission to Kubernetes to fetch the specified TimesTen image from its image repository.

There is no default. You must specify the name of the image pull secret.

k

integer

K-Safety value for this TimesTen grid. This value determines the number of copies of data for your TimesTen database. This value also determines the number of StatefulSets that the TimesTen Operator creates. A StatefulSet provides the Pods that are used to implement a single data space in the grid. For example, if you set k to 2, the Operator creates two StatefulSets. One StatefulSet provides the Pods for the data instances in data space one. The second StatefulSet provides the Pods for the data instances in data space two. The Operator also creates a StatefulSet for the management instance and a StatefulSet for ZooKeeper.

The default is 2.

For more information on K-Safety, see K-Safety in the Oracle TimesTen In-Memory Database Scaleout User's Guide.

logStorageClassName

string

Name of the storage class that is used to request persistent volumes for the TimesTen database transaction log files. This field is optional and is valid only for data instances.

logStorageSelector

metav1.LabelSelector

When choosing to use a persistent volume to store the TimesTen transaction log files, the primary determinant of what volumes to use is the logStorageClassName that you specify. You can optionally specify a label selector by using the logStorageSelector field. This label selector further filters the set of volumes. Valid only for data instances. See:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

logStorageSize

string

Amount of storage to be provisioned for the TimesTen transaction log files. This value is for each element of the TimesTen database in the grid. Valid only for data instances.

memoryWarningPercent

integer

At runtime, if a container's memory usage is more than its percentage of its limit (both as reported by cgroups), the Operator generates Events to inform you of this occurrence.

The memory usage refers to the container's memory allocation.

The default is 90.

mgmtCPURequest

quantity

The amount of cpu requested for the tt container of management instances.

The default is 1.

mgmtMemoryRequest

quantity

The amount of memory requested for the tt container of management instances.

The default is 3Gi.

mgmtStorageClassName

string

Name of the storage class that is used to request persistent volumes for the database of the management instance. If not specified, the default is the value of storageClassName.

mgmtStorageSelector

metav1.LabelSelector

When choosing to use a persistent volume to store the database of the management instance, the primary determinant of what volumes to use is the mgmtStorageClassName that you specify. You can optionally specify a label selector by using the mgmtstorageSelector field. This label selector further filters the set of volumes. If you do not specify mgmtstorageSelector, the value is the value of StorageSelector. See:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

mgmtStorageSize

string

Amount of storage to be provisioned for the database of the management instance.

The default is 50Gi.

nReplicaSets

integer

Number of replica sets in the grid. A replica set contains k elements (where each element is an exact copy of the other elements in the replica set). The nReplicaSets value also determines the number of replicas for each StatefulSet. For example, if you set k to 2, the TimesTen Operator creates two StatefulSets for the data instances. If you set nReplicaSets to 3, each StatefulSet contains three replicas, and the total number of replica sets in the grid is three.

The default is 1.

For more information on replica sets, see Understanding Replica Sets in the Oracle TimesTen In-Memory Database Scaleout User's Guide.

nZookeeper

integer

Number of ZooKeeper Pods to provision in a StatefulSet.

Valid values:

  • 1

  • 3 (default)

  • 5

pollingInterval

integer

Determines how often (expressed in seconds) that the Operator checks the status of the TimesTenScaleout object. For example, if you set this value to 10, the Operator checks the status of the TimesTenScaleout object every ten seconds.

The value must be a positive integer (greater than 0). The default is 5.

prometheus

TimesTenScaleoutSpecSpecPrometheus

Determines if the TimesTen Exporter is deployed. If specified, the Exporter is deployed. The datum for the prometheus object are defined in TimesTenScaleoutSpecSpecPrometheus.

reexamine

string

When a TimesTenScaleout object is in the ManualInterventionRequired state, the Operator examines the reexamine value every pollingInterval seconds. If the value has changed since the last iteration for this object, the Operator reexamines the TimesTenScaleout object and attempts to resume management of the object.

replicaSetRecovery

string

Controls the behavior of the Operator when a total replica set failure occurs.

Valid values:

  • Restart (default): The Operator forcibly unloads and reloads the database when a total replica set failure occurs.

  • Manual: The Operator changes the state of the TimesTenScaleout object to ManualInterventionRequired when a total replica set failure occurs.

stopManaging

string

If you change the value of stopManaging for the TimesTenScaleout object, the Operator places the object in the ManualInterventionRequired state.

storageClassName

string

Name of the storage class that is used to request persistent volumes for the TimesTen database.

If the value for storageClassName is the same as the value for dataStorageClassName, for mgmtStorageClassName, and for zookeeperStorageClassName, you can just specify storageClassName. In this case, the value for dataStorageClassName, for mgmtStorageClassName, and for zookeeperStorageClassName is set to the value of storageClassName.

storageSelector

metav1.LabelSelector

When choosing to use a persistent volume to store an element of a TimesTen database in a grid, the primary determinant of what volumes to use is the StorageClassName that you specify. You can optionally specify a label selector by using the storageSelector field. This label selector further filters the set of volumes.

If the value for storageSelector is the same as the value for dataStorageSelector, for mgmtStorageSelector, and for zookeeperStorageSelector, you can just specify storageSelector. In this case, the value for dataStorageSelector, for mgmtStorageSelector, and for zookeeperStorageSelector is set to the value of storageSelector. See:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

storageSize

string

Amount of storage to be used for each element of a TimesTen database in the grid.

If the value for storageSize is the same as the value for dataStorageSize, for mgmtStorageSize, and for zookeeperStorageSize, you can just specify storageSize. In this case, the value for dataStorageSize, for mgmtStorageSize, and for zookeeperStorageSize is set to the value of storageSize.

The default is 50Gi.

For information on determining the amount of storage needed for TimesTen, see Storage Provisioning for TimesTen in the Oracle TimesTen In-Memory Database Operations Guide .

zookeeperCPURequest

quantity

The amount of cpu requested for the zookeeper container of Zookeeper Pods.

The default is 500m.

zookeeperMemoryRequest

quantity

The amount of memory requested for the zookeeper container of Zookeeper Pods.

The default is 1Gi.

zookeeperStorageClassName

string

Name of the storage class that is used to request persistent volumes for ZooKeeper's persistent data.

If not specified, the default is the value of storageClassName.

zookeeperStorageSelector

metav1.LabelSelector

When choosing to use a persistent volume to store ZooKeeper's persistent data, the primary determinant of what volumes to use is the zookeeperStorageClassName that you specify. You can optionally specify a label selector by using the zookeeperStorageSelector field. This label selector further filters the set of volumes. See:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/#selector

zookeeperStorageSize

string

Amount of storage to be provisioned for ZooKeeper's persistent data .

The default is 50Gi.