メインコンテンツまでスキップ
バージョン: 2.5

Deploy StarRocks with Helm

Helm は Kubernetes のパッケージマネージャーです。Helm Chart は Helm パッケージであり、Kubernetes クラスタ上でアプリケーションを実行するために必要なすべてのリソース定義を含んでいます。このトピックでは、Helm を使用して Kubernetes クラスタ上に StarRocks クラスタを自動的にデプロイする方法について説明します。

始める前に

手順

  1. StarRocks 用の Helm Chart リポジトリを追加します。Helm Chart には StarRocks Operator とカスタムリソース StarRocksCluster の定義が含まれています。

    1. Helm Chart リポジトリを追加します。

      helm repo add starrocks-community https://starrocks.github.io/starrocks-kubernetes-operator
    2. Helm Chart リポジトリを最新バージョンに更新します。

      helm repo update
    3. 追加した Helm Chart リポジトリを表示します。

      $ helm search repo starrocks-community
      NAME CHART VERSION APP VERSION DESCRIPTION
      starrocks-community/kube-starrocks 1.8.0 3.1-latest kube-starrocks includes two subcharts, starrock...
      starrocks-community/operator 1.8.0 1.8.0 A Helm chart for StarRocks operator
      starrocks-community/starrocks 1.8.0 3.1-latest A Helm chart for StarRocks cluster
  2. Helm Chart のデフォルト values.yaml を使用して StarRocks Operator と StarRocks クラスタをデプロイするか、YAML ファイルを作成してデプロイメント設定をカスタマイズします。

    1. デフォルト設定でのデプロイメント

      次のコマンドを実行して、1 つの FE と 1 つの BE からなる StarRocks Operator と StarRocks クラスタをデプロイします。

      $ helm install starrocks starrocks-community/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
    2. カスタム設定でのデプロイメント

      • 例えば 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-community/kube-starrocks

    デプロイメントには時間がかかります。この間、上記のデプロイメントコマンドの結果に表示されるプロンプトコマンドを使用してデプロイメントのステータスを確認できます。デフォルトのプロンプトコマンドは次のとおりです。

    $ kubectl --namespace default get starrockscluster -l "cluster=kube-starrocks"
    # 次の結果が返された場合、デプロイメントは正常に完了しています。
    NAME FESTATUS CNSTATUS BESTATUS
    kube-starrocks 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" ) のようにします。

  • StarRocks によって Artifact Hub 上で管理されている Helm Chart のアドレス: kube-starrocks