Secret リソースを使用して資格情報を環境変数としてプロパティ ファイルに渡す方法
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
Kubernetes の Secret
リソースを介して、username や password などの資格情報を環境変数として渡すことができます。 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
- 環境変数名をカスタム値ファイルのプロパティ構成に設定します。使用している製品に応じて、次の例を参照してください。
- ScalarDB Cluster
- ScalarDB Analytics with PostgreSQL
- ScalarDB Server (非推奨)
- ScalarDL Ledger
- ScalarDL Auditor
- ScalarDL Schema Loader
scalardbCluster:
scalardbClusterNodeProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
scalardbAnalyticsPostgreSQL:
databaseProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
ScalarDB Server 3.8 以降 (Apache Commons Text 構文)
scalardb:
databaseProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
ScalarDB Server 3.7 以前 (Go テンプレート構文)
scalardb:
databaseProperties: |
...
scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
scalar.db.password={{ default .Env.SCALAR_DB_PASSWORD "" }}
...
ScalarDL Ledger 3.8 以降 (Apache Commons Text 構文)
ledger:
ledgerProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
ScalarDL Ledger 3.7 以前 (Go テンプレート構文)
ledger:
ledgerProperties: |
...
scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
scalar.db.password={{ default .Env.SCALAR_DB_PASSWORD "" }}
...
ScalarDL Auditor 3.8 以降 (Apache Commons Text 構文)
auditor:
auditorProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
ScalarDL Auditor 3.7 以前 (Go テンプレート構文)
auditor:
auditorProperties: |
...
scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
scalar.db.password={{ default .Env.SCALAR_DB_PASSWORD "" }}
...
ScalarDL Schema Loader 3.8 以降 (Apache Commons Text 構文)
schemaLoading:
databaseProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
...
ScalarDL Schema Loader 3.7 以前 (Go テンプレート構文)
schemaLoading:
databaseProperties: |
...
scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
scalar.db.password={{ default .Env.SCALAR_DB_PASSWORD "" }}
...
-
資格情報を含む
Secret
リソースを作成します。Secret
のキーとして環境変数名を指定する必要があります。- 例
kubectl create secret generic scalardb-credentials-secret \
--from-literal=SCALAR_DB_USERNAME=postgres \
--from-literal=SCALAR_DB_PASSWORD=postgres
- 例
-
カスタム値ファイル内の次のキーに
Secret
名を設定します。使用している製品に応じて、次の例を参照してください。
- ScalarDB Cluster
- ScalarDB Analytics with PostgreSQL
- ScalarDB Server (非推奨)
- ScalarDL Ledger
- ScalarDL Auditor
- ScalarDL Schema Loader
キー: scalardbCluster.secretName
scalardbCluster:
secretName: "scalardb-cluster-credentials-secret"
キー: scalardbAnalyticsPostgreSQL.secretName
scalardbAnalyticsPostgreSQL:
secretName: "scalardb-analytics-postgresql-credentials-secret"
キー: scalardb.secretName
scalardb:
secretName: "scalardb-credentials-secret"
キー: ledger.secretName
ledger:
secretName: "ledger-credentials-secret"
キー: auditor.secretName
auditor:
secretName: "auditor-credentials-secret"
キー: schemaLoading.secretName
schemaLoading:
secretName: "schema-loader-ledger-credentials-secret"
-
上記のカスタム値ファイルを使用して 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 製品は環境変数から直接値を取得します。
- 例