ScalarDB Analytics をローカルにデプロイする
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このガイドでは、Helm Chart を使用して、テスト用に特別に設計されたローカル Kubernetes クラスターに ScalarDB Analytics をデプロイする方法について説明します。
前提条件
ScalarDB Analytics をローカル環境にデプロイする前に、以下のツールがインストールされていることを確認してください。
ScalarDB Analytics を使用するには、ライセンスキー (試用ライセンスまたは商用ライセンス) が必要です。ライセンスキーをお持ちでない場合は、お問い合わせください。
アーキテクチャ例
以下は、このガイドで説明するアーキテクチャ例です。
このガイドでは、minikube 上で実行される Kubernetes クラスターを前提としています。この構成では、PostgreSQL は ScalarDB トランザクションによって管理されない外部データソースとして扱われ、MySQL は ScalarDB トランザクションによって管理されるデータソース (ScalarDB 管理データソース) として扱われます。これらのデータソースは両方ともユーザーデータを格納します。ScalarDB Analytics サーバーは Helm Chart を使用して Pod としてデプロイされます。ScalarDB Analytics サーバーは、カタログデータを格納するために専用のバックエンドデータベースを使用します。Spark コマンドを実行するためのクライアントとして機能する 個別の Pod も作成されます。さらに、ScalarDB Analytics サーバーを操作するために使用される CLI ツールは、コンテナイメージとして提供され、個別の Pod 上で実行されます。
ScalarDB Cluster をローカルにデプロイする方法 などのリソースを参照して、各データソースを自分で設定してください。
ステップ 1: Kubernetes 環境をセットアップする
最初に、すべてのコンポーネントがデプロイされる Kubernetes 環境をセットアップする必要があります。
ServiceAccount と RoleBinding を作成する
サービスアカウント (ServiceAccount) とロールバインディング (RoleBinding) を作成して、Spark ジョブが Kubernetes クラスター内のリソースを管理できるようにします。
NAMESPACE=default
SERVICE_ACCOUNT_NAME=spark
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ServiceAccount
metadata:
name: ${SERVICE_ACCOUNT_NAME}
namespace: ${NAMESPACE}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: spark-role
namespace: ${NAMESPACE}
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
subjects:
- kind: ServiceAccount
name: ${SERVICE_ACCOUNT_NAME}
namespace: ${NAMESPACE}
EOF
必要に応じて NAMESPACE および SERVICE_ACCOUNT_NAME 環境変数を変更できます。