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 Server
-
ScalarDB Server 3.7 以前 (Go テンプレート構文)
scalardb:
databaseProperties: |
...
scalar.db.username={{ default .Env.SCALAR_DB_USERNAME "" }}
scalar.db.password={{ default .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 Cluster
scalardbCluster:
scalardbClusterNodeProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
... - ScalarDB Analytics with PostgreSQL
scalardbAnalyticsPostgreSQL:
databaseProperties: |
...
scalar.db.username=${env:SCALAR_DB_USERNAME}
scalar.db.password=${env:SCALAR_DB_PASSWORD}
... - ScalarDL Ledger
-
ScalarDL Ledger 3.7 以前 (Go テンプレート構文)
ledger:
ledgerProperties: |
...
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 Auditor
-
ScalarDL Auditor 3.7 以前 (Go テンプレート構文)
auditor:
auditorProperties: |
...
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 Schema Loader
-
ScalarDL Schema Loader 3.7 以前 (Go テンプレート構文)
schemaLoading:
databaseProperties: |
...
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}
...
-
- ScalarDB Server
- 例
-
資格情報を含む
Secret
リソースを作成します。Secret
のキーとして環境変数名を指定する必要があります。- 例
kubectl create secret generic scalardb-credentials-secret \
--from-literal=SCALAR_DB_USERNAME=postgres \
--from-literal=SCALAR_DB_PASSWORD=postgres
- 例
-
カスタム値ファイル内の次のキーに
Secret
名を設定します。- キー
scalardb.secretName
(ScalarDB Server)scalardbCluster.secretName
(ScalarDB Cluster)scalardbAnalyticsPostgreSQL.secretName
(ScalarDB Analytics with PostgreSQL)ledger.secretName
(ScalarDL Ledger)auditor.secretName
(ScalarDL Auditor)schemaLoading.secretName
(ScalarDL Schema Loader)
- 例
- ScalarDB Server
scalardb:
secretName: "scalardb-credentials-secret" - ScalarDB Cluster
scalardbCluster:
secretName: "scalardb-cluster-credentials-secret" - ScalarDB Analytics with PostgreSQL
scalardbAnalyticsPostgreSQL:
secretName: scalardb-analytics-postgresql-credentials-secret - ScalarDL Ledger
ledger:
secretName: "ledger-credentials-secret" - ScalarDL Auditor
auditor:
secretName: "auditor-credentials-secret" - ScalarDL Schema Loader
schemaLoading:
secretName: "schema-loader-ledger-credentials-secret"
- ScalarDB Server
- キー
-
上記のカスタム値ファイルを使用して 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 製品は環境変数から直接値を取得します。
- 例