Skip to content

Commit 2f702ca

Browse files
AUTO: Sync Helm Charts docs to ScalarDL docs site repo (#1042)
Co-authored-by: josh-wong <[email protected]>
1 parent 6ca942f commit 2f702ca

File tree

5 files changed

+287
-107
lines changed

5 files changed

+287
-107
lines changed

i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/version-3.10/helm-charts/configure-custom-values-envoy.mdx

Lines changed: 2 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ displayed_sidebar: docsJapanese
99

1010
import Tabs from '@theme/Tabs';
1111
import TabItem from '@theme/TabItem';
12+
import CertificateManagement from '/src/components/ja-jp/_certificate-management.mdx';
1213

1314
このドキュメントでは、Scalar Envoy チャートのカスタム値ファイルを作成する方法について説明します。パラメータの詳細を知りたい場合は、Scalar Envoy チャートの [README](https://github.com/scalar-labs/helm-charts/blob/main/charts/envoy/README.md) を参照してください。
1415

@@ -166,50 +167,7 @@ AWS または Azure を使用している場合、詳細については次のド
166167
- クライアントと Scalar Envoy 間のダウンストリーム接続。
167168
- Scalar Envoy と Scalar 製品間のアップストリーム接続。
168169

169-
さらに、次の2つの観点からいくつかのオプションがあります。
170-
171-
1. 秘密鍵と証明書ファイルの管理
172-
1. [cert-manager](https://cert-manager.io/docs/) を使用して秘密鍵と証明書ファイルを自動的に管理します。
173-
- メンテナンスや運用のコストを削減できます。たとえば、cert-manager は証明書の有効期限が切れる前に自動的に更新し、Scalar Helm Chart は秘密鍵と証明書ファイルを Scalar 製品ポッドに自動的にマウントします。
174-
- cert-manager がサポートしていない CA は使用できません。サポートされている発行元は [cert-manager ドキュメント](https://cert-manager.io/docs/configuration/issuers/)で確認できます。
175-
1. 秘密鍵と証明書ファイルを手動で管理します。
176-
- ご自身のお好みの方法で、秘密鍵と証明書ファイルを発行・管理することができます。
177-
- cert-manager がサポートしていない場合でも、任意の証明書を使用できます。
178-
- 証明書の有効期限が切れた場合は、シークレットリソースを更新する必要があります。
179-
1. 証明書の種類
180-
1. 信頼できる CA (サードパーティによる署名付き証明書) を使用します。
181-
- サードパーティの証明書発行者からの信頼できる証明書を使用できます。
182-
- パケットを暗号化できます。
183-
- 信頼できる証明書を発行するには費用を支払う必要があります。
184-
1. 自己署名証明書を使用します。
185-
- 証明書発行にかかるコストを削減できます。
186-
- 証明書の信頼性は信頼できる CA よりも低くなりますが、パケットを暗号化できます。
187-
188-
つまり、次の4つのオプションがあります。
189-
190-
1. 自動管理で自己署名 CA を使用します。
191-
1. 自動管理で信頼できる CA を使用します。
192-
1. 手動管理で自己署名 CA を使用します。
193-
1. 手動管理で信頼できる CA を使用します。
194-
195-
セキュリティ要件に基づいて、どの方法を使用するかを検討する必要があります。各方法のガイダンスと関連ドキュメントについては、次の意思決定ツリーを参照してください。
196-
197-
```mermaid
198-
flowchart TD
199-
A[<a href='https://cert-manager.io/docs/'>cert-manager</a> を使用して<br />秘密鍵と証明書ファイルを<br />自動的に管理しますか?]
200-
A -->|はい、証明書を自動的に<br />管理したいです。| B
201-
A -->|いいえ、証明書は自分で手動で<br />管理したいです。| C
202-
B[自己署名 CA と<br />信頼された CA の<br />どちらを使用しますか?]
203-
C[自己署名 CA と<br />信頼された CA の<br />どちらを使用しますか?]
204-
B -->|自己署名 CA を<br />使用したいです。| D
205-
B -->|信頼できる CA <br />を使用したいです。| E
206-
C -->|自己署名 CA <br />を使用したいです。| F
207-
C -->|信頼できる CA <br />を使用したいです。| G
208-
D[<a href='#cert-manager-で自己署名-ca-を使用して秘密鍵と証明書ファイルを管理する'>cert-manager で自己署名 CA を使用して<br />秘密鍵と証明書ファイルを管理する</a><br />を参照してください。]
209-
E[<a href='#cert-manager-で信頼できる-ca-を使用して秘密鍵と証明書ファイルを管理する'>cert-manager で信頼できる CA を使用して<br />秘密鍵と証明書ファイルを管理する</a><br />を参照してください。]
210-
F[<a href='#秘密鍵と証明書ファイルを使用する'>秘密鍵と証明書ファイルを使用する</a>を参照し、<br />生成した自己署名証明書を使用します。]
211-
G[<a href='#秘密鍵と証明書ファイルを使用する'>秘密鍵と証明書ファイルを使用する</a>を参照し、<br />第三者によって生成された<br />信頼できる証明書を使用します。]
212-
```
170+
<CertificateManagement />
213171

214172
#### ダウンストリーム接続で TLS を有効にする
215173

Lines changed: 275 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,275 @@
1+
---
2+
tags:
3+
- Enterprise Option
4+
displayed_sidebar: docsJapanese
5+
---
6+
7+
# ScalarDB Analytics server のカスタム値ファイルを構成する
8+
9+
import CertificateManagement from '/src/components/ja-jp/_certificate-management.mdx';
10+
11+
このドキュメントでは、ScalarDB Analytics server チャートのカスタム値ファイルを作成する方法について説明します。パラメータの詳細については、ScalarDB Analytics server チャートの [README](https://github.com/scalar-labs/helm-charts/blob/main/charts/scalardb-analytics-server/README.md) を参照してください。
12+
13+
## 必要な構成
14+
15+
このセクションでは、必須の設定項目であるイメージ、データベース、およびサービスの構成について説明します。
16+
17+
### コンテナイメージ構成
18+
19+
`scalarDbAnalyticsServer.image.repository` を設定する必要があります。コンテナリポジトリからイメージをプルできるように、必ず ScalarDB Analytics server コンテナイメージを指定してください。
20+
21+
```yaml
22+
scalarDbAnalyticsServer:
23+
image:
24+
repository: <SCALARDB_ANALYTICS_SERVER_CONTAINER_IMAGE>
25+
```
26+
27+
### データベース構成
28+
29+
`scalarDbAnalyticsServer.properties` を設定する必要があります。このパラメータの値の設定の詳細については、[ScalarDB Analytics サーバー設定](https://scalardb.scalar-labs.com/ja-jp/docs/latest/scalardb-analytics/configuration)参照してください。
30+
31+
```yaml
32+
scalarDbAnalyticsServer:
33+
properties: |
34+
scalar.db.analytics.server.db.url=jdbc:postgresql://localhost:5432/scalardb_analytics
35+
scalar.db.analytics.server.db.username=analytics_user
36+
scalar.db.analytics.server.db.password=your_secure_password
37+
```
38+
39+
### サービス構成
40+
41+
Kubernetes のサービスリソースタイプを指定するには、`scalarDbAnalyticsServer.service.type` を設定する必要があります。
42+
43+
ScalarDB Analytics server が Kubernetes クラスターの内部からのみクライアントリクエストを受け入れる場合 (たとえば、クライアントアプリケーションを Scalar 製品と同じ Kubernetes クラスターにデプロイする場合)、`scalarDbAnalyticsServer.service.type` を `ClusterIP` に設定できます。この構成では、クラウドサービスプロバイダーが提供するロードバランサーは作成されません。
44+
45+
```yaml
46+
scalarDbAnalyticsServer:
47+
service:
48+
type: ClusterIP
49+
```
50+
51+
クラウドサービスプロバイダーが提供するロードバランサーを使用して、Kubernetes クラスターの外部からのクライアントリクエストを受け入れる場合は、`scalarDbAnalyticsServer.service.type` を `LoadBalancer` に設定する必要があります。
52+
53+
```yaml
54+
scalarDbAnalyticsServer:
55+
service:
56+
type: LoadBalancer
57+
```
58+
59+
アノテーションを介してロードバランサを設定したい場合は、アノテーションを `scalarDbAnalyticsServer.service.annotations` に設定することもできます。
60+
61+
```yaml
62+
scalarDbAnalyticsServer:
63+
service:
64+
type: LoadBalancer
65+
annotations:
66+
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
67+
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
68+
```
69+
70+
## オプションの構成
71+
72+
### シークレット構成 (運用環境で推奨)
73+
74+
環境変数を使用してプロパティ (資格情報など) を設定するには、`scalarDbAnalyticsServer.secretName` を使用して、資格情報を含む Secret リソースを指定します。
75+
76+
たとえば、環境変数を使用してバックエンドデータベースの資格情報 (`scalar.db.analytics.server.db.username` and `scalar.db.analytics.server.db.password`) を設定できるため、Pod の安全性が高まります。
77+
78+
```yaml
79+
scalarDbAnalyticsServer:
80+
secretName: "scalardb-analytics-server-credentials-secret"
81+
```
82+
83+
:::tip
84+
85+
ScalarDB Analytics server は、特定の環境変数から設定を自動的に読み込みます。環境変数の命名規則は次のとおりです。
86+
87+
- プロパティ名のすべての文字を大文字にします。
88+
- ピリオド (`.`) を アンダースコア (`_`) に置き換えます。
89+
90+
たとえば、`scalar.db.analytics.server.db.username` と `scalar.db.analytics.server.db.password` を環境変数で設定する場合は、`SCALAR_DB_ANALYTICS_SERVER_DB_USERNAME` と `SCALAR_DB_ANALYTICS_SERVER_DB_PASSWORD` という環境変数を設定する必要があります。
91+
92+
この場合、`scalarDbAnalyticsServer.properties` で `scalar.db.analytics.server.db.username` と `scalar.db.analytics.server.db.password` を設定する必要はありません。環境変数のみを設定すれば十分です。
93+
94+
たとえば、次のようにして、`SCALAR_DB_ANALYTICS_SERVER_DB_USERNAME` と `SCALAR_DB_ANALYTICS_SERVER_DB_PASSWORD` を含むシークレットリソースを作成できます。
95+
96+
```console
97+
kubectl create secret generic scalardb-analytics-server-credentials-secret \
98+
--from-literal=SCALAR_DB_ANALYTICS_SERVER_DB_USERNAME=analytics_user \
99+
--from-literal=SCALAR_DB_ANALYTICS_SERVER_DB_PASSWORD=your_secure_password
100+
```
101+
102+
:::
103+
104+
### SecurityContext 設定 (デフォルト値を推奨)
105+
106+
ScalarDB Analytics server Pod の SecurityContext と PodSecurityContext を設定するには、`scalarDbAnalyticsServer.securityContext` と `scalarDbAnalyticsServer.podSecurityContext` を使用できます。
107+
108+
Kubernetes の SecurityContext および PodSecurityContext と同じ構文を使用して、SecurityContext および PodSecurityContext を構成できます。Kubernetes の SecurityContext および PodSecurityContext 構成の詳細については、[Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) を参照してください。
109+
110+
```yaml
111+
scalarDbAnalyticsServer:
112+
podSecurityContext:
113+
seccompProfile:
114+
type: RuntimeDefault
115+
securityContext:
116+
capabilities:
117+
drop:
118+
- ALL
119+
runAsNonRoot: true
120+
allowPrivilegeEscalation: false
121+
```
122+
123+
### TLS 構成 (環境に応じてオプション)
124+
125+
TLS は、次の通信で有効にできます:
126+
127+
- ScalarDB Analytics server とクライアント間の通信。
128+
129+
<CertificateManagement />
130+
131+
#### TLS を有効にする
132+
133+
次の構成を使用して、すべての ScalarDB Analytics server 接続で TLS を有効にできます。
134+
135+
```yaml
136+
scalarDbAnalyticsServer:
137+
properties: |
138+
...(omit)...
139+
scalar.db.analytics.server.tls.enabled=true
140+
scalar.db.analytics.server.tls.cert_chain_path=/tls/scalardb-analytics-server/certs/tls.crt
141+
scalar.db.analytics.server.tls.private_key_path=/tls/scalardb-analytics-server/certs/tls.key
142+
tls:
143+
enabled: true
144+
```
145+
146+
:::note
147+
148+
cert-manager によって生成される秘密鍵と証明書の仕様、およびこの表の仕様に基づき、TLS 機能を有効にする場合は、固定のファイルパスとファイル名を設定する必要があります。`scalar.db.analytics.server.tls.cert_chain_path` および `scalar.db.analytics.server.tls.private_key_path` には、上記のファイルパスとファイル名をそのまま設定してください。
149+
150+
:::
151+
152+
##### 秘密鍵と証明書ファイルを使用する
153+
154+
次の構成を使用して、秘密鍵と証明書ファイルを設定できます。
155+
156+
```yaml
157+
scalarDbAnalyticsServer:
158+
tls:
159+
enabled: true
160+
caRootCertSecret: "scalardb-analytics-server-tls-ca"
161+
certChainSecret: "scalardb-analytics-server-tls-cert"
162+
privateKeySecret: "scalardb-analytics-server-tls-key"
163+
```
164+
165+
この場合、次のように山括弧内の内容を置き換えて、ScalarDB Analytics server の秘密鍵と証明書ファイルを含むシークレットリソースを作成する必要があります。
166+
167+
```console
168+
kubectl create secret generic scalardb-analytics-server-tls-ca --from-file=ca.crt=<PATH_TO_YOUR_CA_CERTIFICATE_FILE_FOR_SCALARDB_ANALYTICS_SERVER> -n <NAMESPACE>
169+
kubectl create secret generic scalardb-analytics-server-tls-cert --from-file=tls.crt=<PATH_TO_YOUR_CERTIFICATE_FILE_FOR_SCALARDB_ANALYTICS_SERVER> -n <NAMESPACE>
170+
kubectl create secret generic scalardb-analytics-server-tls-key --from-file=tls.key=<PATH_TO_YOUR_PRIVATE_KEY_FILE_FOR_SCALARDB_ANALYTICS_SERVER> -n <NAMESPACE>
171+
```
172+
173+
秘密鍵と証明書ファイルを準備する方法の詳細については、[Scalar 製品の秘密鍵と証明書ファイルを作成する方法](../scalar-kubernetes/HowToCreateKeyAndCertificateFiles.mdx)を参照してください。
174+
175+
##### cert-manager で信頼できる CA を使用して秘密鍵と証明書ファイルを管理する
176+
177+
次の構成を使用して、山括弧内の内容を説明に従って置き換えることで、cert-manager で秘密鍵と証明書ファイルを管理できます。
178+
179+
:::note
180+
181+
* cert-manager を使用する場合は、cert-manager をデプロイし、`Issuers` リソースを準備する必要があります。詳細については、cert-manager のドキュメント、[インストール](https://cert-manager.io/docs/installation/)および[発行者構成](https://cert-manager.io/docs/configuration/)を参照してください。
182+
* デフォルトでは、Scalar Helm Chart は Scalar 製品の証明書要件を満たす `Certificate` リソースを作成します。デフォルトの証明書構成が推奨されますが、カスタム証明書構成を使用する場合は、Scalar 製品の証明書要件を満たす必要があります。詳細については、[Scalar 製品の秘密鍵と証明書ファイルを作成する方法](../scalar-kubernetes/HowToCreateKeyAndCertificateFiles.mdx#certificate-requirements)を参照してください。
183+
184+
:::
185+
186+
```yaml
187+
scalarDbAnalyticsServer:
188+
tls:
189+
enabled: true
190+
certManager:
191+
enabled: true
192+
issuerRef:
193+
name: <YOUR_TRUSTED_CA>
194+
dnsNames:
195+
- server.analytics.scalardb.example.com
196+
```
197+
198+
この場合、cert-manager は信頼できる発行者を使用して秘密鍵と証明書ファイルを発行します。秘密鍵と証明書ファイルを手動でマウントする必要はありません。
199+
200+
##### cert-manager で自己署名 CA を使用して秘密鍵と証明書ファイルを管理する
201+
202+
次の構成を使用して、cert-manager で秘密鍵と自己署名証明書ファイルを管理できます。
203+
204+
:::note
205+
206+
* cert-manager を使用する場合は、cert-manager をデプロイする必要があります。詳細については、cert-manager のドキュメント[インストール](https://cert-manager.io/docs/installation/)を参照してください。
207+
* デフォルトでは、Scalar Helm Chart は Scalar 製品の証明書要件を満たす `Certificate` リソースを作成します。デフォルトの証明書構成が推奨されますが、カスタム証明書構成を使用する場合は、Scalar 製品の証明書要件を満たす必要があります。詳細については、[Scalar 製品の秘密鍵と証明書ファイルを作成する方法](../scalar-kubernetes/HowToCreateKeyAndCertificateFiles.mdx#certificate-requirements)を参照してください。
208+
209+
:::
210+
211+
```yaml
212+
scalarDbAnalyticsServer:
213+
tls:
214+
enabled: true
215+
certManager:
216+
enabled: true
217+
selfSigned:
218+
enabled: true
219+
dnsNames:
220+
- server.analytics.scalardb.example.com
221+
```
222+
223+
この場合、Scalar Helm Charts と cert-manager が秘密鍵と自己署名証明書ファイルを発行します。秘密鍵と証明書ファイルを手動でマウントする必要はありません。
224+
225+
##### TLS通信のカスタム権限を設定する
226+
227+
`scalarDbAnalyticsServer.tls.overrideAuthority` を使用して、TLS 通信のカスタム権限を設定できます。この値によって、実際に接続されているホストが変わることはありません。この値はテスト用ですが、DNS オーバーライドの代替としてテスト以外でも安全に使用できます。たとえば、`scalarDbAnalyticsServer.tls.certChainSecret` を使用して設定した証明書チェーンファイルで提示されるホスト名を指定できます。このチャートでは、ヘルスチェックリクエスト (`startupProbe` と `livenessProbe`) にこの値を使用しています。
228+
229+
```yaml
230+
scalarDbAnalyticsServer:
231+
tls:
232+
enabled: true
233+
overrideAuthority: "server.analytics.scalardb.example.com"
234+
```
235+
236+
### アフィニティ構成 (環境に応じてオプション)
237+
238+
Kubernetes でアフィニティとアンチアフィニティを使用して Pod のデプロイメントを制御するには、`scalarDbAnalyticsServer.affinity` を使用できます。
239+
240+
Kubernetes のアフィニティとアンチアフィニティと同じ構文を使用して、アフィニティとアンチアフィニティを構成できます。Kubernetes でのアフィニティの構成の詳細については、[Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) を参照してください。
241+
242+
```yaml
243+
scalarDbAnalyticsServer:
244+
affinity:
245+
podAntiAffinity:
246+
preferredDuringSchedulingIgnoredDuringExecution:
247+
- podAffinityTerm:
248+
labelSelector:
249+
matchExpressions:
250+
- key: app.kubernetes.io/name
251+
operator: In
252+
values:
253+
- scalardb-analytics-server
254+
- key: app.kubernetes.io/app
255+
operator: In
256+
values:
257+
- scalardb-analytics-server
258+
topologyKey: kubernetes.io/hostname
259+
weight: 50
260+
```
261+
262+
### 汚染と許容の構成 (環境に応じてオプション)
263+
264+
Kubernetes のテイントと許容を使用して Pod のデプロイメントを制御したい場合は、`scalarDbAnalyticsServer.tolerations` を使用できます。
265+
266+
Kubernetes の許容と同じ構文を使用して、テイントと許容を構成できます。Kubernetes での許容設定の詳細については、Kubernetes の公式ドキュメント [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) を参照してください。
267+
268+
```yaml
269+
scalarDbAnalyticsServer:
270+
tolerations:
271+
- effect: NoSchedule
272+
key: scalar-labs.com/dedicated-node
273+
operator: Equal
274+
value: scalardb-analytics-server
275+
```

0 commit comments

Comments
 (0)