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

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 製品は環境変数から直接値を取得します。