Before You Begin

Before starting the tasks for an option, ensure to set up the following:

  • A working Kubernetes cluster:

    • Your cluster must provide a StorageClass that is used to request Persistent Volumes. You must know the name of this storage class. For example, in Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE), you can use the oci-bv storage class. The examples in this book use this oci-bv storage class.

    • The nodes in your cluster must have their clocks synchronized through NTP, or equivalent.

    Note:

    For a list of supported Kubernetes releases, see the Oracle TimesTen In-Memory Database Release Notes.
  • A development host to access the Kubernetes cluster. For this host, ensure the following:
    • The host resides outside the Kubernetes cluster.

    • You can control and access the Kubernetes cluster from this host.

    • You install the following command line tools on the host:
      • kubectl: You use kubectl to communicate with the Kubernetes cluster.

      • docker or podman: You use docker or podman when working with TimesTen container images on your local development host.

        Note:

        The podman tool has a command that mimics docker. Examples in this guide use the docker command. See podman in the Podman documentation.
      • helm: You can use TimesTen Helm charts to deploy the TimesTen Kubernetes Operator and create TimesTen databases, If you plan on using TimesTen Helm charts, install the helm command line utility.

Let's run through a quick test to verify you have docker and kubectl pre-installed and configured on your development host.

  1. On your development host, run docker hello-world.
    docker run hello-world
    The output is similar to the following:
    !... Hello Podman World ...!
    
             .--"--.
           / -     - \
          / (O)   (O) \
       ~~~| -=(,Y,)=- |
        .---. /`  \   |~~
     ~/  o  o \~~~~.----. ~~
      | =(X)= |~  / (O (O) \
       ~~~~~~~  ~| =(Y_)=-  |
      ~~~~    ~~~|   U      |~~
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Desktop:   https://podman-desktop.io
    Documents: https://docs.podman.io
    YouTube:   https://youtube.com/@Podman
    X/Twitter: @Podman_io
    Mastodon:  @Podman_io@fosstodon.org
    
  2. Confirm kubectl returns the nodes in your Kubernetes cluster.
    kubectl get nodes
    The output is similar to the following:
    NAME          STATUS   ROLES   AGE    VERSION
    192.0.2.1     Ready    node    32d    v1.27.2
    192.0.2.2     Ready    node    31d    v1.27.2
    192.0.2.4     Ready    node    101d   v1.27.2
    192.0.2.6     Ready    node    101d   v1.27.2
    192.0.2.10    Ready    node    32d    v1.27.2