Deploy StarRocks with Helm
Helm は Kubernetes のパッケージマネージャーです。Helm Chart は Helm パッケージであり、Kubernetes クラスタ上でアプリケーションを実行するために必要なすべてのリソース定義を含んでいます。このトピックでは、Helm を使用して Kubernetes クラスタ上に StarRocks クラスタを自動的にデプロイする方法について説明します。
始める前に
手順
-
StarRocks 用の Helm Chart リポジトリを追加します。Helm Chart には StarRocks Operator とカスタムリソース StarRocksCluster の定義が含まれています。
-
Helm Chart リポジトリを追加します。
helm repo add starrocks https://starrocks.github.io/starrocks-kubernetes-operator
-
Helm Chart リポジトリを最新バージョンに更新します。
helm repo update
-
追加した Helm Chart リポジトリを表示します。
$ helm search repo starrocks
NAME CHART VERSION APP VERSION DESCRIPTION
starrocks/kube-starrocks 1.8.0 3.1-latest kube-starrocks includes two subcharts, starrock...
starrocks/operator 1.8.0 1.8.0 A Helm chart for StarRocks operator
starrocks/starrocks 1.8.0 3.1-latest A Helm chart for StarRocks cluster
-
-
Helm Chart のデフォルト values.yaml を使用して StarRocks Operator と StarRocks クラスタをデプロイするか、YAML ファイルを作成してデプロイメント設定をカスタマイズします。
-
デフォルト設定でのデプロイメント
次のコマンドを実行して、1 つの FE と 1 つの BE からなる StarRocks Operator と StarRocks クラスタをデプロイします。
ヒント
デフォルトの
values.yaml
は次のように設定されています:- オペレーターポッドは 1/2CPU と 0.8GB RAM
- 1 つの FE は 4GB RAM、4 コア、15Gi ディスク
- 1 つの BE は 4GB RAM、4 コア、1Ti ディスク
これらのリソースが Kubernetes クラスタで利用できない場合は、カスタム設定でのデプロイメント セクションに進み、リソースを調整してください。
$ helm install starrocks starrocks/kube-starrocks
# 次の結果が返された場合、StarRocks Operator と StarRocks クラスタがデプロイされています。
NAME: starrocks
LAST DEPLOYED: Tue Aug 15 15:12:00 2023
NAMESPACE: starrocks
STATUS: deployed
REVISION: 1
TEST SUITE: None -
-
カスタム設定でのデプロイメント
-
例えば my-values.yaml という YAML ファイルを作成し、その中で StarRocks Operator と StarRocks クラスタの設定をカスタマイズします。サポートされているパラメータと説明については、Helm Chart のデフォルト values.yaml のコメントを参照してください。
-
次のコマンドを実行して、my-values.yaml のカスタム設定で StarRocks Operator と StarRocks クラスタをデプロイします。
helm install -f my-values.yaml starrocks starrocks/kube-starrocks
デプロイメントには時間がかかります。この間、次のコマンドでデプロイメントのステータスを確認できます。
kubectl --namespace default get starrockscluster -l "cluster=kube-starrocks"
次の結果が返された場合、デプロイメントは正常に完了しています。
NAME PHASE FESTATUS BESTATUS CNSTATUS FEPROXYSTATUS
kube-starrocks running running runningまた、
kubectl get pods
を実行してデプロイメントのステータスを確認することもできます。すべての Pod がRunning
状態で、Pod 内のすべてのコンテナがREADY
であれば、デプロイメントは正常に完了しています。kubectl get pods
NAME READY STATUS RESTARTS AGE
kube-starrocks-be-0 1/1 Running 0 2m50s
kube-starrocks-fe-0 1/1 Running 0 4m31s
kube-starrocks-operator-69c5c64595-pc7fv 1/1 Running 0 4m50s -
次のステップ
-
StarRocks クラスタにアクセスする
Kubernetes クラスタの内外から StarRocks クラスタにアクセスできます。詳細な手順については、Access StarRocks Cluster を参照してください。
-
StarRocks operator と StarRocks クラスタを管理する
-
StarRocks operator と StarRocks クラスタの設定を更新する必要がある場合は、Helm Upgrade を参照してください。
-
StarRocks Operator と StarRocks クラスタをアンインストールする必要がある場合は、次のコマンドを実行してください。
helm uninstall starrocks
-
詳細情報
-
GitHub リポジトリのアドレス: starrocks-kubernetes-operator and kube-starrocks Helm Chart。
-
GitHub リポジトリのドキュメントには、さらに詳しい情報が提供されています。例えば:
-
Kubernetes API を介して StarRocks クラスタのようなオブジェクトを管理する必要がある場合は、API reference を参照してください。
-
FE と BE ポッドに永続ボリュームをマウントして、FE のメタデータとログ、および BE のデータとログを保存する必要がある場合は、Mount Persistent Volumes by Helm Chart を参照してください。
危険永続ボリュームがマウントされていない場合、StarRocks Operator は emptyDir を使用して FE のメタデータとログ、および BE のデータとログを保存します。コンテナが再起動すると、データは失われます。
-
ルートユーザーのパスワードを設定する必要がある場合:
-
StarRocks クラスタをデプロイした後に手動でルートユーザーのパスワードを設定するには、Change root user password HOWTO を参照してください。
-
StarRocks クラスタをデプロイする際にルートユーザーのパスワードを自動的に設定するには、Initialize root user password を参照してください。
-
-
-
StarRocks 共有データクラスタで CREATE TABLE ステートメントを実行した後に発生する次のエラーを解決する方法。
-
エラーメッセージ
ERROR 1064 (HY000): Table replication num should be less than or equal to the number of available BE nodes. You can change this default by setting the replication_num table properties. Current alive backend is [10001]. , table=orders1, default_replication_num=3
-
解決策
これは、StarRocks 共有データクラスタに 1 つの BE しか存在せず、1 つのレプリカのみをサポートしているためかもしれません。しかし、デフォルトのレプリカ数は 3 です。PROPERTIES でレプリカ数を 1 に変更することができます。例えば、
PROPERTIES( "replication_num" = "1" )
のようにします。
-
-
Artifact Hub 上で StarRocks によって維持されている Helm Chart のアドレス: kube-starrocks。