自動化プロセスについて
.spec.ttspec.clientTLSを指定し、.spec.ttspec.clientTLS.auto: trueを設定した場合のTimesTenオペレータの処理を確認してみましょう。
-
TimesTenオペレータがTimesTen
ttCreateCerts -dir <temporary_directory>ユーティリティを実行します。.spec.ttspec.clientTLSで指定した設定に応じて、ttCreateCertsユーティリティに対する追加オプションをTimesTenオペレータから提示される場合があります。詳細は、次を参照してください。-
『Oracle TimesTen In-Memory Databaseリファレンス』のttCreateCertsユーティリティを参照してください。
-
TimesTenオペレータは、Oracleウォレットを含む2つのディレクトリを作成します。これらのウォレットには、
ttCreateCertsユーティリティによって作成された自己署名証明書が含まれます。-
/serverWallet/cwallet.sso: TimesTenサーバーの自己署名証明書が含まれます。 -
/clientWallet/cwallet.sso: TimesTenクライアントの自己署名証明書が含まれます。
例として、sampletls-0という名前のポッドのttコンテナのディレクトリ構造を見てみましょう。[timesten@sampletls-0 /]$ pwd / [timesten@sampletls-0 /]$ ls -a serverWallet . .. cwallet.sso [timesten@sampletls-0 /]$ ls -a clientWallet . .. cwallet.sso/serverWallet/cwallet.ssoウォレットと/clientWallet/cwallet.ssoウォレットが存在することに着目してください。これらのウォレットには、クライアント/サーバーのTLS暗号化に必要な自己署名証明書が含まれています。 -
-
TimesTenオペレータによって、2つのKubernetesシークレットが作成されます:
-
<name_of_TimesTenClassic_object>-server(<name_of_TimesTenClassic_object>はTimesTenClassicオブジェクトの名前)。これは、/serverWallet/cwallet.ssoに格納され、TimesTenサーバーに使用される自己署名証明書を含むKubernetesシークレットです。TimesTenを実行するコンテナは、このシークレットをマウントするように構成されます。その結果、このファイルをTimesTenコンテナで使用できるようになります。
-
<name_of_TimesTenClassic_object>-client(<name_of_TimesTenClassic_object>はTimesTenClassicオブジェクトの名前)。これは、/clientWallet/cwallet.ssoに格納され、TimesTenクライアントに使用される自己署名証明書を含むKubernetesシークレットです。
例として、TimesTenオペレータがsampletlsという名前のTimesTenClassicオブジェクトに対して作成したKubernetesシークレットを見てみましょう。kubectl get secrets NAME TYPE DATA AGE sampletls-client Opaque 1 21m sampletls-server Opaque 1 21m ... -
- TimesTenオペレータは、
ttコンテナ内に/serverWalletディレクトリが存在するかどうかを確認します。存在する場合は、生成されるsys.odbc.iniファイルに、適切なWallet、CiphersuitesおよびEncryptionエントリが追加されます。これらのエントリは、db.iniメタデータ・ファイルまたは.spec.ttspec.clientTLSまたはその両方に配置できます。「自動クライアント/サーバーTLS暗号化のためのTimesTenClassicオブジェクトの構成について」を参照してください。
これらのステップを完了すると、TimesTenオペレータは、クライアント/サーバーのTLS暗号化用にTimesTenサーバーを自動的に構成します。
クライアント・アプリケーションについては、アプリケーションを実行するポッドを定義するときに、クライアント・シークレットをポッドにマウントできます。このシークレットからウォレットを直接参照するwalletエントリをsys.odbc.iniファイルに含めることもできます。この方法を示すステップは、「TimesTenClassicオブジェクトの構成およびデプロイ」に記載されています。