TimesTenScaleoutオブジェクトの作成

この項では、TimesTenScaleoutオブジェクトを作成します。

次のステップを実行します。

  1. 空のYAMLファイルを作成します。任意の名前にできますが、TimesTenScaleoutオブジェクトの名前と同じにすることをお薦めします。(この例ではcachegrid。)このYAMLファイルで指定する必要があるフィールド、およびオプションのフィールドについては、「TimesTenScaleoutSpecSpec」を参照してください。
    次のTimesTen Scaleout固有のフィールドを指定します:
    • k: kの値をTimesTenデータベースのデータのコピー数に設定します。この値により、TimesTenオペレータによって作成されるStatefulSetの数が決まります。StatefulSetは、グリッドに単一のデータ領域を実装するために使用されるポッドを提供します。たとえば、k2に設定した場合、オペレータは2つのStatefulSetを作成します。1つのStatefulSetは、データ領域1のデータ・インスタンスのポッドを提供します。もう1つのStatefulSetは、データ領域2のデータ・インスタンスのポッドを提供します。

      この例では、k2に設定します。

      K-safetyおよびkの適切な値の決定の詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』K-Safetyを参照してください。

    • nReplicaSets: 値をグリッド内のレプリカ・セットの数に設定します。レプリカ・セットにはk要素が含まれます(各要素は、レプリカ・セット内の他の要素の正確なコピーです)。nReplicaSetsの値により、各StatefulSetのレプリカの数が決まります。たとえば、k2に設定した場合、TimesTenオペレータはデータ・インスタンスに対して2つのStatefulSetを作成します。nReplicaSets3に設定した場合、各StatefulSetには3つのレプリカが含まれ、データベース内のレプリカ・セットの合計数は3になります。

      この例では、nReplicaSets3に設定します。

      レプリカ・セットの詳細は、『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』レプリカ・セットの理解を参照してください。

    • nZookeeper: 値を、StatefulSetでプロビジョニングするZooKeeperポッドの数に設定します。オプションは、13または5です。

      この例では、nZookeeper3に設定します。

    次は、次のフィールドを指定します:

    • name: cachegridを、TimesTenClassicオブジェクトの名前に置き換えてください。

    • storageClassName: oci-bvを、TimesTenを保持するためのPersistentVolumesの割当てに使用される記憶域クラスの名前に置き換えます。

    • storageSize: 250Giを、各ポッドがTimesTenを保持するために要求する必要がある記憶域の量に置き換えます。ノート: この例では、本番環境を想定していることから、storageSizeには250Giの値を使用しています。デモ用の場合は、50Giの値で対応できます。

    • image: container-registry.oracle.com/timesten/timesten:22.1.1.27.0を、自分のイメージの場所と名前に置き換えます。

    • imagePullSecret: sekretを、KubernetesがTimesTenイメージをフェッチするために使用するイメージ・プル・シークレットに置き換えます。

    • dbConfigMap: この例では、メタデータ・ファイルに1つのConfigMap (名前はcachegrid)を使用します。

    vi cachetest.yaml
    
    apiVersion: timesten.oracle.com/v2
    kind: TimesTenScaleout
    metadata:
      name: cachegrid
    spec:
      ttspec:
        storageClassName: oci-bv
        storageSize: 250Gi
        image: container-registry.oracle.com/timesten/timesten:22.1.1.27.0
        imagePullSecret: sekret
        dbConfigMap:
        - cachegrid
        k: 2
        nReplicaSets: 3
        nZookeeper: 3
  2. TimesTenScaleoutオブジェクトを作成します。
    kubectl create -f cachegrid.yaml

    出力は次のようになります。

    timestenscaleout.timesten.oracle.com/cachegrid created

これで、TimesTenScaleoutオブジェクトの作成が完了しました。グリッドおよび関連するデータベースのデプロイのプロセスが開始されましたが、まだ完了していません。