自動化プロセスについて

TimesTenClassicオブジェクト定義で.spec.ttspec.clientTLSを指定し、.spec.ttspec.clientTLS.auto: trueを設定した場合のTimesTenオペレータの処理を確認してみましょう。
  • TimesTenオペレータがTimesTen ttCreateCerts -dir <temporary_directory>ユーティリティを実行します。.spec.ttspec.clientTLSで指定した設定に応じて、ttCreateCertsユーティリティに対する追加オプションをTimesTenオペレータから提示される場合があります。

    詳細は、次を参照してください。
  • 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ファイルに、適切なWalletCiphersuitesおよびEncryptionエントリが追加されます。これらのエントリは、db.iniメタデータ・ファイルまたは.spec.ttspec.clientTLSまたはその両方に配置できます。「自動クライアント/サーバーTLS暗号化のためのTimesTenClassicオブジェクトの構成について」を参照してください。

これらのステップを完了すると、TimesTenオペレータは、クライアント/サーバーのTLS暗号化用にTimesTenサーバーを自動的に構成します。

クライアント・アプリケーションについては、アプリケーションを実行するポッドを定義するときに、クライアント・シークレットをポッドにマウントできます。このシークレットからウォレットを直接参照するwalletエントリをsys.odbc.iniファイルに含めることもできます。この方法を示すステップは、「TimesTenClassicオブジェクトの構成およびデプロイ」に記載されています。