Skip to content

Commit

Permalink
AUTO: Sync Helm Charts docs to ScalarDB Enterprise docs site repo
Browse files Browse the repository at this point in the history
  • Loading branch information
josh-wong committed Feb 26, 2024
1 parent 3742d36 commit 133721e
Show file tree
Hide file tree
Showing 32 changed files with 5,355 additions and 0 deletions.
9 changes: 9 additions & 0 deletions docs/ja-jp/3.9/helm-charts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# インデックス

## ユーザー向け
* [Scalar Helm Charts の入門](getting-started-scalar-helm-charts.md)
* [Scalar Helm Charts のカスタム値ファイルを構成する](configure-custom-values-file.md)
* [Scalar Helm Chart を使用して Scalar 製品をデプロイする](how-to-deploy-scalar-products.md)

## 開発者向け
* [リリースフロー](ReleaseFlow.md)
24 changes: 24 additions & 0 deletions docs/ja-jp/3.9/helm-charts/ReleaseFlow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# リリースフロー

## 要件
| 名前 | バージョン | 必須 | リンク |
|:------|:-------|:----------|:------|
| Helm | 3.2.1 以降 | いいえ | https://helm.sh/docs/intro/install/ |

## リリース
* ブランチを作成します (`prepare-release-*`)。
* タグは必ず対象バージョンの前のバージョンから作成してください。
``` console
$ git checkout -b prepare-release-v3.0.2 refs/tags/scalardl-3.0.1
```

*`helm-charts``Chart.yaml``version` をリリースするバージョンに設定する必要があります。
``` yaml
version: 3.0.2
```
* コミットをリモート リポジトリにプッシュします。
``` console
$ git push origin prepare-release-v3.0.2
```

* この場合、リリースの `Github Actions``Git Push` 時に実行されます。
174 changes: 174 additions & 0 deletions docs/ja-jp/3.9/helm-charts/configure-custom-values-envoy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# Scalar Envoy のカスタム値ファイルを構成する

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

## Scalar Envoy チャートのカスタム値を構成する

Scalar Envoy チャートは他のチャート (scalardb、scalardb-cluster、scalardl、scalardl-audit) 経由で使用されるため、Scalar Envoy チャートのカスタム値ファイルを作成する必要はありません。 Scalar Envoy を設定したい場合は、`envoy.*` 設定を他のチャートに追加する必要があります。

たとえば、ScalarDB Server 用に Scalar Envoy を構成する場合は、次のように ScalarDB のカスタム値ファイルでいくつかの Scalar Envoy 構成を構成できます。

* 例 (scalardb-custom-values.yaml)
```yaml
envoy:
configurationsForScalarEnvoy:
...

scalardb:
configurationsForScalarDB:
...
```
## 必要な構成
### サービス構成
Kubernetes のサービス リソース タイプを指定するには、`envoy.service.type` を設定する必要があります。

Kubernetes クラスターの内部からのみクライアント リクエストを受け入れる場合 (たとえば、クライアント アプリケーションを Scalar 製品と同じ Kubernetes クラスターにデプロイする場合)、`envoy.service.type` を `ClusterIP` に設定できます。 この構成では、クラウド サービス プロバイダーが提供するロード バランサーは作成されません。

```yaml
envoy:
service:
type: ClusterIP
```

クラウド サービス プロバイダーが提供するロード バランサーを使用して、Kubernetes クラスターの外部からのクライアント リクエストを受け入れる場合は、`envoy.service.type` を `LoadBalancer` に設定する必要があります。

```yaml
envoy:
service:
type: LoadBalancer
```

アノテーションを介してロードバランサを設定したい場合は、アノテーションを `envoy.service.annotations` に設定することもできます。

```yaml
envoy:
service:
type: LoadBalancer
annotations:
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
```

## オプションの構成

### リソース構成 (本番環境で推奨)

Kubernetes のリクエストと制限を使用してポッド リソースを制御したい場合は、`envoy.resources` を使用できます。

これらは、Kubernetes のリクエストと制限と同じ構文を使用して構成できます。 そのため、Kubernetes の要求と制限の詳細については、公式ドキュメント [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) を参照してください。

```yaml
envoy:
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 2000m
memory: 4Gi
```

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

Kubernetes のアフィニティと反アフィニティを使用してポッドのデプロイメントを制御したい場合は、`envoy.affinity` を使用できます。

Kubernetes のアフィニティと同じ構文を使用して構成できます。 そのため、Kubernetes のアフィニティ設定の詳細については、公式ドキュメント [Assigning Pods to Nodes](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/) を参照してください。

```yaml
envoy:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- scalardb-cluster
- key: app.kubernetes.io/app
operator: In
values:
- envoy
topologyKey: kubernetes.io/hostname
weight: 50
```

### Prometheus および Grafana 構成 (実稼働環境で推奨)

[kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack) を使用して Scalar Envoy ポッドを監視する場合は、`envoy.grafanaDashboard.enabled`、`envoy.serviceMonitor` を使用して、kube-prometheus-stack の ConfigMap、ServiceMonitor、および PrometheusRule リソースをデプロイできます。 `envoy.prometheusRule.enabled` と `envoy.prometheusRule.enabled`。

```yaml
envoy:
grafanaDashboard:
enabled: true
namespace: monitoring
serviceMonitor:
enabled: true
namespace: monitoring
interval: 15s
prometheusRule:
enabled: true
namespace: monitoring
```

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

Scalar Envoy ポッドに SecurityContext と PodSecurityContext を設定する場合は、`envoy.securityContext` と `envoy.podSecurityContext` を使用できます。

KubernetesのSecurityContextやPodSecurityContextと同じ構文を使用して設定できます。 したがって、Kubernetes の SecurityContext および PodSecurityContext 構成の詳細については、公式ドキュメント [Configure a Security Context for a Pod or Container](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) を参照してください。

```yaml
envoy:
podSecurityContext:
seccompProfile:
type: RuntimeDefault
securityContext:
capabilities:
drop:
- ALL
runAsNonRoot: true
allowPrivilegeEscalation: false
```

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

イメージ リポジトリとバージョンを変更したい場合は、`envoy.image.repository` を使用して、プルする Scalar Envoy コンテナ イメージのコンテナ リポジトリ情報を指定できます。

```yaml
envoy:
image:
repository: <SCALAR_ENVOY_CONTAINER_IMAGE>
```

AWS または Azure を使用している場合、詳細については次のドキュメントを参照してください。

* [How to install Scalar products through AWS Marketplace](https://github.com/scalar-labs/scalar-kubernetes/blob/master/docs/AwsMarketplaceGuide.md)
* [How to install Scalar products through Azure Marketplace](https://github.com/scalar-labs/scalar-kubernetes/blob/master/docs/AzureMarketplaceGuide.md)

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

Scalar Envoy のレプリカ (ポッド) の数は、`envoy.replicaCount` を使用して指定できます。

```yaml
envoy:
replicaCount: 3
```

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

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

Kubernetes の許容と同じ構文を使用して、テイントと許容を構成できます。 Kubernetes での許容設定の詳細については、Kubernetes の公式ドキュメント [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) を参照してください。

```yaml
envoy:
tolerations:
- effect: NoSchedule
key: scalar-labs.com/dedicated-node
operator: Equal
value: scalardb
```
14 changes: 14 additions & 0 deletions docs/ja-jp/3.9/helm-charts/configure-custom-values-file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Scalar Helm Charts のカスタム値ファイルを構成する

Scalar Helm Chart を使用して Scalar 製品をデプロイする場合は、環境に基づいてカスタム値ファイルを準備する必要があります。 各製品のカスタム値ファイルの作成方法の詳細については、次のドキュメントを参照してください。

* [ScalarDB Cluster](configure-custom-values-scalardb-cluster.md)
* [ScalarDB Analytics with PostgreSQL](configure-custom-values-scalardb-analytics-postgresql.md)
* [ScalarDL Ledger](configure-custom-values-scalardl-ledger.md)
* [ScalarDL Auditor](configure-custom-values-scalardl-auditor.md)
* [ScalarDL Schema Loader](configure-custom-values-scalardl-schema-loader.md)
* [Scalar Admin for Kubernetes](configure-custom-values-scalar-admin-for-kubernetes.md)
* [Scalar Manager](configure-custom-values-scalar-manager.md)
* [Envoy](configure-custom-values-envoy.md)
* [[Deprecated] ScalarDB Server](configure-custom-values-scalardb.md)
* [[Deprecated] ScalarDB GraphQL](configure-custom-values-scalardb-graphql.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Scalar Admin for Kubernetes のカスタム値ファイルを構成する

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

## 必要な構成

このセクションでは、Scalar Admin for Kubernetes のカスタム値ファイルをセットアップするときに必要な構成について説明します。

### フラグ設定

Scalar Admin for Kubernetes を実行するには、配列として `scalarAdminForKubernetes.commandArgs` にいくつかのフラグを指定する必要があります。 フラグの詳細については、Scalar Admin for Kubernetes の [README](https://github.com/scalar-labs/scalar-admin-for-kubernetes/blob/main/README.md) を参照してください。

```yaml
scalarAdminForKubernetes:
commandArgs:
- -r
- <HELM_RELEASE_NAME>
- -n
- <SCALAR_PRODUCT_NAMESPACE>
- -d
- <PAUSE_DURATION>
- -z
- <TIMEZONE>
```
## オプションの構成
このセクションでは、Scalar Admin for Kubernetes のカスタム値ファイルをセットアップするときのオプションの構成について説明します。
### CronJob 構成 (環境に応じてオプション)
デフォルトでは、Scalar Admin for Kubernetes チャートは、Scalar Admin for Kubernetes CLI ツールを 1 回実行するための [Job](https://kubernetes.io/docs/concepts/workloads/controllers/job/) リソースを作成します。 [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) を使用して Scalar Admin for Kubernetes CLI ツールを定期的に実行する場合は、`scalarAdminForKubernetes.jobType` を `cronjob` に設定できます。 また、CronJob リソースのいくつかの構成を設定することもできます。

```yaml
scalarAdminForKubernetes:
cronJob:
timeZone: "Etc/UTC"
schedule: "0 0 * * *"
```

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

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

Kubernetes のリクエストと制限と同じ構文を使用して、リクエストと制限を構成できます。 Kubernetes のリクエストと制限の詳細については、[Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) を参照してください。

```yaml
scalarAdminForKubernetes:
resources:
requests:
cpu: 1000m
memory: 2Gi
limits:
cpu: 2000m
memory: 4Gi
```

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

Scalar Admin for Kubernetes ポッドの SecurityContext と PodSecurityContext を設定するには、`scalarAdminForKubernetes.securityContext` と `scalarAdminForKubernetes.podSecurityContext` を使用できます。

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/) を参照してください。

```yaml
scalarAdminForKubernetes:
podSecurityContext:
seccompProfile:
type: RuntimeDefault
securityContext:
capabilities:
drop:
- ALL
runAsNonRoot: true
allowPrivilegeEscalation: false
```

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

イメージ リポジトリを変更する場合は、`scalarAdminForKubernetes.image.repository` を使用して、プルする Scalar Admin for Kubernetes イメージのコンテナ リポジトリ情報を指定できます。

```yaml
scalarAdminForKubernetes:
image:
repository: <SCALAR_ADMIN_FOR_KUBERNETES_CONTAINER_IMAGE>
```

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

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

Kubernetes の許容と同じ構文を使用して、テイントと許容を構成できます。 Kubernetes での許容設定の詳細については、Kubernetes の公式ドキュメント [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) を参照してください。

```yaml
scalarAdminForKubernetes:
tolerations:
- effect: NoSchedule
key: scalar-labs.com/dedicated-node
operator: Equal
value: scalardb-analytics-postgresql
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Scalar Manager のカスタム値ファイルを構成する

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

## 必要な構成

### サービス構成

Kubernetes のサービス リソース タイプを指定するには、`service.type` を設定する必要があります。 プロバイダーが提供するロードバランサーを使用する場合は、`service.type``LoadBalancer`に設定する必要があります。

```yaml
service:
type: LoadBalancer
```
### 画像構成
`image.repository`を設定する必要があります。 コンテナー リポジトリからイメージをプルできるように、必ず Scalar Manager コンテナー イメージを指定してください。

```yaml
image:
repository: <SCALAR_MANAGER_IMAGE>
```

### ターゲット構成

`scalarManager.targets`を設定する必要があります。 ポッドの SRV レコードを返す DNS サービス URL を設定してください。 Kubernetes は、Scalar 製品のヘッドレス サービスの名前付きポートに対してこの URL を作成します。 形式は `_{port name}._{protocol}.{service name}.{namespace}.svc.{cluster domain name}` です。

You must set `scalarManager.targets`. Please set the DNS Service URL that returns the SRV record of pods. Kubernetes creates this URL for the named port of the headless service of the Scalar product. The format is `_{port name}._{protocol}.{service name}.{namespace}.svc.{cluster domain name}`.

```yaml
scalarManager:
targets:
- name: Ledger
adminSrv: _scalardl-admin._tcp.scalardl-headless.default.svc.cluster.local
databaseType: cassandra
- name: Auditor
adminSrv: _scalardl-auditor-admin._tcp.scalardl-auditor-headless.default.svc.cluster.local
databaseType: cassandra
```

### Grafana 構成

`scalarManager.grafanaUrl` を設定する必要があります。 Grafana URL を指定してください。

```yaml
scalarManager:
grafanaUrl: "http://localhost:3000"
```

## オプションの構成

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

Scalar Manager のレプリカ (ポッド) の数は、`replicaCount` を使用して指定できます。

```yaml
replicaCount: 3
```

### 更新間隔の構成 (環境に応じてオプション)

`scalarManager.refreshInterval` を使用して、Scalar Managerが製品のステータスをチェックする更新間隔を指定できます。

```yaml
scalarManager:
refreshInterval: 30
```
Loading

0 comments on commit 133721e

Please sign in to comment.