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

ScalarDB Analytics with PostgreSQL のカスタム値ファイルを構成する

注記

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

このドキュメントでは、PostgreSQL チャートを使用した ScalarDB Analytics のカスタム値ファイルを作成する方法について説明します。パラメーターの詳細については、ScalarDB Analytics with PostgreSQL チャートの README を参照してください。

必要な構成

このセクションでは、ScalarDB Analytics with PostgreSQL のカスタム値ファイルを設定するときに必要な構成について説明します。

データベース構成

ScalarDB Analytics with PostgreSQL 経由でデータベースにアクセスするには、database.properties ファイルの構成に使用するのと同じ構文に従って、scalardbAnalyticsPostgreSQL.databaseProperties パラメータを設定する必要があります。設定の詳細については、ScalarDB Configurations を参照してください。

scalardbAnalyticsPostgreSQL:
databaseProperties: |
scalar.db.contact_points=localhost
scalar.db.username=${env:SCALAR_DB_USERNAME:-}
scalar.db.password=${env:SCALAR_DB_PASSWORD:-}
scalar.db.storage=cassandra

データベース名前空間の構成

ScalarDB Analytics with PostgreSQL 経由で読み取りたいテーブルを含むすべてのデータベース名前空間に schemaImporter.namespaces を設定する必要があります。

schemaImporter:
namespaces:
- namespace1
- namespace2
- namespace3

オプションの構成

このセクションでは、ScalarDB Analytics with PostgreSQL のカスタム値ファイルを設定する場合のオプションの構成について説明します。

リソース構成 (実稼働環境で推奨)

Kubernetes でリクエストと制限を使用してポッドリソースを制御するには、scalardbAnalyticsPostgreSQL.resources を使用できます。

Kubernetes のリクエストと制限と同じ構文を使用して、リクエストと制限を構成できます。Kubernetes のリクエストと制限の詳細については、Resource Management for Pods and Containers を参照してください。

scalardbAnalyticsPostgreSQL:
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 2000m
memory: 4Gi

シークレット構成 (運用環境で推奨)

環境変数を使用して scalardbAnalyticsPostgreSQL.databaseProperties で資格情報などのいくつかのプロパティを設定するには、scalardbAnalyticsPostgreSQL.secretName を使用していくつかの資格情報を含むシークレットリソースを指定します。

たとえば、環境変数を使用してバックエンドデータベースの資格情報 (scalar.db.username および scalar.db.password) を設定できるため、ポッドの安全性が高まります。

シークレットリソースの使用方法の詳細については、[シークレットリソースを使用して資格情報を環境変数としてプロパティファイルに渡す方法(./use-secret-for-credentials.mdx)を参照してください。

scalardbAnalyticsPostgreSQL:
secretName: "scalardb-analytics-postgresql-credentials-secret"

アフィニティ構成 (運用環境で推奨)

Kubernetes でアフィニティとアンチアフィニティを使用してポッドのデプロイメントを制御するには、scalardbAnalyticsPostgreSQL.affinity を使用できます。

Kubernetes のアフィニティとアンチアフィニティと同じ構文を使用して、アフィニティとアンチアフィニティを構成できます。Kubernetes でのアフィニティの構成の詳細については、Assigning Pods to Nodes を参照してください。

scalardbAnalyticsPostgreSQL:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- scalardb-analytics-postgresql
- key: app.kubernetes.io/app
operator: In
values:
- scalardb-analytics-postgresql
topologyKey: kubernetes.io/hostname

SecurityContext 設定 (デフォルト値を推奨)

PostgreSQL ポッドを使用して ScalarDB Analytics の SecurityContext と PodSecurityContext を設定するには、scalardbAnalyticsPostgreSQL.securityContextscalardbAnalyticsPostgreSQL.podSecurityContext、および schemaImporter.securityContext を使用できます。

Kubernetes の SecurityContext および PodSecurityContext と同じ構文を使用して、SecurityContext および PodSecurityContext を構成できます。Kubernetes の SecurityContext および PodSecurityContext 構成の詳細については、Configure a Security Context for a Pod or Container を参照してください。

scalardbAnalyticsPostgreSQL:
podSecurityContext:
fsGroup: 201
seccompProfile:
type: RuntimeDefault
securityContext:
capabilities:
drop:
- ALL
runAsNonRoot: true
runAsUser: 999
allowPrivilegeEscalation: false

schemaImporter:
securityContext:
capabilities:
drop:
- ALL
runAsNonRoot: true
allowPrivilegeEscalation: false

画像構成 (デフォルト値を推奨)

イメージリポジトリを変更する場合は、scalardbAnalyticsPostgreSQL.image.repositoryschemaImporter.image.repository を使用して、プルする ScalarDB Analytics with PostgreSQL および Schema Importer イメージのコンテナリポジトリ情報を指定できます。

scalardbAnalyticsPostgreSQL:
image:
repository: <SCALARDB_ANALYTICS_WITH_POSTGRESQL_CONTAINER_IMAGE>

schemaImporter:
image:
repository: <SCHEMA_IMPORTER_CONTAINER_IMAGE>

レプリカ構成 (環境に応じてオプション)

scalardbAnalyticsPostgreSQL.replicaCount を使用して、PostgreSQL レプリカ (ポッド) を使用した ScalarDB Analytics の数を指定できます。

scalardbAnalyticsPostgreSQL:
replicaCount: 3

PostgreSQL データベース名の構成 (環境に応じてオプション)

PostgreSQL で作成するデータベース名を指定できます。Schema Importer は、ScalarDB Analytics with PostgreSQL のビューなど、いくつかのオブジェクトをこのデータベースに作成します。

scalardbAnalyticsPostgreSQL:
postgresql:
databaseName: scalardb

PostgreSQL スーパーユーザーのパスワード設定 (環境に応じてオプション)

PostgreSQL のスーパーユーザーのパスワードを含むシークレット名を指定できます。

scalardbAnalyticsPostgreSQL:
postgresql:
secretName: scalardb-analytics-postgresql-superuser-password
注記

ScalarDB Analytics with PostgreSQL をデプロイする前に、この名前 (デフォルトでは scalardb-analytics-postgresql-superuser-password) でシークレットリソースを作成する必要があります。詳細については、シークレットリソースを準備するを参照してください。

汚染と許容の構成 (環境に応じてオプション)

Kubernetes でテイントと許容を使用してポッドのデプロイメントを制御したい場合は、scalardbAnalyticsPostgreSQL.tolerations を使用できます。

Kubernetes の許容と同じ構文を使用して、テイントと許容を構成できます。Kubernetes での許容設定の詳細については、Kubernetes の公式ドキュメント Taints and Tolerations を参照してください。

scalardbAnalyticsPostgreSQL:
tolerations:
- effect: NoSchedule
key: scalar-labs.com/dedicated-node
operator: Equal
value: scalardb-analytics-postgresql
This website uses cookies to enhance the visitor experience. By continuing to use this website, you acknowledge that you have read and understood our privacy policy and consent to the use of cookies to help improve your browsing experience and provide you with personalized content.