概要
TimesTenのアクティブ・スタンバイ・ペアのレプリケーション・スキームは、2つのTimesTenデータベースで構成されます。1つはアクティブ・データベースで、もう1つのデータベースはスタンバイです。アプリケーションによって、アクティブ・データベースが更新されます。スタンバイ・データベースは読取り専用で、アクティブ・データベースからレプリケートされた更新を受信します。2つのデータベースのうち、一度に1つのみがアクティブ・データベースとして機能します。アクティブ・データベースで障害が発生すると、スタンバイ・データベースがアクティブ・データベースに昇格します。障害が発生した(アクティブ)データベースは、リカバリ後、スタンバイ・データベースになります。

Oracle Cloud MarketplaceのOracle TimesTen In-Memory Database for Kubernetes - BYOLは、TimesTenを含むコンテナ・イメージ、そのソフトウェアの前提条件、およびコンテナ化された環境でTimesTenを実行するために必要なすべてのもので構成されています。コンテナ・イメージには、TimesTenオペレータをデプロイし、TimesTenデータベースを作成するために必要なYAMLマニフェスト・ファイルおよびHelmチャートも含まれています。
このガイドでは、コンテナ・レジストリにログインし、KubernetesクラスタがOracle Cloud Infrastructure (OCI)のコンテナ・イメージにアクセスするために必要な資格証明を使用してKubernetesシークレットを作成することで、TimesTenコンテナ・イメージをエクスポートし、TimesTenコンテナ・イメージにアクセスするステップを、順を追って説明します。また、マニフェスト・ファイルの抽出、TimesTenオペレータのデプロイ、およびKubernetesクラスタでのTimesTenデータベースの作成に関するTimesTenドキュメントへの参照も提供します。
目的
-
TimesTenコンテナ・イメージをOracle Cloud Infrastructure Registry (コンテナ・レジストリ)のリポジトリにエクスポートします。
-
開発ホストのコンテナ・レジストリにログインし、Kubernetesシークレットを作成して、Kubernetesクラスタがコンテナ・レジストリにアクセスするために必要な資格証明を格納します。
始める前に
Marketplaceの使用を開始する前に、Oracle Cloudについてよく理解しておく必要があります。また、次のものがあることを確認してください:
-
Oracle Cloud Infrastructure (OCI)テナンシへのアクセス。テナンシは、コンテナ・レジストリが使用可能な1つ以上のリージョンにサブスクライブされている必要があります。リージョン別の可用性を参照してください。
ノート:
コンテナ・レジストリにログインするには、テナンシのオブジェクト・ストレージ・ネームスペース名が必要です。これは、「Tenancy Details」ページにあります。
-
コンテナ・レジストリでマーケットプレイス・リストを読み取って使用し、リポジトリを管理できるグループに属するOCIユーザー。
ノート:
テナンシでアイデンティティ・ドメインを使用している場合は、コンテナ・レジストリにログインするためにアイデンティティ・ドメインの名前が必要です。テナンシでアイデンティティ・ドメインを使用している場合は、OCIコンソールへのログイン時に、ユーザーに関連付けられたアイデンティティ・ドメインの名前を選択する必要があります。
次のIdentity and Access Management (IAM)ポリシーを使用すると、指定したグループが、指定したコンパートメント内のリストを読み取って使用し、リポジトリを管理できます:
Allow group <group_name> to inspect all-resources in tenancy Allow group <group_name> to manage app-catalog-listings in compartment <compartment_name> Allow group <group_name> to use marketplace-listings in compartment <compartment_name> Allow group <group_name> to read marketplace-workrequests in compartment <compartment_name> Allow group <group_name> to manage repos in compartment <compartment_name>
必要なIAMポリシーを参照してください。
-
OCIユーザーの認証トークン。認証トークンを忘れた場合、またはOCIユーザーの認証トークンをまだ作成していない場合は、認証トークンの取得を参照してください。
-
動作中のKubernetesクラスタ。クラスタがOracle Cloud Infrastructure Container Engine for Kubernetes (OKE)を使用して設定されていない場合は、次のことを確認してください:
-
クラスタには、永続ボリュームをリクエストするために使用できるStorageClassが用意されています。
-
ノードでは、それらのクロックがNTPまたは同等の方法で同期されます。
コンソール・ワークフローを使用したKubernetesクラスタの作成を参照してください。
-
-
Kubernetesクラスタにアクセスするための開発ホスト。ホストは、クラスタと同じテナンシ内の仮想マシン(VM)インスタンスにできます。次のことを確認します:
-
ホストはKubernetesクラスタの外部にあります。
-
ホストは、Kubernetesクラスタにアクセスして制御できます。このためには、
docker
(またはpodman
)およびkubectl
コマンドライン・ツールがホストにインストールされていることを確認します。Dockerおよびkubectlのドキュメントを参照してください。コンテナ・イメージによって提供されるHelmチャートを使用する場合は、
helm
コマンドライン・ツールもインストールされていることを確認します。Helmのドキュメントを参照してください。
クラスタ・アクセスの設定を参照してください。
-
タスク1: TimesTenコンテナ・イメージのエクスポート
タスク2: TimesTenコンテナ・イメージへのアクセス
Kubernetesシークレットは、少量の機密データを含むオブジェクトです。コンテナ・レジストリのTimesTenコンテナ・イメージにアクセスするには、KubernetesクラスタにOCIユーザー名および認証トークンを含むシークレットが必要です。
開発ホストおよびKubernetesクラスタ上のTimesTenコンテナ・イメージにアクセスするには:
次のステップ
コンテナ・レジストリのリポジトリにTimesTenコンテナ・イメージがあり、コンテナ・レジストリにアクセスするためにKubernetesクラスタにKubernetesシークレットがあるので、TimesTenオペレータをデプロイしてTimesTenデータベースを作成するために必要なすべてのものがあります。YAMLマニフェスト・ファイルまたはTimesTenコンテナ・イメージに含まれるHelmチャートを使用して、これらのタスクを実行できます。
-
TimesTenオペレータのYAMLマニフェスト・ファイルおよびHelmチャートを取得します。TimesTen YAMLマニフェスト・ファイルおよびHelmチャートの取得を参照してください。
新しいコンテナを作成する例に従って、例の
IMAGE
引数を、リージョン・エンドポイントとコンテナ・イメージのフルパスに置き換えることを忘れないでください。docker create --name ttoper <region_key>.ocir.io/<tenancy_namespace>/<repository_name>:<image_tag>
たとえば、パッケージ・バージョン
22.1.1.23.0
のコンテナ・イメージを持つ米国西部(フェニックス)リージョンのsampletenancy
テナンシのsamplerepository
リポジトリの場合、新しいコンテナを作成するコマンドは次のようになります:docker create --name ttoper phx.ocir.io/sampletenancy/samplerepository:<unique_ID>-timesten-22.1.1.23.0
-
TimesTenカスタム・リソース定義(CRD)をインストールします。TimesTen CRDのインストールを参照してください。
-
TimesTenオペレータをデプロイします。TimesTenオペレータのインストールを参照してください。
ノート:
Helmを使用してTimesTenオペレータをデプロイする場合は、このステップをスキップできます。
TimesTenオペレータをカスタマイズする例に従って、
imagePullSecrets
のname
の値を、作成したKubernetesシークレットの名前、およびcontainers
のimage
の値を、リージョン・エンドポイントとコンテナ・イメージのフルパスで置き換えることを忘れないでください。imagePullSecrets: - name: <secret_name> containers: - name: timesten-operator image: <region_key>.ocir.io/<tenancy_namespace>/<repository_name>:<image_tag>
たとえば、パッケージ・バージョン
22.1.1.23.0
コンテナ・イメージを持つ米国西部(フェニックス)リージョンのsampletenancy
テナンシのsamplerepository
リポジトリおよびsekret
Kubernetesシークレットの場合、operator.yaml
ファイルに次の値を含める必要があります:imagePullSecrets: - name: sekret containers: - name: timesten-operator image: phx.ocir.io/sampletenancy/samplerepository:<unique_ID>-timesten-22.1.1.23.0
-
TimesTenオペレータを使用してTimesTenデータベースを作成します。TimesTen Classicデータベースの作成を参照してください。
ノート:
Helmを使用してTimesTenデータベースを作成する場合は、このステップをスキップできます。
例に従って、TimesTenClassicオブジェクトを定義するYAMLファイルを作成する際は、
ttspec
のimage
およびimagePullSecret
の値を、リージョン・エンドポイントとコンテナ・イメージのフルパス、およびKubernetesシークレットの名前にそれぞれ置き換えることを忘れないでください。ttspec: image: <region_key>.ocir.io/<tenancy_namespace>/<repository_name>:<image_tag> imagePullSecret: <secret_name>
たとえば、パッケージ・バージョン
22.1.1.23.0
コンテナ・イメージを持つ米国西部(フェニックス)リージョンのsampletenancy
テナンシのsamplerepository
リポジトリおよびsekret
Kubernetesシークレットの場合、YAMLファイルに次の値を含める必要があります:ttspec: image: phx.ocir.io/sampletenancy/samplerepository:<unique_ID>-timesten-22.1.1.23.0 imagePullSecret: sekret
-
または、Helmを使用してTimesTenオペレータをデプロイし、TimesTenデータベースを作成できます。TimesTen Kubernetesオペレータ環境でのHelmの使用を参照してください。
ノート:
YAMLマニフェスト・ファイルを使用してTimesTenオペレータをデプロイし、TimesTenデータベースを作成する場合は、このステップをスキップできます。
例に従って、TimesTenオペレータおよびTimesTenデータベースの構成を定義するYAMLファイルを作成する場合は、
image
のrepository
およびtag
の値をリージョン・エンドポイントおよびコンテナ・イメージのフルパスに置き換え、imagePullSecrets
のname
の値をKubernetesシークレットの名前に置き換えることを忘れないでください。image: repository: <region_key>.ocir.io/<tenancy_namespace>/<repository_name> tag: <image_tag> imagePullSecrets: - name: <secret_name>
たとえば、パッケージ・バージョン
22.1.1.23.0
コンテナ・イメージを持つ米国西部(フェニックス)リージョンのsampletenancy
テナンシのsamplerepository
リポジトリおよびsekret
Kubernetesシークレットの場合、YAMLファイルに次の値を含める必要があります:image: repository: phx.ocir.io/sampletenancy/samplerepository tag: <unique_ID>-timesten-22.1.1.23.0 imagePullSecrets: - name: sekret
ドキュメントのアクセシビリティについて
オラクルのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。
Oracle Supportへのアクセス
Oracle SupportサービスへのOracleカスタマ・アクセスおよび使用は、該当するサービスのOracleオーダーで指定された条件に従って行われます。
Oracle TimesTen In-Memory Database TimesTenコンテナ・イメージを取得するためのOracle Cloud Marketplaceの使用 (BYOL), リリース22.1
G13982-01
2024年9月
原本著者: Ricardo Rosas