Перейти к основному содержимому

Развертывание Selena с помощью Helm

Helm — это менеджер пакетов для Kubernetes. Helm Chart — это пакет Helm, который содержит все определения ресурсов, необходимые для запуска приложения в кластере Kubernetes. В этой теме описывается, как использовать Helm для автоматического развертывания кластера Selena в кластере Kubernetes.

Перед началом работы

Процедура

  1. Добавьте Helm Chart Repo для Selena. Helm Chart содержит определения Selena Operator и пользовательского ресурса StarRocksCluster.

    1. Добавьте Helm Chart Repo.

      helm repo add starrocks https://starrocks.github.io/starrocks-kubernetes-operator
    2. Обновите Helm Chart Repo до последней версии.

      helm repo update
    3. Просмотрите добавленный Helm Chart Repo.

      $ 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
  2. Используйте стандартный values.yaml Helm Chart для развертывания Selena Operator и кластера Selena, или создайте YAML-файл для настройки конфигураций развертывания.

    1. Развертывание со стандартными конфигурациями

      Выполните следующую команду для развертывания Selena Operator и кластера Selena, который состоит из одного FE и одного BE:

    Совет

    Стандартный values.yaml настроен для развертывания:

    • Pod оператора с 1/2 CPU и 0,8 ГБ RAM
    • Один FE с 4 ГБ RAM, 4 ядрами и диском 15 Ги
    • Один BE с 4 ГБ RAM, 4 ядрами и диском 1 Ти

    Если у вас нет этих ресурсов в кластере Kubernetes, перейдите к разделу Развертывание с пользовательскими конфигурациями и настройте ресурсы.

    $ helm install starrocks starrocks/kube-starrocks
    # Если возвращается следующий результат, Selena Operator и кластер Selena развертываются.
    NAME: starrocks
    LAST DEPLOYED: Tue Aug 15 15:12:00 2023
    NAMESPACE: starrocks
    STATUS: deployed
    REVISION: 1
    TEST SUITE: None
  3. Развертывание с пользовательскими конфигурациями

    • Создайте YAML-файл, например, my-values.yaml, и настройте конфигурации для Selena Operator и кластера Selena в YAML-файле. Для поддерживаемых параметров и описаний см. комментарии в стандартном values.yaml Helm Chart.

    • Выполните следующую команду для развертывания Selena Operator и кластера Selena с пользовательскими конфигурациями в my-values.yaml.

      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

Следующие шаги

  • Доступ к кластеру Selena

    Вы можете получить доступ к кластеру Selena изнутри и снаружи кластера Kubernetes. Подробные инструкции см. в разделе Доступ к кластеру Selena.

  • Управление оператором Selena и кластером Selena

    • Если вам нужно обновить конфигурации оператора Selena и кластера Selena, см. Helm Upgrade.

    • Если вам нужно удалить Selena Operator и кластер Selena, выполните следующую команду:

      helm uninstall starrocks

Дополнительная информация

  • Адрес репозитория GitHub: starrocks-kubernetes-operator и kube-starrocks Helm Chart.

  • Документация в репозитории GitHub предоставляет дополнительную информацию, например:

    • Если вам нужно управлять объектами, такими как кластер Selena, через API Kubernetes, см. Справочник по API.

    • Если вам нужно подключить постоянные тома к pod FE и BE для хранения метаданных и логов FE, а также данных и логов BE, см. Подключение постоянных томов с помощью Helm Chart.

      осторожно

      Если постоянные тома не подключены, Selena Operator будет использовать emptyDir для хранения метаданных и логов FE, а также данных и логов BE. При перезапуске контейнеров данные будут потеряны.

    • Если вам нужно установить пароль пользователя root:

  • Как решить следующую ошибку, которая возникает после выполнения оператора CREATE TABLE в кластере Selena с разделяемыми данными.

    • Сообщение об ошибке

      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
    • Решение

      Это может быть связано с тем, что в кластере Selena с разделяемыми данными существует только один BE, который поддерживает только одну реплику. Однако стандартное количество реплик равно 3. Вы можете изменить количество реплик на 1 в PROPERTIES, например, PROPERTIES( "replication_num" = "1" ).

  • Адрес Helm Chart, поддерживаемого Selena на Artifact Hub: kube-starrocks.