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

Модель ресурсов Doris Operator

Модель ресурсов Doris Operator описывает, как компоненты кластера Doris сопоставляются с нативными ресурсами Kubernetes. Понимание этого сопоставления помогает определить, какие поля влияют на какие ресурсы, и упрощает диагностику неполадок.

В этом документе перечислены не все поля. Настройка отдельных полей описана в соответствующих документах по развёртыванию и конфигурации.

Минимальный пример​

Следующий пример показывает минимальную конфигурацию DorisCluster. FE и BE сопоставляются с соответствующими ресурсами StatefulSet, Service, PVC и связанными ресурсами.

apiVersion: doris.apache.com/v1
kind: DorisCluster
metadata:
name: demo
namespace: doris
spec:
feSpec:
replicas: 3
image: apache/doris:fe-2.1.8
beSpec:
replicas: 3
image: apache/doris:be-2.1.8

Обзор​

Независимо от режима развёртывания пользователь напрямую управляет пользовательским ресурсом Doris. На его основе Operator создаёт нативные ресурсы Kubernetes, в которых запускаются компоненты Doris.

Обзор модели ресурсов Doris Operator

DorisCluster​

DorisCluster используется для развёртываний с совмещёнными вычислениями и хранением. В его состав обычно входят компоненты FE, BE, CN и Broker.

Модель ресурсов DorisCluster

КомпонентОписаниеОсновные ресурсы Kubernetes
FEУправление метаданными, доступ по SQL и координация запросовStatefulSet, внутренний Service, внешний Service, PVC
BEХранение данных и выполнение операцийStatefulSet, внутренний Service, внешний Service, PVC
CNВыполнение вычислений в сценариях с эластичным масштабированием вычислительных ресурсовStatefulSet, внутренний Service, внешний Service, PVC, HPA
BrokerПрокси для доступа к внешним хранилищам; его необходимость зависит от версии Doris и рабочей нагрузкиStatefulSet, внутренний Service

DorisDisaggregatedCluster​

DorisDisaggregatedCluster используется для развёртываний с разделением вычислений и хранения. В его состав обычно входят MetaService, FE и одна или несколько групп ComputeGroup.

Модель ресурсов DorisDisaggregatedCluster

КомпонентОписаниеОсновные ресурсы Kubernetes
MetaServiceСервис метаданных для кластеров с разделением вычислений и храненияStatefulSet, Service, PVC
FEДоступ по SQL, координация запросов и точка входа для доступа к метаданнымStatefulSet, внутренний Service, внешний Service, PVC
ComputeGroupНезависимая группа вычислительных ресурсов для выполнения вычислительных задачStatefulSet, внутренний Service, внешний Service, PVC
FoundationDBСистема метаданных, необходимая для кластеров с разделением вычислений и храненияВнешний сервис или сервис под управлением fdb-kubernetes-operator

Типы Service​

Doris Operator создаёт ресурсы Service для разных целей.

Тип ServiceНазначениеТипичное использование
внутренний ServiceСтабильный сетевой идентификатор и внутренняя связьDNS для StatefulSet, обнаружение компонентов, доступ Pod-to-Pod
внешний ServiceТочка входа для внешнего доступаПодключения клиентов и доступ внешних систем

Внутренний Service обычно не служит точкой входа для доступа кластера со стороны приложений. В зависимости от сценария внешний Service можно настроить как ClusterIP, NodePort или LoadBalancer.

Хранение​

Doris хранит состояние. FE, BE, CN, MetaService и группам ComputeGroup могут потребоваться каталоги с постоянным хранением данных. Operator привязывает постоянное хранилище с помощью шаблонов PVC.

Обратите внимание на следующее:

  • Есть ли в кластере Kubernetes доступный StorageClass.
  • Достаточно ли ёмкости PVC для роста объёма данных и журналов.
  • Подходит ли режим доступа для рабочей нагрузки.
  • Соответствуют ли настроенные каталоги Doris путям монтирования PVC.

Если привязать PVC не удаётся, Operator продолжает ожидать, а соответствующие Pod не могут запуститься.

Ресурсы конфигурации и аутентификации​

Doris Operator поддерживает ConfigMap и Secret для хранения конфигурации и конфиденциальных данных.

РесурсТипичное использование
ConfigMapКонфигурация запуска FE, BE, CN, Broker, MetaService и групп ComputeGroup
SecretПароли, учётные данные для доступа и файлы keytab
authSecretУчётные данные, которые Doris Operator использует для регистрации узлов, вывода их из эксплуатации и связанных операций управления
kerberosInfoКонфигурация Kerberos и монтирование файлов keytab
serviceAccountKubernetes ServiceAccount, используемый, когда компонентам нужен доступ к облачным или внешним сервисам

Приводит ли обновление конфигурации к перезапуску, зависит от поля и настроек Operator. Например, в режиме с совмещёнными вычислениями и хранением enableRestartWhenConfigChange определяет, вызывают ли изменения основных ConfigMap последовательный перезапуск.

Именование​

Имена ресурсов под управлением Operator обычно содержат имя кластера и имя компонента в качестве префиксов, что позволяет легко определить их принадлежность.

Если кластер с совмещёнными вычислениями и хранением называется demo, типичные имена ресурсов выглядят так:

demo-fe
demo-fe-internal
demo-fe-service
demo-be
demo-be-internal
demo-be-service
demo-cn
demo-cn-internal
demo-cn-service
demo-broker
demo-broker-internal

Если кластер с разделением вычислений и хранения называется demo, а группа ComputeGroup называется adhoc-query, типичные имена ресурсов выглядят так:

demo-ms
demo-fe
demo-fe-internal
demo-adhoc-query
demo-adhoc-query-external

Фактические имена могут немного различаться в зависимости от версии или конфигурации. Считайте вывод kubectl get достоверным источником.

Зависимости между компонентами​

Модель ресурсов также отражает зависимости между компонентами.

В кластере с совмещёнными вычислениями и хранением FE служит точкой входа, через которую другие компоненты регистрируются и получают доступ к метаданным Doris:

Зависимости между компонентами в DorisCluster

В кластере с разделением вычислений и хранения MetaService переходит в состояние готовности первым, FE зависит от него, а группы ComputeGroup зависят от FE:

Зависимости между компонентами в DorisDisaggregatedCluster

Если компонент, от которого зависят другие компоненты, ещё не готов, зависимые компоненты могут продолжать ожидание или согласование состояния. Это ожидаемое поведение. Порядок создания ресурсов и применения изменений описан в разделе Управление жизненным циклом Doris Operator.