TimesTenオペレータについて
TimesTenオペレータは、人間のオペレータのように機能するアプリケーションです。KubernetesクラスタでTimesTenデータベースを作成、監視および管理します。データベースを構成し、データベースのユーザーおよびスキーマを構成し、該当する場合はキャッシュおよびレプリケーションを構成します。TimesTenオペレータは、TimesTenデータベースの正常性を自動的に管理および監視し、問題を修正するための処理を実行します。たとえば、アクティブ・スタンバイ・ペアのレプリケーション・スキームで、アクティブ・データベースに障害が発生した場合、TimesTenオペレータは、スタンバイを新しいアクティブに昇格することで自動処理を実行します。Kubernetesは、アクティブ・データベースを含む、障害が発生したポッドを置き換えます。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
内のオブジェクトを参照することになります。これには、dbConfigMap
、dbSecret
、imagePullSecret
およびその他のすべてのオブジェクト参照が含まれます。ネームスペースX
のTimesTenClassicオブジェクトは、他のネームスペース内のそれらのオブジェクトを参照できません。