MCPcopy Index your code
hub / github.com/apache/doris-operator

github.com/apache/doris-operator @26.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 26.0.0 ↗ · + Follow
1,231 symbols 3,574 edges 179 files 547 documented · 44%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

中文 | English

doris-operator

Doris-Operator 用于在 Kubernetes 上创建、配置和管理 Doris 集群,能够部署和管理 fe、be、cn、broker 所有组件。

License Operator Release Tags docker pull issues Go Version docs

特点

  • 通过自定义 DorisCluster 资源管控 Doris 集群。
  • 提供定制化存储。
  • 实现 Doris 在 Kubernetes 上无感升级。
  • 提供服务在 crash 情况下,容器内 Debug 能力。
  • 支持使用 kerberos 认证服务。
  • 支持部署 Doris 存算分离模式。

环境要求

  • Kubernetes 1.19+
  • Doris 的 FE 和 BE 组件正常启动至少需要8c和8G资源

安装

  1. 安装 DorisCluster 资源定义:
kubectl create -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/config/crd/bases/doris.apache.com_dorisclusters.yaml
  1. 安装 Doris-Operator 服务以及所依赖的 RBAC 权限等相关资源:
kubectl apply -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/config/operator/operator.yaml
  1. 在 Kubernetes 上部署 Doris 集群:
kubectl apply -f https://raw.githubusercontent.com/apache/doris-operator/$(curl -s https://api.github.com/repos/apache/doris-operator/releases/latest | grep tag_name | cut -d '"' -f4)/doc/examples/doriscluster-sample.yaml

[!WARNING] 1. 当定制化 FE 启动配置时,请设置 enable_fqdn_mode=true。请参考官方文档了解更详细的使用介绍。

文档

开源支持

Extension points exported contracts — how you extend this code

DorisClusterNamespaceLister (Interface)
DorisClusterNamespaceLister helps list and get DorisClusters. All objects returned here must be treated as read-only. [6 …
client/listers/doris/v1/doriscluster.go
DorisClustersGetter (Interface)
DorisClustersGetter has a method to return a DorisClusterInterface. A group's client should implement this interface. [4 …
client/clientset/versioned/typed/doris/v1/doriscluster.go
DisaggregatedSubController (Interface)
(no doc) [8 implementers]
pkg/controller/sub_controller/disaggregated_subcontroller.go
GenericInformer (Interface)
GenericInformer is type of SharedIndexInformer which will locate and delegate to other sharedInformers based on type [3 …
client/informers/externalversions/generic.go
Client (Interface)
Client provides abstractions that access doris cluster methods. [2 implementers]
pkg/common/cmd/util/client.go
DorisDisaggregatedClusterNamespaceLister (Interface)
DorisDisaggregatedClusterNamespaceLister helps list and get DorisDisaggregatedClusters. All objects returned here must b [6 …
client/listers/disaggregated/v1/dorisdisaggregatedcluster.go
DorisClusterInterface (Interface)
DorisClusterInterface has methods to work with DorisCluster resources. [4 implementers]
client/clientset/versioned/typed/doris/v1/doriscluster.go
SubController (Interface)
(no doc) [8 implementers]
pkg/controller/sub_controller/sub_controller.go

Core symbols most depended-on inside this repo

GetPort
called by 80
pkg/common/utils/resource/convert.go
GetPortKey
called by 60
pkg/common/utils/resource/service.go
Get
called by 42
client/listers/doris/v1/doriscluster.go
Add
called by 35
pkg/common/utils/set/set.go
GetName
called by 21
pkg/controller/unnamedwatches/controller.go
BuildVolumesVolumeMountsAndPVCs
called by 19
pkg/controller/sub_controller/disaggregated_subcontroller.go
List
called by 16
client/listers/doris/v1/doriscluster.go
Close
called by 16
pkg/common/utils/mysql/mysql.go

Shape

Method 597
Function 442
Struct 129
Interface 31
TypeAlias 26
FuncType 6

Languages

Go100%

Modules by API surface

api/doris/v1/zz_generated.deepcopy.go82 symbols
pkg/common/utils/resource/pod.go53 symbols
api/disaggregated/v1/zz_generated.deepcopy.go50 symbols
pkg/controller/sub_controller/disaggregated_cluster/computegroups/graceful_rollout.go40 symbols
api/doris/v1/doriscluster_util.go39 symbols
pkg/controller/sub_controller/sub_controller.go34 symbols
pkg/controller/sub_controller/disaggregated_subcontroller.go34 symbols
pkg/common/utils/k8s/client.go32 symbols
api/disaggregated/v1/types.go31 symbols
api/doris/v1/types.go29 symbols
pkg/controller/sub_controller/disaggregated_cluster/computegroups/controller.go28 symbols
client/informers/externalversions/factory.go23 symbols

For agents

$ claude mcp add doris-operator \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact