TimesTenオペレータについて

TimesTenオペレータは、人間のオペレータのように機能するアプリケーションです。KubernetesクラスタでTimesTenデータベースを作成、監視および管理します。データベースを構成し、データベースのユーザーおよびスキーマを構成し、該当する場合はキャッシュおよびレプリケーションを構成します。TimesTenオペレータは、TimesTenデータベースの正常性を自動的に管理および監視し、問題を修正するための処理を実行します。たとえば、アクティブ・スタンバイ・ペアのレプリケーション・スキームで、アクティブ・データベースに障害が発生した場合、TimesTenオペレータは、スタンバイを新しいアクティブに昇格することで自動処理を実行します。Kubernetesは、アクティブ・データベースを含む、障害が発生したポッドを置き換えます。TimesTenオペレータは、置き換えられたこのポッドの新しいスタンバイとしてTimesTenを起動プします。TimesTenオペレータは、これらの操作を自動的に実行するため、管理者操作は必要ありません。このTimesTenオペレータは、多数のTimesTenデータベースを同時に作成および管理できます。

TimesTenオペレータは、次のいずれかの方法でインストールできます:
  • ネームスペーススコープ(ネームスペーススコープ指定)のKubernetesクラスタ内の1つ以上のネームスペース。

  • クラスタスコープ(クラスタスコープ指定)のKubernetesクラスタ内のtimesten-operatorネームスペース。timesten-operatorネームスペースは構成不可で、内部使用のために予約されています。このネームスペースについては、後の項で説明します。

どちらのオプションが適切かを組織で検討してください。これらのオプションについて、さらに詳しく見てみましょう。
  • ネームスペーススコープのKubernetesクラスタ内のネームスペースにTimesTenオペレータをインストールした場合、そのネームスペースにTimesTenClassicオブジェクトを作成できます。TimesTenオペレータは、この同じネームスペースにTimesTenデータベースをデプロイするために必要なポッド、サービスおよびその他のKubernetesリソースをプロビジョニングします。TimesTenデータベースを複数のネームスペースにデプロイする場合は、各ネームスペースに1つずつ、TimesTenオペレータのコピーをインストールする必要があります。これは複雑になりますが、柔軟性も高まります。たとえば、各ネームスペースで異なるバージョンのTimesTenオペレータを実行できるため、テスト環境と本番環境で単一のクラスタを共有できます。

  • TimesTenオペレータをクラスタスコープのKubernetesクラスタにインストールした場合、timesten-operatorという新しいネームスペースがクラスタに作成されます。TimesTenオペレータは、このtimesten-operatorネームスペースで実行されます。Kubernetesクラスタ内の他のすべてのネームスペースは、TimesTenClassicオブジェクトを作成できます。これらのオブジェクトは、このTimesTenオペレータによって処理されます。これらのデータベースのプロビジョニングに使用されるポッド、サービスおよびその他のKubernetesリソースは、関連付けられているTimesTenClassicオブジェクトのネームスペースに存在します。1つのTimesTenオペレータがすべてのTimesTenClassicオブジェクトを管理するため、環境はそれほど複雑にはなりません。ただし、環境の柔軟性は低くなります。たとえば、使用できるTimesTenオペレータのバージョンは1つのみであるため、テスト環境と本番環境で異なるバージョンのTimesTenオペレータが必要な場合は、1つのクラスタを共有することができません。

    ノート:

    timesten-operatorネームスペースは内部使用のために予約されています。timesten-operatorネームスペースでは何も実行しないでください。また、TimesTenClassicオブジェクトを独自のネームスペースに作成する必要があります。

どちらのスコープを使用する場合でも、TimesTenClassicオブジェクトをネームスペース(Xなど)に作成した場合、そのオブジェクトに含まれる他のKubernetesオブジェクトを参照する際も、ネームスペースX内のオブジェクトを参照することになります。これには、dbConfigMapdbSecretimagePullSecretおよびその他のすべてのオブジェクト参照が含まれます。ネームスペースXのTimesTenClassicオブジェクトは、他のネームスペース内のそれらのオブジェクトを参照できません。