About Defining TimesTenClassic Objects

The TimesTenClassic object type provides the metadata and attributes to define and create TimesTen Classic databases in your Kubernetes namespace. The metadata and attributes are applicable to replicated and non-replicated configurations. To distinguish the two configurations, the TimesTenClassic object type provides the .spec.ttspec.replicationTopology datum. The value of the .spec.ttspec.replicationTopology datum determines whether the TimesTen Operator configures a replicated active standby pair configuration or a non-replicated configuration. Valid values for .spec.ttspec.replicationTopology are as follows:
  • activeStandbyPair (or not specified): The TimesTen Operator configures a replicated active standby pair of TimesTen Classic databases.

  • none: The TimesTen Operator configures one or more non-replicated TimesTen Classic databases. Each database operates independently and there is no TimesTen replication used.

For non-replicated configurations, with .spec.ttspec.replicationTopology set to none, the TimesTenClassic object provides additional datum to assist in your customization:
  • replicas: Determines the number of Pods to be deployed. For example, if you set replicas to 3, there are three Pods, each containing a TimesTen database.

  • rollingUpdatePartition: Determines how many databases are upgraded. See Perform Upgrades.

For more information about the TimesTenClassic object type, see About the TimesTenClassic Object Type.

Let's review two YAML files that contain definitions for replicated and non-replicated TimesTenClassic objects. These are simplistic in nature. There are many more customizations available to you:
  • Replicated:
    apiVersion: timesten.oracle.com/v2
    kind: TimesTenClassic
    metadata:
      name: repsample
    spec:
      ttspec:
        storageClassName: oci-bv
        storageSize: 250Gi
        image: container-registry.oracle.com/timesten/timesten:22.1.1.27.0
        imagePullSecret: sekret
        dbConfigMap:
        - repsample
  • Non-replicated:
    apiVersion: timesten.oracle.com/v2
    kind: TimesTenClassic
    metadata:
      name: norepsample
    spec:
      ttspec:
        storageClassName: oci-bv
        storageSize: 250Gi
        image: container-registry.oracle.com/timesten/timesten:22.1.1.27.0
        imagePullSecret: sekret
        replicationTopology: none
        replicas: 3
        dbConfigMap:
        - norepsample
    

    The following customizations apply to both configurations:

    • storageClassName and storageSize: Since TimesTen is a database and is persistent, you have to specify a storage class, which is used to request persistent volumes for the database. The storageSize datum determines the amount of storage to be provisioned for TimesTen and its database.

    • image: You have to specify the container registry that contains the TimesTen container image. This image runs a specific release of TimesTen.

    • imagePullSecret: You have to specify a Kubernetes Secret that authenticates Kubernetes to pull a TimesTen container image from the specified container registry. You created this Secret in Part 2: Choose a Container Registry for Your Kubernetes Cluster.

    • dbConfigMap: Optionally, you can specify one or more ConfigMaps that contain the metadata files for your TimesTen databases. See Use Configuration Metadata.

    The following customizations are specific to the type of configuration:
    • replicationTopology: A value of none indicates a non-replicated configuration. Since the default replicationTopology is activeStandbyPair, you do not need to specify replicationTopology for replicated configurations.

      replicas: This datum is specific to non-replicated configurations.

In addition to the many options for customizing your TimesTenClassic object and your TimesTen configuration, the TimesTen Operator provides metadata files that enable you to customize and define the configuration for your TimesTen databases. These files include db.ini, adminUser, cacheUser, schema,sql, cachegroups.sql, and others. The TimesTen Operator provides several methods for you to make those files available to the TimesTen Operator and TimesTen. For details, see Use Configuration Metadata.