Skip to content

Commit

Permalink
AUTO: Sync Kubernetes docs to ScalarDL docs site repo
Browse files Browse the repository at this point in the history
  • Loading branch information
josh-wong committed Jan 16, 2025
1 parent 9790e16 commit ffa867d
Show file tree
Hide file tree
Showing 45 changed files with 711 additions and 666 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
tags:
- Enterprise Standard
- Enterprise Premium
displayed_sidebar: docsJapanese
---

# Kubernetes クラスター環境にデプロイされた ScalarDB または ScalarDL をアプリケーションから利用できるようにする
Expand All @@ -10,13 +11,13 @@ import TranslationBanner from '/src/components/_translation-ja-jp.mdx';

<TranslationBanner />

このドキュメントでは、Kubernetes クラスター環境にデプロイされた ScalarDB または ScalarDL をアプリケーションから利用できるようにする方法について説明します。 ScalarDB または ScalarDL をアプリケーションから利用できるようにするには、`<HELM_RELEASE_NAME>-envoy` という名前の Kubernetes サービス リソース経由で Scalar Envoy を使用します。 `<HELM_RELEASE_NAME>-envoy` は次のようないくつかの方法で使用できます。
このドキュメントでは、Kubernetes クラスター環境にデプロイされた ScalarDB または ScalarDL をアプリケーションから利用できるようにする方法について説明します。ScalarDB または ScalarDL をアプリケーションから利用できるようにするには、`<HELM_RELEASE_NAME>-envoy` という名前の Kubernetes サービスリソース経由で Scalar Envoy を使用します。`<HELM_RELEASE_NAME>-envoy` は次のようないくつかの方法で使用できます。

* ScalarDB または ScalarDL と同じ Kubernetes クラスター内から直接。
* Kubernetes クラスターの外部からのロード バランサー経由
* `kubectl port-forward` コマンドを使用して要塞サーバーから実行します (テスト目的のみ)。
* Kubernetes クラスターの外部からのロードバランサー経由
* `kubectl port-forward` コマンドを使用して踏み台サーバーから実行します (テスト目的のみ)。

リソース名 `<HELM_RELEASE_NAME>-envoy` は Helm リリース名に基づいて決定されます。 次のコマンドを実行すると、helm リリース名を確認できます。
リソース名 `<HELM_RELEASE_NAME>-envoy` は Helm リリース名に基づいて決定されます。次のコマンドを実行すると、helm リリース名を確認できます。

```console
helm list -n ns-scalar
Expand Down Expand Up @@ -55,9 +56,9 @@ scalardl-ledger-headless ClusterIP None <none> 5
scalardl-ledger-metrics ClusterIP 10.104.216.189 <none> 8080/TCP 109s
```

## 同じ Kubernetes クラスター内からサービス リソースを介して、ScalarDB または ScalarDL へのアプリケーション (クライアント) リクエストを直接実行します。
## 同じ Kubernetes クラスター内からサービスリソースを介して、ScalarDB または ScalarDL へのアプリケーション (クライアント) リクエストを直接実行します。

アプリケーション (クライアント) を ScalarDB または ScalarDL と同じ Kubernetes クラスターにデプロイする場合 (たとえば、アプリケーション [クライアント] を同じ Kubernetes クラスター内の別のノード グループまたはプールにデプロイする場合)、アプリケーションは次の方法で ScalarDB または ScalarDL にアクセスできます。 Kubernetes サービス リソースを使用します。 サービスリソース名 (FQDN) の形式は、`<HELM_RELEASE_NAME>-envoy.<NAMESPACE>.svc.cluster.local` です。
アプリケーション (クライアント) を ScalarDB または ScalarDL と同じ Kubernetes クラスターにデプロイする場合 (たとえば、アプリケーション [クライアント] を同じ Kubernetes クラスター内の別のノードグループまたはプールにデプロイする場合)、アプリケーションは次の方法で ScalarDB または ScalarDL にアクセスできます。Kubernetes サービスリソースを使用します。サービスリソース名 (FQDN) の形式は、`<HELM_RELEASE_NAME>-envoy.<NAMESPACE>.svc.cluster.local` です。

以下は、`ns-scalar` 名前空間での ScalarDB および ScalarDL のデプロイメントの例です。

Expand All @@ -74,7 +75,7 @@ scalardl-ledger-metrics ClusterIP 10.104.216.189 <none> 8
scalardl-auditor-envoy.ns-scalar.svc.cluster.local
```

Kubernetes サービス リソースを使用する場合、アプリケーション (クライアント) のプロパティ ファイルに上記の FQDN を次のように設定する必要があります。
Kubernetes サービスリソースを使用する場合、アプリケーション (クライアント) のプロパティファイルに上記の FQDN を次のように設定する必要があります。

* **ScalarDB Server のクライアントプロパティファイル**
```properties
Expand All @@ -89,29 +90,29 @@ Kubernetes サービス リソースを使用する場合、アプリケーシ
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052
```
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアント プロパティ ファイル**
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアントプロパティファイル**
```properties
# Ledger
scalar.dl.client.server.host=<HELM_RELEASE_NAME>-envoy.<NAMESPACE>.svc.cluster.local
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052

# Auditor
scalar.dl.client.auditor.enabled=true
scalar.dl.client.auditor.host=<HELM_RELEASE_NAME>-envoy.<NAMESPACE>.svc.cluster.local
scalar.dl.auditor.server.port=40051
scalar.dl.auditor.server.privileged_port=40052
```

## Kubernetes クラスターの外部からロード バランサー経由で ScalarDB または ScalarDL へのアプリケーション (クライアント) リクエストを実行します
## Kubernetes クラスターの外部からロードバランサー経由で ScalarDB または ScalarDL へのアプリケーション (クライアント) リクエストを実行します

ScalarDB または ScalarDL の Kubernetes クラスターの外部の環境にアプリケーション (クライアント) をデプロイする場合 (たとえば、アプリケーション [クライアント] を別の Kubernetes クラスター、コンテナー プラットフォーム、またはサーバーにデプロイする場合)、アプリケーションは ScalarDB または ScalarDL にアクセスできます。 各クラウドサービスが提供するロードバランサーを利用します。
ScalarDB または ScalarDL の Kubernetes クラスターの外部の環境にアプリケーション (クライアント) をデプロイする場合 (たとえば、アプリケーション [クライアント] を別の Kubernetes クラスター、コンテナープラットフォーム、またはサーバーにデプロイする場合)、アプリケーションは ScalarDB または ScalarDL にアクセスできます。各クラウドサービスが提供するロードバランサーを利用します。

カスタム値ファイルで `envoy.service.type``LoadBalancer` に設定することで、ロード バランサーを作成できます。 カスタム値ファイルを構成した後、ロード バランサーを使用して、Kubernetes サービス リソースを通じて Scalar Envoy を使用できるようになります。 注釈を使用してロード バランサーの構成を設定することもできます
カスタム値ファイルで `envoy.service.type``LoadBalancer` に設定することで、ロードバランサーを作成できます。カスタム値ファイルを構成した後、ロードバランサーを使用して、Kubernetes サービスリソースを通じて Scalar Envoy を使用できるようになります。注釈を使用してロードバランサーの構成を設定することもできます

カスタム値ファイルの設定方法の詳細については、[サービス設定](../helm-charts/configure-custom-values-envoy.mdx#サービス構成)を参照してください。

ロードバランサを使用する場合、アプリケーション(クライアント)のプロパティファイルにロードバランサのFQDNまたはIPアドレスを以下のように設定する必要があります。
ロードバランサを使用する場合、アプリケーション (クライアント) のプロパティファイルにロードバランサのFQDNまたはIPアドレスを以下のように設定する必要があります。

* **ScalarDB Server のクライアントプロパティファイル**
```properties
Expand All @@ -126,34 +127,34 @@ ScalarDB または ScalarDL の Kubernetes クラスターの外部の環境に
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052
```
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアント プロパティ ファイル**
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアントプロパティファイル**
```properties
# Ledger
scalar.dl.client.server.host=<LOAD_BALANCER_FQDN_OR_IP_ADDRESS>
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052

# Auditor
scalar.dl.client.auditor.enabled=true
scalar.dl.client.auditor.host=<LOAD_BALANCER_FQDN_OR_IP_ADDRESS>
scalar.dl.auditor.server.port=40051
scalar.dl.auditor.server.privileged_port=40052
```

ロード バランサーの具体的な実装とアクセス方法は、Kubernetes クラスターに依存します。 マネージド Kubernetes クラスターを使用している場合は、クラウド サービス プロバイダーに基づいて次の公式ドキュメントを参照してください
ロードバランサーの具体的な実装とアクセス方法は、Kubernetes クラスターに依存します。マネージド Kubernetes クラスターを使用している場合は、クラウドサービスプロバイダーに基づいて次の公式ドキュメントを参照してください

* **Amazon Elastic Kubernetes Service (EKS)**
* [Network load balancing on Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/network-load-balancing.html)
* **Azure Kubernetes Service (AKS)**
* [Use a public standard load balancer in Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/aks/load-balancer-standard)
* [Use an internal load balancer with Azure Kubernetes Service (AKS)](https://learn.microsoft.com/en-us/azure/aks/internal-lb)

## 要塞サーバーから ScalarDB または ScalarDL へのクライアント リクエストを実行します (テスト目的のみ。運用環境では推奨されません)
## 踏み台サーバーから ScalarDB または ScalarDL へのクライアントリクエストを実行します (テスト目的のみ。運用環境では推奨されません)

`kubectl port-forward` コマンドを実行すると、要塞サーバーから ScalarDB または ScalarDL へのクライアント リクエストを実行できます。 ただし、ScalarDL Auditor モード環境を作成する場合、2 つの Kubernetes クラスターにアクセスするには、1 つの要塞サーバーから異なる kubeconfig ファイルを使用して 2 つの `kubectl port-forward` コマンドを実行する必要があります。
`kubectl port-forward` コマンドを実行すると、踏み台サーバーから ScalarDB または ScalarDL へのクライアントリクエストを実行できます。ただし、ScalarDL Auditor モード環境を作成する場合、2つの Kubernetes クラスターにアクセスするには、1つの踏み台サーバーから異なる kubeconfig ファイルを使用して2つの `kubectl port-forward` コマンドを実行する必要があります。

1. **(ScalarDL Auditor モードのみ)** ScalarDL Ledger の要塞サーバーで、ScalarDL Auditor の Kubernetes クラスターにアクセスするために既存の kubeconfig ファイルを構成するか、新しい kubeconfig ファイルを追加します。 管理対象の各 Kubernetes クラスターの kubeconfig ファイルを構成する方法の詳細については、[kubeconfig の構成](CreateBastionServer.mdx#kubeconfig-の構成)を参照してください。
2. 要塞サーバーから各サービスへのポート転送を構成します
1. **(ScalarDL Auditor モードのみ)** ScalarDL Ledger の踏み台サーバーで、ScalarDL Auditor の Kubernetes クラスターにアクセスするために既存の kubeconfig ファイルを構成するか、新しい kubeconfig ファイルを追加します。管理対象の各 Kubernetes クラスターの kubeconfig ファイルを構成する方法の詳細については、[kubeconfig の構成](CreateBastionServer.mdx#kubeconfig-の構成)を参照してください。
2. 踏み台サーバーから各サービスへのポート転送を構成します
* **ScalarDB Server**
```console
kubectl port-forward -n <NAMESPACE> svc/<RELEASE_NAME>-envoy 60051:60051
Expand All @@ -168,7 +169,7 @@ ScalarDB または ScalarDL の Kubernetes クラスターの外部の環境に
kubectl --context <CONTEXT_IN_KUBERNETES_FOR_SCALARDL_AUDITOR> port-forward -n <NAMESPACE> svc/<RELEASE_NAME>-envoy 40051:40051
kubectl --context <CONTEXT_IN_KUBERNETES_FOR_SCALARDL_AUDITOR> port-forward -n <NAMESPACE> svc/<RELEASE_NAME>-envoy 40052:40052
```
3. `localhost` 経由で ScalarDB または ScalarDL にアクセスするようにプロパティ ファイルを設定します
3. `localhost` 経由で ScalarDB または ScalarDL にアクセスするようにプロパティファイルを設定します
* **ScalarDB Server のクライアントプロパティファイル**
```properties
scalar.db.contact_points=localhost
Expand All @@ -182,13 +183,13 @@ ScalarDB または ScalarDL の Kubernetes クラスターの外部の環境に
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052
```
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアント プロパティ ファイル**
* **ScalarDL Auditor モードが有効になっている ScalarDL Ledger のクライアントプロパティファイル**
```properties
# Ledger
scalar.dl.client.server.host=localhost
scalar.dl.ledger.server.port=50051
scalar.dl.ledger.server.privileged_port=50052

# Auditor
scalar.dl.client.auditor.enabled=true
scalar.dl.client.auditor.host=localhost
Expand Down
Loading

0 comments on commit ffa867d

Please sign in to comment.