About Deploying a TimesTen Scaleout Grid and Database
When you create a TimesTenScaleout object in the Kubernetes cluster, the process to create and configure the TimesTen Scaleout grid and its associated database begins. Kubernetes informs the TimesTen Operator that a TimesTenScaleout object has been created. The Operator begins the process of creating several Kubernetes objects that are required to deploy the grid.
StatefulSets
-
One StatefulSet that provides the management instance for the grid. The underlying Pod for this management instance is also created.
-
One StatefulSet that provides one or more ZooKeeper instances. There is one StatefulSet replica for each Zookeeper instance. For example, if there are three ZooKeeper instances, there is one StatefulSet and this one StatefulSet has three replicas.
-
One or more additional StatefulSets, the number of which is determined by your K-Safety (
k
) value. For example, ak
value of2
means that there are two copies of your TimesTen database. One copy of your database resides in data space one, and the second copy in data space two. In the Kubernetes environment, the TimesTen Operator createsk
StatefulSets. Using the previous example, ifk
is set to2
, the Operator creates two StatefulSets. Each of thek
StatefulSets provides Pods to implement a single data space in the resultant grid.The number of replicas for each StatefulSet is determined by the number of replica sets you want in your grid. A replica set contains
k
elements, where each element in the replica set is an exact copy of the other elements in the replica set. For example, if you want three replica sets in your grid, each StatefulSet has three replicas. Each replica contains a Pod for one data instance. Therefore, in this example, one StatefulSet has three Pods each of which contain one data instance. The second StatefulSet (assumingk=2
) also has three replicas and each replica also contains a Pod for one data instance. Therefore, the second StatefulSet has three Pods each of which contain one data instance.In summary, in a case where
k
is set to2
and the number of replica sets is3
, the Operator creates two StatefulSets, each with three replicas. Each StatefulSet provides the Pods to implement a single data space. There are a total of six Pods created for the six data instances.
Services
-
One headless Service that provides DNS names for the Pods that contain the management and data instances. This Service enables client/server access to the Pods using the TimesTen client/server port
6625
. -
One headless Service that provides DNS names for the Pods that contain the ZooKeeper instances. This Service enables access to the Zookeeper internal ports
2888
and3888
, as well as the external port2181
.
Secret
The TimesTen Operator creates a Secret to inject an SSL certificate into the TimesTen containers. This secures the communication between the TimesTen Operator and the TimesTen Agent.
Persistent Volume Claims and Pods
The TimesTen Operator creates Persistent Volume Claims (PVCs) for the TimesTen and ZooKeeper Pods. These PVCs cause persistent volumes to be allocated by Kubernetes and attached to the TimesTen and ZooKeeper Pods. See Persistent Storage.
Each Pod that runs a ZooKeeper instance consists of a single container called zookeeper
.
-
tt
container: Runs the TimesTen Agent and TimesTen. -
daemonlog
container: Writes the TimesTen daemonlog to stdout. This enables the daemon log of the TimesTen instances to be recorded by the Kubernetes infrastructure.
As the tt
containers in the TimesTen Pods start, the Operator assembles them into a working grid.
Password-less ssh
A TimesTen Scaleout grid relies on password-less ssh among the instances of the grid. The TimesTen Operator automatically configures password-less ssh among the tt
containers in the grid in your Kubernetes environment. There is no intervention that you need to do.
Quick Rollout
The TimesTen Kubernetes Operator provides the functionality for deploying TimesTen Scaleout grids and their associated databases. The TimesTen Operator rolls out the grid quickly and proficiently.
The Operator creates the StatefulSets and Services that are required to deploy the grid. It creates the ZooKeeper Pods. When the TimesTen Agent in the management Pod starts up, the Operator instructs the agent to create a TimesTen instance and grid. The Operator waits for all of the TimesTen agents in all of the Pods to start. Once all of the agents have started, the Operator instructs the agent in the management instance to create the hosts, the installations, and the instances in the grid's model for the data instances in the grid. The DbDef
is created as are any direct and client/server connectables. The model is applied and the data instances of the grid are created.
The Operator instructs the management instance to create the database and to create the initial distribution map. The Operator then instructs the TimesTen agent in one data instance to run the TimesTen ttIsql
utility to create initial database users and objects.
The grid and databases are created. The TimesTen agent opens the database for connections.
The grid rollout is quick and proficient with little or no intervention from you. Once the grid is rolled out, the TimesTen Operator does not manage the grid or database or perform maintenance operations.
-
For information about TimesTen Scaleout: See Overview of TimesTen Scaleout in the Oracle TimesTen In-Memory Database Scaleout User's Guide.
- For information about deploying a TimesTen Scaleout grid and database in Kubernetes: See Deploy TimesTen Scaleout Databases in this book.