Option 1: Use the Official TimesTen Container Images

This option uses an official TimesTen container image on the Oracle Container Registry located at https://container-registry.oracle.com. There are two TimesTen repositories located on the Oracle Container Registry called timesten and timesten-xe. The timesten repository contains official container images for Oracle TimesTen In-Memory Database. The timesten-xe repository contains official container images for Oracle TimesTen In-Memory Database Express Edition (TimesTen XE) TimesTen XE.

To view the list of TimesTen container images in these repositories, navigate to the Oracle Container Registry at https://container-registry.oracle.com. In the Search Oracle Container Registry field, enter timesten. Next press Enter. You can then choose either the timesten or the timesten-xe repository. The examples in this chapter and throughout the book use the timesten repository for the TimesTen container images.

The predefined values in this image are as follows. You cannot change these values:
  • timesten: The name of the Linux user and the Linux group that is created in the container image. The Linux user is the user who runs TimesTen. The Linux group is the TimesTen users group.

  • 3429: The numeric UID and GID of the timesten user and the TimesTen users group.

Let's walk through the tasks to obtain and use a TimesTen container image located in the timesten repository on Oracle Container Registry.

Accept the Oracle TimesTen License Agreement

You need to complete the steps in this section one time. If you have previously accepted the Oracle TimesTen license agreement and created your Kubernetes Secret, proceed to Obtain the TimesTen Operator Manifest Files from the Official TimesTen Image.

The official TimesTen container images are located on the Oracle Container Registry at https://container-registry.oracle.com/. To use a licensed Oracle software image such as TimesTen, you must log into the Oracle Container Registry web interface and accept the Oracle Standard Terms and Restrictions for the image. After you complete the following steps, you can reference the official TimesTen container image in your YAML manifest files.

Note:

There are a list of TimesTen images available in the container-registry.oracle.com/timesten repository. Choose the image you want to use. The examples in this book use various images. An example of a TimesTen container image is container-registry.oracle.com/timesten/timesten:22.1.1.19.0.
  1. In a web browser, using your Oracle Account, log into the Oracle Container Registry located at https://container-registry.oracle.com/.
  2. On the Oracle Container Registry page, in the Browse Containers section, click TimesTen.
  3. On the TimesTen Repositories page, in the Repository column, choose timesten.
  4. On the Official container images for the Oracle TimesTen In-Memory Database page, to the right of the Quick Reference Description, locate the Select Language drop down list. In the Select Language drop down list, choose your language. Then, review the text before the Continue button and click Continue.

    The text that is displayed before the Continue button is similar to the following: "You must agree to and accept the Oracle Standard Terms and Restrictions prior to downloading from the Oracle Container Registry. Please read the license agreement on the following page carefully."

  5. On the Oracle Standard Terms and Restrictions page, review the information on the page, then at the bottom of the page, click Accept.
    The Official container images for the Oracle TimesTen In-Memory Database page displays for a second time. To the right of the Quick Reference Description, look for a green check mark with text similar to the following: "You last accepted the Oracle Standard Terms and Restrictions on 01/08/2023 at 01:28 PM Coordinated Universal Time (UTC)."
  6. On your development host, use the docker login command to authenticate against the Oracle Container Registry, using the same Oracle Account you used to log into the Oracle Container Registry web interface.
    docker login container-registry.oracle.com

    You are prompted to enter your Oracle Account and password.

    The text is similar to the following:
    Username (oracleuser@oracle.com):
    Password:
    WARNING! Your password will be stored unencrypted in /home/oracleuser/.docker/config.json.
    Configure a credential helper to remove this warning. See
    https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    
    Login Succeeded
  7. Create the image pull secret for container-registry.oracle.com.
    kubectl create secret generic sekret \
    --from-file=.dockerconfigjson=$HOME/.docker/config.json \
    --type=kubernetes.io/dockerconfigjson

    Save the name of the image pull secret. You need it later when deploying your TimesTenClassic or TimesTenScaleout objects. See Define and Create a TimesTenClassic Object and Define and Deploy a TimesTenScaleout Object.

    For more information about creating a Kubernetes Secret, see Pulling Images from Registry during Deployment.

You have successfully logged into the Oracle Container Registry and accepted the Oracle Standard Terms and Conditions for the official TimesTen container image. You can now reference the TimesTen container image in your YAML manifest files. Proceed to Obtain the TimesTen Operator Manifest Files from the Official TimesTen Image.

Obtain the TimesTen Operator Manifest Files from the Official TimesTen Image

The TimesTen Operator manifest files are included within the official TimesTen container image. In this example, the official TimesTen container image is located in the timesten repository on the Oracle Container Registry.

For information about how to navigate to the official TimesTen container images location, see Option 1: Use the Official TimesTen Container Images.

The examples in this section use the container-registry.oracle.com/timesten/timesten:22.1.1.19.0 image.

Let's walk through the steps to obtain the TimesTen Operator manifest files located within the container-registry.oracle.com/timesten/timesten:22.1.1.19.0 container image.

  1. On your development host, from the directory of your choice, create the subdirectories for the TimesTen Operator files. This example creates the kube_files and kube_files/deploy directories.
    mkdir -p kube_files
    cd kube_files
    mkdir -p deploy
  2. Create a new container from the container-registry.oracle.com/timesten/timesten:22.1.1.19.0 image, supplying a name for the new container. In this example, the name of the container is ttoper.
    docker create --name ttoper container-registry.oracle.com/timesten/timesten:22.1.1.19.0

    The output is similar to the following.

    Unable to find image 'container-registry.oracle.com/timesten/timesten:22.1.1.19.0' locally
    Trying to pull repository container-registry.oracle.com/timesten/timesten:22.1.1.19.0 ...
    20221215: Pulling from container-registry.oracle.com/timesten/timesten:22.1.1.19.0
    ...
    Digest: sha256:bb58e32d2e08a66c55fb09afd8958feb91300134fc7a019bcb39a241f48fd995
    Status: Downloaded newer image for container-registry.oracle.com/timesten/timesten:22.1.1.19.0
    d03a6e534e8bcce435b86795e8b3082487e5f18af64a522ebfbabff3baec321a
  3. Copy the TimesTen Operator files from the ttoper container to the recently created kube_files/deploy. In addition, copy the helm directory from the ttoper container.
    docker cp ttoper:/timesten/operator/deploy/crd.yaml deploy/crd.yaml
    docker cp ttoper:/timesten/operator/deploy/operator.yaml deploy/operator.yaml
    docker cp ttoper:/timesten/operator/deploy/service_account.yaml deploy/service_account.yaml
    docker cp ttoper:/timesten/operator/helm .

    The crd.yaml, operator.yaml, and service_account.yaml files are copied to the kube_files/deploy directory. The helm directory and its contents are copied to the kube_files directory. These files are discussed later.

  4. Remove the ttoper container.
    docker rm ttoper

    The output is the following.

    ttoper
  5. Remove the TimesTen container image.
    docker image rm container-registry.oracle.com/timesten/timesten:22.1.1.19.0

    The output is similar to the following.

    Untagged: container-registry.oracle.com/timesten/timesten:22.1.1.19.0
    ...

You successfully obtained the TimesTen Operator manifest files. Proceed to About Deploying the TimesTen Operator to deploy the TimesTen Operator.