メインコンテンツまでスキップ
バージョン: 3.14

Secret リソースを使用して資格情報を環境変数としてプロパティ ファイルに渡す方法

注記

このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。

Kubernetes の Secret リソースを介して、usernamepassword などの資格情報を環境変数として渡すことができます。 Scalar 製品の以前のバージョンの Docker イメージは、プロパティ ファイルのテンプレート化に dockerize コマンドを使用します。 Scalar 製品の最新バージョンの Docker イメージは、環境変数から直接値を取得します。

注記:次の環境変数名は、Scalar Helm Chart の内部で使用されるため、カスタム値ファイルで使用できません。

HELM_SCALAR_DB_CONTACT_POINTS
HELM_SCALAR_DB_CONTACT_PORT
HELM_SCALAR_DB_USERNAME
HELM_SCALAR_DB_PASSWORD
HELM_SCALAR_DB_STORAGE
HELM_SCALAR_DL_LEDGER_PROOF_ENABLED
HELM_SCALAR_DL_LEDGER_AUDITOR_ENABLED
HELM_SCALAR_DL_LEDGER_PROOF_PRIVATE_KEY_PATH
HELM_SCALAR_DL_AUDITOR_SERVER_PORT
HELM_SCALAR_DL_AUDITOR_SERVER_PRIVILEGED_PORT
HELM_SCALAR_DL_AUDITOR_SERVER_ADMIN_PORT
HELM_SCALAR_DL_AUDITOR_LEDGER_HOST
HELM_SCALAR_DL_AUDITOR_CERT_HOLDER_ID
HELM_SCALAR_DL_AUDITOR_CERT_VERSION
HELM_SCALAR_DL_AUDITOR_CERT_PATH
HELM_SCALAR_DL_AUDITOR_PRIVATE_KEY_PATH
SCALAR_DB_LOG_LEVEL
SCALAR_DL_LEDGER_LOG_LEVEL
SCALAR_DL_AUDITOR_LOG_LEVEL
SCALAR_DB_CLUSTER_MEMBERSHIP_KUBERNETES_ENDPOINT_NAMESPACE_NAME
SCALAR_DB_CLUSTER_MEMBERSHIP_KUBERNETES_ENDPOINT_NAME
  1. 環境変数名をカスタム値ファイルのプロパティ構成に設定します。使用している製品に応じて、次の例を参照してください。
scalardbCluster:
scalardbClusterNodeProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
  1. 資格情報を含む Secret リソースを作成します。 Secret のキーとして環境変数名を指定する必要があります。

    • kubectl create secret generic scalardb-credentials-secret \
      --from-literal=SCALAR_DB_USERNAME=postgres \
      --from-literal=SCALAR_DB_PASSWORD=postgres
  2. カスタム値ファイル内の次のキーに Secret 名を設定します。使用している製品に応じて、次の例を参照してください。

キー: scalardbCluster.secretName

scalardbCluster:
secretName: "scalardb-cluster-credentials-secret"
  1. 上記のカスタム値ファイルを使用して Scalar 製品をデプロイします。

    Scalar 製品をデプロイした後、Go テンプレート文字列 (環境変数) は Secret の値に置き換えられます。

      • カスタム値ファイル

        scalardb:
        databaseProperties: |
        scalar.db.contact_points=jdbc:postgresql://postgresql-scalardb.default.svc.cluster.local:5432/postgres
        scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
        scalar.db.password={{ default .Env.SCALAR_DB_PASSWORD "" }}
        scalar.db.storage=jdbc
      • コンテナ内のプロパティ ファイル

        scalar.db.contact_points=jdbc:postgresql://postgresql-scalardb.default.svc.cluster.local:5432/postgres
        scalar.db.username=postgres
        scalar.db.password=postgres
        scalar.db.storage=jdbc

    Apache Commons Text 構文を使用する場合、Scalar 製品は環境変数から直接値を取得します。