4.2 values.yamlファイルの構成
インストール・バンドルには、アプリケーションのマニフェスト・ファイルであるvalues.yaml
ファイルが含まれ、これにはMicroTxのデプロイメント構成の詳細が含まれます。
values.yaml
ファイルのサンプル値を置き換えて、MicroTxをデプロイするための環境の詳細、イメージの詳細および構成の詳細を指定します。
MicroTxをKubernetesクラスタにデプロイするときに、HelmはリモートDockerレジストリからMicroTxイメージをプルします。values.yaml
ファイルに、プルするイメージと、イメージのプル時に使用する資格証明を指定します。
MicroTxの構成の詳細を指定するには:
- 環境の詳細
values.yaml
ファイルで、MicroTxをインストールする環境の詳細に関する情報を指定します。 - イメージのプロパティ
tmmImage
下に、MicroTx Dockerイメージに関する情報を指定します。これらのプロパティの値の指定は必須です。 - トランザクション・コーディネータのプロパティ
tmmConfiguration
下に、MicroTxを構成するための情報を指定します。 - データ・ストアのプロパティ
MicroTxはデータ・ストアを使用して、トランザクション状態の永続性を確保し、トランザクション・ログを格納します。 - Istioの詳細
values.yaml
ファイルで、設定したIstioイングレス・ゲートウェイの詳細を指定します。 - キャッシュのプロパティ
キャッシュを有効にしてパフォーマンスを向上させることができます。etcdまたはOracle Databaseに格納されているトランザクション・ログの読取りおよび書込み操作が最適化されます。 - ロギングのプロパティ
logging
下に、MicroTxログの詳細を指定します。 - メトリックのプロパティ
metrics
で、PrometheusがMicroTxコーディネータのメトリック・ログをスクレイプできるようにします。 - 認可のプロパティ
MicroTxは、すべてのリクエストでJWTトークンを伝播することで、参加側サービスおよびコーディネータ間の認可をサポートします。 - 認証のプロパティ
authentication
下で、JSON Webトークン(JWT)認証を有効にします。 - アイデンティティ・プロバイダのプロパティ
identityProvider
下に、MicroTxコーディネータが認証に使用するJSON Webトークン(JWT)のプロパティ値を入力します。 - 暗号化キーのプロパティ
encryption
下に、MicroTxがアクセス・トークンおよびリフレッシュ・トークンの暗号化に使用する暗号化キーを指定します。これらのプロパティの値を指定する必要があるのは、
のtmmConfiguration.authorization
authTokenPropagationEnabled
プロパティを有効化した場合です。 - トランザクション・トークンのプロパティ
transactionToken
に、トランザクション・トークンに使用するキー・ペアを指定します。 - コンソール構成のプロパティ
tmmConsoleConfiguration
で、MicroTxコンソールのプロパティを指定します。
親トピック: Kubernetesクラスタへのインストール
4.2.1 環境の詳細
values.yaml
ファイルで、MicroTxをインストールする環境の詳細に関する情報を指定します。
プロパティ | 説明 |
---|---|
istioSystemNameSpace |
Istioをインストールしたネームスペース。デフォルトのネームスペースはistio-system です。別のネームスペースにIstioをインストールした場合は、次のコマンドを実行して、クラスタ内のすべてのネームスペースを確認します。
|
applicationNameSpace |
MicroTxをデプロイするネームスペースを指定します。たとえば、otmm です。
|
tmmReplicaCount |
作成するMicroTxポッド・レプリカの数を指定します。本番環境に3つ以上のレプリカが推奨されます。開発環境またはテスト環境では、使用できるレプリカがこれより少ない可能性があります。 |
親トピック: values.yamlファイルの構成
4.2.2 イメージのプロパティ
tmmImage
下に、MicroTx Dockerイメージに関する情報を指定します。これらのプロパティの値の指定は必須です。
プロパティ | 説明 |
---|---|
image |
リモート・リポジトリにプッシュしたMicroTxイメージのタグを入力します。たとえば、oracle-tmm:RELEASE です。「リモートDockerリポジトリへのイメージのプッシュ」を参照してください。
|
imagePullPolicy |
インストール中に確実にイメージがプルされるように、Always を入力します。
|
imagePullSecret |
作成したKubernetesシークレットの名前を指定します。このシークレットは、リモート・リポジトリからDockerイメージをプルするために使用されます。たとえば、regcred です。DockerレジストリにアクセスするためのKubernetesシークレットの作成を参照してください。
|
tmmImage
。 tmmImage:
image: oracle-tmm:RELEASE
imagePullPolicy: Always
imagePullSecret: regcred
親トピック: values.yamlファイルの構成
4.2.3 トランザクション・コーディネータのプロパティ
tmmConfiguration
下に、MicroTxを構成するための情報を指定します。
プロパティ | 説明 |
---|---|
tmmAppName |
作成するMicroTxアプリケーションの名前を入力します。MicroTxをインストールすると、Helmによって、指定した名前のMicroTxアプリケーションが作成されます。後で指定する必要があるため、この名前を書き留めておきます。たとえば、tmm-app です。
|
tmmid |
インストールするMicroTxの各インスタンスを一意に識別する値を入力します。この一意識別子は5文字で指定する必要があり、使用できるのは英数字(a-z、A-Zおよび0-9)のみです。たとえば、TMM01 です。
このIDを使用して、複数のインストールがある場合にMicroTxを識別します。すべてのレプリカが同じIDを持つため、このIDを使用して、MicroTxインストールの単一インスタンスのレプリカを区別することはできません。MicroTxをインストールした後は、この値を変更できません。 |
port |
このサービスをインストールするKubernetesクラスタ内のMicroTxに内部的にアクセスするポートを入力します。このポートでインバウンドおよびアウトバウンド・トラフィックを許可するために必要なネットワーク・ルールを作成します。後で指定する必要があるため、この番号を書き留めておきます。たとえば、9000 です。
|
tmmExternalURL |
サービスをデプロイしたKubernetesクラスタの外部からMicroTxにアクセスするために、外部URLの作成に必要な詳細を入力します。Istioイングレス・ゲートウェイにアクセスするためのプロトコル、ホストおよびポート番号を入力します。「MicroTxへのアクセス」を参照してください。 |
httpClientTimeoutInSecs |
MicroTxコーディネータから参加側サービスに送信されるHTTPコールバックAPIリクエストをアクティブにしておく最長期間(秒)を指定します。0から900までの整数を入力してください。デフォルト値は180秒、最大値は900秒です。この値を0に設定すると、MicroTxによって制限が適用されません。コーディネータがHTTPコールバックAPIリクエストを参加側サービスに送信したとき、参加側サービスは指定の期間内に応答する必要があります。指定した期間内に参加側サービスが応答しないと、コーディネータによって送信されたHTTPリクエストはタイムアウトします。 |
xaCoordinator 、lraCoordinator またはtccCoordinator |
マイクロサービスで使用するトランザクション・プロトコルに対してenabled: "true" を設定します。MicroTxは、XA、LRA、およびTCCの3つの分散トランザクション・プロトコルをサポートしています。XAトランザクションをLRAトランザクション内にネストする場合は、enabled: "true" をxaCoordinator とlraCoordinator の両方に対して設定します。
|
txMaxTimeout |
XAトランザクション・プロトコルのみ。トランザクションをアクティブにしておく最長期間(ミリ秒)を指定します。トランザクションのコミットまたはロールバックが指定した期間内に行われないと、トランザクションはロールバックされます。デフォルト値は600000 msです。 |
narayanaLraCompatibilityMode |
LRAトランザクション・プロトコルのみ。enabled をtrue に設定するのは、Narayana LRAコーディネータと連携するように実装され、MicroTxを使用してLRAトランザクションに参加するLRA参加側アプリケーションを使用する場合のみです。このモードを有効にすると、MicroTx LRA APIがNarayana LRAコーディネータAPIが返すのと同じレスポンス・データを返すことが保証されます。
|
maxRetryCount |
障害が発生した場合にトランザクション・コーディネータが同じリクエストの送信を再試行する最大回数。たとえば、10です。 |
minRetryInterval |
障害が発生した後でトランザクション・コーディネータが同じリクエストの送信を再試行するまでの最小間隔(ミリ秒)。デフォルト値は1000ミリ秒です。 |
maxRetryInterval |
障害が発生した後でトランザクション・コーディネータが同じリクエストの送信を再試行するまでの最大再試行間隔(ミリ秒)。たとえば、10000です。 |
skipVerifyInsecureTLS |
この値を この値を 注意: 本番環境では、この値をtrue に設定しないでください。
|
countersUpdateInterval |
データ収集時間間隔、またはMicroTxコンソールで最新のトランザクションに関する情報が更新されるレートを指定するため、120秒から1800秒までの値を入力します。300秒と入力すると、最新のトランザクションに関する情報がコンソールで300秒ごとに更新されます。デフォルト値は120秒です。MicroTxコンソールで「間隔」ボックスの値を変更して、この値を更新することもできます。 |
親トピック: values.yamlファイルの構成
4.2.4 データ・ストアのプロパティ
MicroTxはデータ・ストアを使用して、トランザクション状態の永続性を確保し、トランザクション・ログを格納します。
トランザクション・ログを格納するには、etcdクラスタ、Oracle Databaseまたは内部メモリーを使用できます。トランザクション・コーディネータの複数のレプリカを使用する場合、etcdクラスタまたはOracleデータベースをトランザクション・ログ・データ・ストアとして設定する必要があります。内部メモリーを使用する場合、トランザクション・コーディネータのレプリカを複数作成することはできません。MicroTxを再起動するたびにすべてのトランザクション詳細が失われるため、開発環境にのみ内部メモリーを使用します。
トランザクション・ログのデータ・ストアのタイプ
tmmConfiguration.storage
の下に、MicroTxがトランザクション状態の永続化に使用するデータ・ストアのタイプを指定します。データ・ストアのタイプを指定した後、外部データ・ストアに接続するための追加の詳細を指定できます。
プロパティ | 説明 |
---|---|
type |
次の値のいずれかを入力して、MicroTxがトランザクション情報の追跡に使用する永続データを指定します。
|
completedTransactionTTL |
完了トランザクション・レコードのトランザクション・データ・ストアでの存続時間(TTL)(秒単位)。指定できる値の範囲は60から1200秒です。指定した時間が終了すると、完了トランザクション・エントリはデータ・ストアから削除されます。 |
トランザクション・ログのデータ・ストアとしてのOracle Database
tmmConfiguration.storage.db
下に、Oracle Databaseに接続するための詳細を指定します。etcdデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。
次の表に、MicroTxデータ・ストアであるOracle Databaseに接続するために必要なプロパティを示します。
プロパティ | 説明 |
---|---|
connectionString |
Oracle Databaseのデータ・ストアの接続文字列を入力します。
|
credentialSecretName |
Oracle Databaseに接続するための資格証明を含むKubernetesシークレットの名前を入力します。たとえば、db-secret です。「Oracle Database資格証明のKubernetesシークレットの作成」を参照してください。
|
connectionParams |
接続パラメータのスペース区切りリストを入力します。指定できる接続パラメータの詳細は、https://pkg.go.dev/github.com/godror/godror#section-documentationを参照してください。たとえば、poolMinSessions=1 poolMaxSessions=300 です。 |
walletConfigMap.configMapName |
このフィールドの値は、Autonomous Databaseなどの資格証明ウォレットを使用するデータベースに接続する場合にのみ指定します。他のデータベースの場合、このフィールドは空のままにできます。Autonomous Databaseインスタンスの資格証明ウォレット用に作成した構成マップの名前を入力します。「Autonomous Databaseクライアント資格証明の取得」を参照してください。たとえば、db-wallet-configmap です。
|
トランザクション・ログのデータ・ストアとしてのetcdデータベース
tmmConfiguration.storage.etcd
下に、etcdデータベースに接続する詳細を指定します。Oracleデータベースに接続している場合、または内部メモリーを使用している場合は、この項をスキップして、これらの値を指定しないでください。
次の表に、MicroTxデータ・ストアであるetcdデータベースに接続するために必要なプロパティを示します。
この情報を入力する前に、次のタスクを完了し、必要な詳細を書き留めておいてください。
プロパティ | 説明 |
---|---|
endpoints |
etcdデータベース・サーバーの外部IPアドレスを入力します。MicroTxをインストールするKubernetesクラスタにetcdクラスタをインストールした場合は、Kubernetesサービス名およびetcdクラスタ(ノード)のポートを値として指定します。それ以外の場合は、198.51.100.1:4002,198.51.100.2:4002,198.51.100.3:4002 のように、etcdクラスタ・ノードのホスト名またはIPアドレスとポートのカンマ区切りリストを入力します。
|
skipHostNameVerification |
etcdデータベース・サーバーのIPアドレスを確認するには、これをfalse に設定します。これをtrue に設定すると、サーバーのホスト名またはIPアドレスは検証されません。このフィールドをtrue に設定できるのは、テスト環境または開発環境の場合のみです。
注意: 本番環境では、このフィールドをfalse に設定する必要があります。
|
credentialSecret.secretName |
コンテナ内のKubernetesシークレットへのパスを入力します。シークレットには、クライアント資格証明、クライアント・キーおよびクライアント証明書の保護に使用したパスワードが含まれます。たとえば、/etc/otmm/etcd-cert-secret です。「etcdのKubernetesシークレットの作成」を参照してください。
|
credentialSecret.secretFileName |
クライアント資格証明、クライアント・キーおよびクライアント証明書の保護に使用したパスワードを含むJSONファイルの場所を入力します。たとえば、/etc/otmm/etcdecred.json です。「etcdのRSA証明書の生成」を参照してください。
|
cacertConfigMap.configMapName |
認証局の初期化中に作成した構成マップ・ファイルの名前を入力します。たとえば、etcd-ca-cert-map です。「etcdのKubernetesシークレットの作成」を参照してください。
|
cacertConfigMap.configMapFileName |
認証局の初期化中に作成したPEMファイルの名前を入力します。たとえば、ca.pem です。「etcdのRSA証明書の生成」を参照してください。
|
storage:
type: etcd
etcd:
endpoints: "https://198.51.100.1:4002"
skipHostNameVerification: "false"
credentialSecret:
secretName: "etcd-cert-secret"
secretFileName: "etcdecred.json"
cacertConfigMap:
configMapName: "etcd-ca-cert-map"
configMapFileName: "ca.pem"
endpoints
フィールドに正しいIPアドレスを指定しない場合、MicroTxのインストール時にホスト検証が失敗します。
親トピック: values.yamlファイルの構成
4.2.5 Istioの詳細
values.yaml
ファイルで、設定したIstioイングレス・ゲートウェイの詳細を指定します。
始める前に、Istioを設定および構成済であることを確認してください。「必要なソフトウェアのインストールおよび構成」を参照してください。
プロパティ | 説明 |
---|---|
istioIngressGateway |
作成したIstioイングレス・ゲートウェイの名前を入力します。たとえば、ingressgateway です。Istioイングレス・ゲートウェイの名前を確認するには、次のコマンドを実行して、レスポンスのistio ラベルの値を書き留めます。
|
tlsEnabled |
HTTPSプロトコルを使用したサービスへのアクセスを有効にするには、これをtrue に設定します。これをtrue に設定する場合、HTTPSを使用してIstioにアクセスするためのSSLキーおよび証明書を含むKubernetesシークレットの詳細を指定する必要があります。
ノート: 本番環境では、この値をtrue に設定する必要があります。
|
credentialName |
tlsEnabled がtrue に設定されている場合、このプロパティの値を指定する必要があります。HTTPSプロトコルを使用したIstioへのアクセスを有効にするには、作成したKubernetesシークレットの名前を入力します。「Istio用のSSL詳細を含むKubernetesシークレットの作成」を参照してください。たとえば、tls-credential です。
|
hosts |
Istioイングレス・ゲートウェイの外部IPアドレスまたはホストの名前を入力します。ロード・バランサを使用しているか、または複数のホストがある場合は、ホスト名またはIPアドレスのカンマ区切りリストを入力します。Istioイングレス・ゲートウェイのIPアドレスの確認を参照してください。 |
istioIngressGateway
。 istioIngressGateway:
name: ingressgateway
tlsEnabled: "true"
credentialName: tls-credential
hosts: 192.0.2.1
親トピック: values.yamlファイルの構成
4.2.6 キャッシュのプロパティ
キャッシュを有効にしてパフォーマンスを向上させることができます。etcdまたはOracle Databaseに格納されているトランザクション・ログの読取りおよび書込み操作が最適化されます。
プロパティ | 説明 |
---|---|
enabled |
コーディネータのローカル・キャッシュを有効にするには、true と入力します。これをtrue に設定できるのは、etcdクラスタまたはOracle Databaseを使用してトランザクション情報を格納する場合のみです。内部メモリーをトランザクション・ストアとして使用する場合は、キャッシュを有効にできません。
|
maxCapacity |
キャッシュの最大記憶域容量として10進数の値をGB単位で入力します。たとえば、1.5 です。デフォルト値は1 です。入力する最大値をサポートするために必要なメモリーがご使用の環境にあることを確認します。
|
キャッシュを有効にする場合は、コーディネータのセッション・アフィニティも有効にする必要があります。「セッション・アフィニティの有効化」を参照してください。
次のコード・スニペットは、values.yaml
ファイルのcaching
プロパティのサンプル値を示しています。
caching:
enabled: true
maxCapacity: 1.5
親トピック: values.yamlファイルの構成
4.2.7 ロギングのプロパティ
logging
下に、MicroTxログの詳細を指定します。
プロパティ | 説明 |
---|---|
level |
次のいずれかのタイプを入力して、MicroTxのログ・レベルを指定します:
|
httpTraceEnabled |
デバッグ時にMicroTx内のすべてのHTTPリクエストおよびレスポンスをログに記録するには、これをtrue に設定します。この値をtrue に設定する場合、level もdebug に設定する必要があります。
|
次のコード・スニペットは、values.yaml
ファイルのlogging
プロパティのサンプル値を示しています。
logging:
level: debug
httpTraceEnabled: true
親トピック: values.yamlファイルの構成
4.2.8 メトリックのプロパティ
metrics
で、PrometheusがMicroTxコーディネータのメトリック・ログをスクレイプできるようにします。
プロパティ | 説明 |
---|---|
enabled |
PrometheusがMicroTxコーディネータのメトリック・ログをスクレイプできるように、これをtrue に設定します。デフォルトでは、これはtrue に設定されています。
|
次のコード・スニペットは、values.yaml
ファイルのmetrics
プロパティのサンプル値を示しています。
metrics:
enabled: true
親トピック: values.yamlファイルの構成
4.2.9 認可のプロパティ
MicroTxは、すべてのリクエストでJWTトークンを伝播することで、参加側サービスおよびコーディネータ間の認可をサポートします。
tmmConfiguration.authorization
で、authTokenPropagationEnabled
フィールドを使用してこの機能を制御します。アイデンティティ・プロバイダが期限切れアクセス・トークンをコーディネータで自動リフレッシュするように構成します。
プロパティ | 説明 |
---|---|
enabled |
これをtrue に設定すると、MicroTxコーディネータのAPIアクセスにRBACルールが適用されます。認可の最初のステップは、MicroTxコーディネータでRBAC制御を適用することです。
注意: 本番環境では、このフィールドをtrue に設定する必要があります。
|
authTokenPropagationEnabled |
参加側サービスとMicroTxの間のセキュアな通信を確保するためにトークン伝播を有効にするには、これをtrue に設定します。MicroTxは次のアクションを実行します:
トークン伝播を有効にした場合は、 |
親トピック: values.yamlファイルの構成
4.2.10 認証のプロパティ
authentication
下で、JSON Webトークン(JWT)認証を有効にします。
プロパティ | 説明 |
---|---|
requestsWithNoJWT |
DENY と入力すると、ロール・ベースのアクセス制御(RBAC)などの認可チェックがコーディネータで有効になります。これにより、各リクエストにJWTトークンが含まれるようになります。
JWT認証をバイパスするには、 注意: 本番環境では、このフィールドをDENY に設定する必要があります。
|
次のコード・スニペットは、values.yaml
ファイルのauthentication
フィールドのサンプル値を示しています。
authentication:
requestsWithNoJWT: DENY
親トピック: values.yamlファイルの構成
4.2.11 アイデンティティ・プロバイダのプロパティ
identityProvider
下に、MicroTxコーディネータが認証に使用するJSON Webトークン(JWT)のプロパティ値を入力します。
authentication.requestsWithNoJWT
をDENY
に設定する場合は、次の表にリストされているすべてのアイデンティティ・プロバイダのプロパティの値を指定する必要があります。
ただし、audience
、adminUserRoles
、adminUserRolesPath
およびclientSecretName
プロパティの値は、ユーザーがMicroTxコンソールにアクセスできるようにする場合に指定します。MicroTxコンソールへのアクセスを提供しない場合は、これらのプロパティの値の指定をスキップできます。
プロパティ | 説明 |
---|---|
serverType |
アイデンティティ・プロバイダとしてOracle IDCSを使用している場合は、idcs と入力します。そうでない場合は、other と入力します。デフォルト値はother です。
|
scopes |
serverType がidcs の場合は、異なるレベルのアクセス権を付与するスコープを指定する必要があります。Oracle IDCSをアイデンティティ・プロバイダとして使用していない場合は、このプロパティの値を指定しないでください。Oracle IDCSの場合は、スコープのスペース区切りリストを入力します。Oracle IDCSのデフォルトのスコープはopenid groups です。
|
issuer |
JWTトークン発行元を指定します。設定したアイデンティティ・サーバーのURIを入力します。これは、検出URLのissuer フィールドの値です。たとえば、https://identity.oraclecloud.com となります。「検出URLの実行」を参照してください。
|
jwksUri |
アイデンティティ・プロバイダのパブリック・ホストjwksUri のURL。JWTの署名の検証に使用されます。JSON Web Key Set (JWKS)には、受信JWTトークンの検証に使用される暗号化キーが含まれます。「検出URLの実行」を参照してください。
|
identityProviderUrl |
JWTアイデンティティ・プロバイダのURLを指定します。この情報は、リフレッシュ・トークンを使用して新しいアクセス・トークンを作成するために必要です。この情報を指定しないと、期限切れになったアクセス・トークンが自動リフレッシュされません。たとえば、アイデンティティ・プロバイダとしてKeycloakを使用する場合、http://192.0.2.1:8080/auth/realms/tmmdev となります。「検出URLの実行」を参照してください。
|
audience |
トークンのオーディエンスを入力します。すべてのJWTはオーディエンスをチェックするために検証されます。MicroTxコンソールにアクセスするには、このパラメータの値を指定する必要があります。JWTアクセス・トークンからこの値をメモします。 |
adminUserRoles |
MicroTx管理者APIへのアクセス権を付与するには、アイデンティティ・プロバイダで構成した管理者ロールの名前のカンマ区切りリストを入力します。このロールを付与されているユーザーのみがコンソールへのアクセスを許可されます。たとえば、admin, consoleadmin などです。「YAMLファイルでの管理ロールの指定」を参照してください。
|
adminUserRolesPath |
JWTトークンに管理者ロールへのパスを入力します。たとえば、realm_access, roles などです。「YAMLファイルでの管理ロールの指定」を参照してください。
|
clientSecretName |
ユーザーがMicroTxコンソールにアクセスできるようにするには、作成したKubernetesシークレットの名前を入力します。「アイデンティティ・プロバイダ・クライアント資格証明を含むシークレットの作成」を参照してください。 |
次のコード・スニペットは、values.yaml
ファイルのauthentication
フィールドのサンプル値を示しています。この例のサンプル値は、「検出URLの実行」および「YAMLファイルでの管理ロールの指定」に基づいています。
identityProvider:
issuer: "https://identity.oraclecloud.com"
jwksUri: "https://idcs-a83e4...identity.oraclecloud.com:443/admin/v1/SigningCert/jwk"
identityProviderUrl: "https://idcs-a83e4...identity.oraclecloud.com/oauth2/v1/token"
audience: "account"
adminUserRoles: "admin"
adminUserRolesPath: "userAppRoles"
clientSecretName: "console-identity-client-secret"
テナント・ベースURLの例https://idcs-a83e4...identity.oraclecloud.com
は、読みやすくするために省略記号(...)を使用して一部を省いています。現在の環境の完全な値をコピーしてください。
親トピック: values.yamlファイルの構成
4.2.12 暗号化キーのプロパティ
encryption
下に、MicroTxがアクセス・トークンおよびリフレッシュ・トークンの暗号化に使用する暗号化キーを指定します。これらのプロパティの値を指定する必要があるのは、
のtmmConfiguration.authorization
authTokenPropagationEnabled
プロパティを有効化した場合です。
プロパティ | 説明 |
---|---|
encryptionSecretKeyVersion |
指定したシークレット・キーのリストから、トランザクション・トークンの暗号化に使用するシークレット・キーのバージョンを指定します。 |
encryptionSecretKeys.secretKeys.SecretKeyName |
値として暗号化キーを含むKubernetesシークレットの名前およびバージョンを指定します。暗号化キーのローテーションをサポートするために、複数の暗号化キーとそのバージョンを指定できます。 |
encryptionSecretKeys.secretKeys.version |
Kubernetesシークレットのバージョンとして自然数を入力します。各シークレット・キーのバージョンが一意であることを確認してください。 |
新しいKubernetesシークレット・キーを作成しても、前のシークレット・キーのエントリを直ちに削除しないでください。古いキーとvalues.yaml
ファイル内の対応するエントリは数日してから削除できます。既存のトランザクションで古いバージョンのキーが使用されている可能性があるためです。数日後、values.yaml
ファイルを更新し、MicroTxを更新できます。
次のコード・スニペットは、values.yaml
ファイルのencryption
フィールドのサンプル値を示しています。この例のサンプル値は、暗号化キーのKubernetesシークレットの生成のサンプル・コマンドで使用された値に基づいています。
encryption:
encryptionSecretKeyVersion: "1"
encryptionSecretKeys:
secretKeys:
- secretKeyName: "encryption-secret-key1"
version: "1"
- secretKeyName: "encryption-secret-key2"
version: "2"
親トピック: values.yamlファイルの構成
4.2.13 トランザクション・トークンのプロパティ
transactionToken
に、トランザクション・トークンに使用するキー・ペアを指定します。
transactionTokenEnabled
をtrue
に設定する場合は、次の表に示す値の指定が必須です。
プロパティ | 説明 |
---|---|
transactionTokenEnabled |
MicroTxで署名付きトランザクション・トークンtmm-tx-token をリクエスト・ヘッダーに含める場合は、これをtrue に設定します。ユーザーがtmm-tx-token トランザクション・トークンを作成したり、リクエスト・ヘッダーで渡したりする必要はありません。MicroTxライブラリは、指定した秘密キーと公開キーのペアに基づいてこのトークンを作成します。キー・ペアの作成の詳細は、トランザクション・トークンのキー・ペアの作成を参照してください。
|
transactionTokenKeyPairVersion |
トランザクション・トークンの署名および検証に使用するキー・ペアのバージョンを入力します。複数のキー・ペアがある場合は、使用するキー・ペアのバージョンを指定する必要があります。 |
transactionTokenKeyPairs.keyPairs.privateKeyName |
秘密キーのbase64エンコード値を含むKubernetesシークレットの名前を入力します。 |
transactionTokenKeyPairs.keyPairs.publicKeyName |
公開キーのbase64エンコード値を含むKubernetesシークレットの名前を入力します。 |
transactionTokenKeyPairs.keyPairs.privateKeyPasswordName |
秘密キーの生成時に指定したパスフレーズの値を含むKubernetesシークレットの名前を入力します。 |
transactionTokenKeyPairs.keyPairs.version |
使用する秘密キーと公開キーのペアのバージョンを入力します。 |
次のコード・スニペットは、transactionToken
フィールドのサンプル値を示しています。
transactionToken:
transactionTokenEnabled: "true"
transactionTokenKeyPairVersion: "1"
transactionTokenKeyPairs:
keyPairs:
- privateKeyName: "TMMPRIVKEY1"
publicKeyName: "TMMPUBKEY1"
privateKeyPasswordName: "TMMPRIVKEYPASSWD1"
version: "1"
- privateKeyName: "TMMPRIVKEY2"
publicKeyName: "TMMPUBKEY2"
privateKeyPasswordName: "TMMPRIVKEYPASSWD2"
version: "2"
親トピック: values.yamlファイルの構成
4.2.14 コンソール構成のプロパティ
tmmConsoleConfiguration
で、MicroTxコンソールのプロパティを指定します。
プロパティ値を指定する前に、必ず次のタスクを完了してください。
- MicroTxコンソール・イメージをリモートDockerリポジトリにプッシュします。「リモートDockerリポジトリへのイメージのプッシュ」を参照してください。
- アイデンティティ・プロバイダを設定します。「Oracleアイデンティティ・プロバイダの設定」を参照してください。
- 管理者の権限を設定します。管理者は、MicroTxコンソールにアクセスして、すべてのユーザーによるトランザクションを表示および管理できます。管理者以外のユーザーは、自分が開始したトランザクションのみを表示および管理できます。他のユーザーのトランザクションは表示または管理できません。「YAMLファイルでの管理ロールの指定」および「アイデンティティ・プロバイダ・クライアント資格証明を含むシークレットの作成」を参照してください。
- Cookie暗号化パスワードを格納するKubernetesシークレットを作成します。「Cookie暗号化パスワードを含むシークレットの作成」を参照してください。
次の表で指定されているすべてのプロパティの値を指定する必要があります。
プロパティ | 説明 |
---|---|
tmmConsoleAppName |
作成するMicroTxアプリケーションの名前です。Helmは、指定した名前でコンソール・アプリケーションを作成します。 アプリケーションを識別する一意の名前を指定します。名前の先頭と末尾は英数字で、4文字から63文字とし、小文字のみを含める必要があります。オプションで、特殊文字としてハイフン(-)およびドット(.)を使用できます。たとえば、 |
tmmConsoleImage.image |
リモート・リポジトリ内のコンソール・イメージのパスを入力します。たとえば、iad.ocir.io/mytenancy/Console:RELEASE となります。
値を指定しない場合、コンソール・アプリケーションはデプロイされません。 |
tmmConsoleImage.imagePullPolicy |
インストール中に確実にイメージがプルされるように、Always を入力します。
|
tmmConsoleImage.imagePullSecret |
Dockerイメージのプルに使用するKubernetesシークレットの名前を指定します。DockerレジストリにアクセスするためのKubernetesシークレットの作成を参照してください。たとえば、regcred です。
|
port |
ポート番号を指定します。このポートとMicroTxコンソールの間のトラフィックが許可されるように、必要なネットワーキング・ルールが設定されていることを確認します。 |
cookieEncryptionPasswordSecretName |
コンソールのCookie暗号化パスワードを格納するために作成したKubernetesシークレットの名前を指定します。「Cookie暗号化パスワードを含むシークレットの作成」を参照してください。たとえば、console-cookie-encryption-password-secret となります。
|
次のコード・スニペットは、tmmConsoleConfiguration
のサンプル値を示しています。
tmmConsoleConfiguration:
tmmConsoleAppName: otmm-console
# If tmmConsoleImage.image is empty, the console application is not deployed.
tmmConsoleImage:
image: iad.ocir.io/mytenancy/Console:RELEASE
imagePullPolicy: Always
imagePullSecret: regcred
port: 8080
cookieEncryptionPasswordSecretName: "console-cookie-encryption-password-secret"
親トピック: values.yamlファイルの構成