ScalarDL Auditor のカスタム値ファイルを構成する
このドキュメントでは、ScalarDL Auditor チャートのカスタム値ファイルを作成する方法について説明します。パラメータの詳細を知りたい場合は、ScalarDL Auditor チャートの README を参照してください。
必要な構成
Scalar Envoy 構成
ScalarDL Auditor のカスタム値ファイルで Scalar Envoy 構成を設定する必要があります。これは、ScalarDL Auditor を Kubernetes 環境にデプロイする場合、クライアントリクエストが gRPC リクエストのロードバランサーとして Scalar Envoy 経由で ScalarDL Auditor に送信されるためです。
Scalar Envoy 構成の詳細については、ドキュメント Scalar Envoy のカスタム値ファイルの構成を参照してください。
envoy:
configurationsForScalarEnvoy:
...
auditor:
configurationsForScalarDLAuditor:
...
画像構成
auditor.image.repository を設定する必要があります。コンテナーリポジトリからイメージをプルできるように、必ず ScalarDL Auditor コンテナーイメージを指定してください。
auditor:
image:
repository: <SCALARDL_AUDITOR_CONTAINER_IMAGE>
Scalar 製品のコンテナリポジトリの詳細については、Scalar 製品のコンテナイメージを取得する方法を参照してください。
Auditor / データベースの構成
auditor.auditorProperties を設定する必要があります。auditor.properties をこのパラメータに設定してください。ScalarDL Auditor の設定の詳細については、auditor.properties を参照してください。
auditor:
auditorProperties: |
scalar.db.contact_points=localhost
scalar.db.username=cassandra
scalar.db.password=cassandra
scalar.db.storage=cassandra
scalar.dl.auditor.ledger.host=<Host name to access ScalarDL Ledger pods>
scalar.dl.auditor.private_key_path=/keys/auditor-key-file
scalar.dl.auditor.cert_path=/keys/auditor-cert-file
キー/証明書の構成
秘密鍵ファイルを scalar.dl.auditor.private_key_path に設定し、証明書ファイルを scalar.dl.auditor.cert_path に設定する必要があります。
秘密鍵ファイルと証明書ファイルも ScalarDL Auditor ポッドにマウントする必要があります。
秘密鍵ファイルと証明書ファイルをマウントする方法の詳細については、ScalarDL Helm Charts のポッドに秘密鍵ファイルと証明書ファイルをマウントするを参照してください。
オプションの構成
リソース構成 (本番環境で推奨)
Kubernetes のリクエストと制限を使用してポッドリソースを制御したい場合は、auditor.resources を使用できます。
商用ライセンスの観点から、Scalar 製品の1つのポッドのリソースは 2vCPU / 4GB メモリに制限されていることに注意してください。また、AWS Marketplace から提供される従量課金制のコンテナを取得する場合、resources.limits で 2vCPU / 4GB を超えるメモリ構成でそれらのコンテナを実行することはできません。この制限を超えると、ポッドは自動的に停止されます。
これらは、Kubernetes のリクエストと制限と同じ構文を使用して構成できます。そのため、Kubernetes の要求と制限の詳細については、公式ドキュメント Resource Management for Pods and Containers を参照してください。
auditor:
resources:
requests:
cpu: 2000m
memory: 4Gi
limits:
cpu: 2000m
memory: 4Gi
シークレット構成
環境変数を使用して auditor.auditorProperties 内の一部のプロパティ (資格情報など) を設定したい場合は、auditor.secretName を使用して、いくつかの資格情報を含む Secret リ ソースを指定できます。
たとえば、環境変数を使用してバックエンドデータベースの資格情報 (scalar.db.username および scalar.db.password) を設定でき、これによりポッドの安全性が高まります。
Secret リソースの使用方法の詳細については、ドキュメント Secret リソースを使用して資格情報を環境変数としてプロパティファイルに渡す方法を参照してください。
auditor:
secretName: "auditor-credentials-secret"
Affinity configurations (Recommended in the production environment)
Kubernetes のアフィニテ ィと反アフィニティを使用してポッドのデプロイメントを制御したい場合は、auditor.affinity を使用できます。
Kubernetes のアフィニティと同じ構文を使用して構成できます。そのため、Kubernetes のアフィニティ設定の詳細については、公式ドキュメント Assigning Pods to Nodes を参照してください。
auditor:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- scalardl-audit
- key: app.kubernetes.io/app
operator: In
values:
- auditor
topologyKey: kubernetes.io/hostname
weight: 50