デプロイメント・プロセスについて

レプリケートされた構成またはレプリケートされない構成にTimesTenClassicオブジェクトを定義した後、kubectl createコマンドまたはhelm installコマンドを使用して、オブジェクトをネームスペースにデプロイします。オブジェクトがネームスペースにデプロイされると、TimesTenオペレータによって通知され、処理が実行されます。TimesTenおよびそのデータベースを作成および構成するプロセスが開始されます:
  • StatefulSet: TimesTenオペレータは、TimesTenを実行するStatefulSetを作成します。StatefulSetには、指定した数のレプリカが含まれています:
    • レプリケート・オブジェクトの場合、replicasの数は2です。

    • レプリケートされないオブジェクトの場合、TimesTenオペレータは.spec.ttspec.replicasに指定した値を使用します。値を指定しなかった場合、TimesTenオペレータはデフォルト値1を使用します。

  • ポッド: TimesTenオペレータはStatefulSetを作成するため、Kubernetesはreplicas個のポッドをプロビジョニングします。

    レプリケートされた構成とレプリケートされない構成の両方について、各ポッドには、ttdaemonlog1およびexporterを含む複数のコンテナが含まれています。TimesTenClassicオブジェクトの.spec.templateに追加のコンテナを定義すると、それらはポッドに含まれます。

  • PersistentVolumes: Kubernetesは、TimesTenコンテナにマウントされている1つ以上のPersistentVolumes (永続記憶域)をプロビジョニングします。これは、TimesTenデータベースが格納される場所です。

  • サービス: TimesTenオペレータはheadlessサービスを作成します。これにより、Kubernetesはポッドごとに一意のDNS名を発行します。

KubernetesがTimesTenClassicオブジェクトのStatefulSetの一部として新しいポッドを作成して起動すると、TimesTenオペレータは各ポッドのTimesTenエージェントと対話して、TimesTenとそのデータベースを稼働させる処理を実行します。

オペレータは、次の処理を実行します:
  • TimesTenインストール環境を作成します。

  • 作成したインストール環境を使用するTimesTenインスタンスを作成します。

  • 指定されたメタデータ・ファイル(db.iniなど)に基づいて、インスタンスにTimesTen構成ファイルを作成します。

  • TimesTenインスタンスを起動します。

  • TimesTenデータベースを作成します。

  • 指定されたメタデータ・ファイル(adminUsercacheUserなど)に基づいてデータベース・ユーザーを作成します。

  • 指定されたメタデータ・ファイル(schema.sqlcachegroups.sqlepilog.sqlなど)に基づいて、データベース・スキーマ、表、ビュー、プロシージャおよびその他のデータベース・オブジェクトを作成します。

ここでは、レプリケートされたTimesTenClassicオブジェクトおよびレプリケートされないTimesTenClassicオブジェクトを定義および作成する方法、およびTimesTenオペレータが情報を使用してTimesTenデータベースを作成する方法を示すいくつかの例について説明します。