doris-operator

module
v0.0.0-...-da8f381 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2024 License: Apache-2.0

README

DorisCluster | DorisDisaggregatedCluster

English | 中文

doris-operator

Doris-Operator for doris creates, configures and manages doris cluster running on kubernetes. Operator provide deploy and manage fe, be, cn,broker components. Users custom DorisCluster CRD to deploy doris as demand.

Features

  • Create Doris clusters by custom DorisCluster resource
  • Customized storage provisioning(VolumeClaim templates)
  • Customized pod templates
  • Doris configuration management
  • Doris version upgrades
  • Provided HorizontalPodAutoscaler v1 and v2 versions for compute node.

Requirements

  • Kubernetes 1.19+
  • Doris's components need 8c cpu and 8G memory at least to normal start.

Installation

  1. Install custom resource definitions:
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.selectdb.com_dorisclusters.yaml
  1. Install the operator with its RBAC rules:
    the default deployed namespace is doris, when deploy on specific namespace, please pull yaml and update namespace field.
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

Get Started to Deploy Doris

The Quick Start Guide have some examples to deploy doris on kubernetes. they represent some mode to deploy doris on different situation.
Example specify 8 cores and 16GB of memory for every fe or be, and deployed 3 fe and 3 be. Please confirm the K8s cluster have enough resources.
for only deploy fe and be without persistentVolume:

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

This doriscluster-sample-storageclass.yaml displayed to deploy doris with StorageClass mode to provide persistent Volume.

[!WARNING]

  1. currently operator only supports the fqdn mode to deploy doris on kubernetes. when the operator uses the official image to deploy container, the relevant work service will set the enable_fqdn_mode as true automatically. by running the doris docker container without k8s-operator, fqdn mode is closed by default. for other configurations about deploying doris on kubernetes, refer to example/doriscluster-sample-configmap.yaml.
  2. fe and be print log by kubectl logs -ndoris -f ${pod_name} also in /opt/apache-doris/fe/log, /opt/apache-doris/be/log in pod. When have not log processing system on k8s, mount a volume for log directory is good idea. the config to mount volume for log can reference the docexample/doriscluster-sample-storageclass.yaml.

Directories

Path Synopsis
api
disaggregated/meta_v1
+k8s:deepcopy-gen=package,register Package meta_v1 is the meta_v1 version of the API.
+k8s:deepcopy-gen=package,register Package meta_v1 is the meta_v1 version of the API.
disaggregated/v1
+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API.
+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API.
doris/v1
+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API.
+k8s:deepcopy-gen=package,register Package v1 is the v1 version of the API.
client
clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset/versioned/typed/disaggregated/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/disaggregated/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset/versioned/typed/doris/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset/versioned/typed/doris/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cmd
hack
gen-api/template
Placeholder file to make Go vendor this directory properly.
Placeholder file to make Go vendor this directory properly.
pkg
common/utils/mysql
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL