大量更新
This commit is contained in:
23
agent-common/SplitProject/doris-25.2.1/.helmignore
Normal file
23
agent-common/SplitProject/doris-25.2.1/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*.orig
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
.vscode/
|
||||
21
agent-common/SplitProject/doris-25.2.1/Chart.yaml
Normal file
21
agent-common/SplitProject/doris-25.2.1/Chart.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: v2
|
||||
appVersion: 2.1.7
|
||||
description: Apache Doris is an easy-to-use, high-performance and real-time analytical
|
||||
database based on MPP architecture, known for its extreme speed and ease of use.
|
||||
home: https://doris.apache.org
|
||||
icon: https://charts.selectdb.com/images/doris.jpg
|
||||
keywords:
|
||||
- doris
|
||||
- database
|
||||
- olap
|
||||
- sharding
|
||||
kubeVersion: '>= 1.19'
|
||||
maintainers:
|
||||
- email: hudechao@selectdb.com
|
||||
name: Dechao Hu
|
||||
name: doris
|
||||
sources:
|
||||
- https://github.com/apache/doris
|
||||
- https://github.com/apache/doris-operator
|
||||
type: application
|
||||
version: 25.2.1
|
||||
61
agent-common/SplitProject/doris-25.2.1/README.md
Normal file
61
agent-common/SplitProject/doris-25.2.1/README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# Deploy Doris Cluster by Helm
|
||||
[](https://artifacthub.io/packages/search?repo=doris)
|
||||
|
||||
This chart for deploying doris on kubernetes use Doris-Operator. Before using this chart, please install doris-operator as [install doc](https://artifacthub.io/packages/helm/doris/doris-operator).
|
||||
|
||||
## Install doris
|
||||
|
||||
### Add helm-chart repo and install doris-operator
|
||||
this document and doris-operator installation document are duplicated. you can skip If they have already been executed completely.
|
||||
1. Add the selectdb repository
|
||||
```Bash
|
||||
$ helm repo add selectdb https://charts.selectdb.com
|
||||
```
|
||||
2. Update the Helm Chart Repo to the latest version
|
||||
```Bash
|
||||
$ helm repo update selectdb
|
||||
```
|
||||
3. Check the Helm Chart Repo is the latest version
|
||||
```Bash
|
||||
$ helm search repo selectdb
|
||||
NAME CHART VERSION APP VERSION DESCRIPTION
|
||||
selectdb/doris-operator 1.3.1 1.3.1 Doris-operator for doris creat ...
|
||||
selectdb/doris 1.3.1 2.0.3 Apache Doris is an easy-to-use ...
|
||||
```
|
||||
4. Install doris-operator (with default config in a namespace named `doris`)
|
||||
```Bash
|
||||
$ helm install operator selectdb/doris-operator
|
||||
```
|
||||
|
||||
### Install the doris use doriscluster
|
||||
- Use default config for deploying doris
|
||||
This deploy only deploy fe and be components using default storageClass for providing persistent volume.
|
||||
```bash
|
||||
$ helm install doriscluster selectdb/doris
|
||||
```
|
||||
- Custom doris deploying
|
||||
when you want to specify resources or different deployment type, please custom the [`values.yaml`](./values.yaml) and use next command for deploying.
|
||||
```bash
|
||||
$ helm install -f values.yaml doriscluster selectdb/doris
|
||||
```
|
||||
|
||||
### Validate installation status
|
||||
After executing the installation command, deployment and distribution, service deployment scheduling and startup will take a certain amount of time. Check the deployment status of Pods through the kubectl get pods command.
|
||||
Observe that the Pod of `doriscluster` is in the `Running` state and all containers in the Pod are ready, that means, the deployment is successful.
|
||||
|
||||
```Bash
|
||||
$ kubectl get pod --namespace doris
|
||||
NAME READY STATUS RESTARTS AGE
|
||||
doriscluster-helm-fe-0 1/1 Running 0 1m39s
|
||||
doriscluster-helm-fe-1 1/1 Running 0 1m39s
|
||||
doriscluster-helm-fe-2 1/1 Running 0 1m39s
|
||||
doriscluster-helm-be-0 1/1 Running 0 16s
|
||||
doriscluster-helm-be-1 1/1 Running 0 16s
|
||||
doriscluster-helm-be-2 1/1 Running 0 16s
|
||||
```
|
||||
|
||||
## Uninstall doriscluster
|
||||
Please confirm the Doris is not used, when using next command to uninstall `doriscluster`.
|
||||
```bash
|
||||
$ helm uninstall doriscluster
|
||||
```
|
||||
@@ -0,0 +1 @@
|
||||
Thank you for installing {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
267
agent-common/SplitProject/doris-25.2.1/templates/_helpers.tpl
Normal file
267
agent-common/SplitProject/doris-25.2.1/templates/_helpers.tpl
Normal file
@@ -0,0 +1,267 @@
|
||||
{*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*}
|
||||
|
||||
{{- define "doriscluster.name" -}}
|
||||
{{ default .Chart.Name .Values.dorisCluster.name }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "doriscluster.namespace" -}}
|
||||
{{ print .Release.Namespace }}
|
||||
{{- end }}
|
||||
|
||||
{{- define "kube-control.name" -}}
|
||||
{{- print "doris-operator" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster pod default resource.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.resource" }}
|
||||
requests:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
limits:
|
||||
cpu: 16
|
||||
memory: 32Gi
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster admin user and password secret name.
|
||||
*/}}
|
||||
{{- define "doriscluster.secret.name" -}}
|
||||
{{ template "doriscluster.name" . }}-secret-base64
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.feConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-fe-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.feConfig.resolveKey" }}
|
||||
{{- print "fe.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster be configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.beConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-be-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.beConfig.resolveKey" }}
|
||||
{{- print "be.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster cn configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.cnConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-cn-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster cn pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.cnConfig.resolveKey" }}
|
||||
{{- print "be.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster broker configMap default name.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.brokerConfigMap.name" -}}
|
||||
{{ template "doriscluster.name" . }}-broker-configmap
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster broker pod default configMap resolve file.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.brokerConfig.resolveKey" }}
|
||||
{{- print "apache_hdfs_broker.conf" }}
|
||||
{{- end }}
|
||||
|
||||
{{/*
|
||||
doris cluster cn pod autoscaler default version.
|
||||
*/}}
|
||||
{{- define "doriscluster.default.autoScalerVersion" -}}
|
||||
{{- print "v2" }}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
doris cluster fe PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.fe.pvc" -}}
|
||||
|
||||
{{- if and .Values.feSpec.persistentVolumeClaim.metaPersistentVolume .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/fe/doris-meta
|
||||
name: fe-meta
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.feSpec.persistentVolumeClaim.logsPersistentVolume .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/fe/log
|
||||
name: fe-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName}}
|
||||
storageClassName: {{ default .Values.feSpec.persistentVolumeClaim.metaPersistentVolume.storageClassName .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.feSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster be PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.be.pvc" -}}
|
||||
|
||||
{{- if and .Values.beSpec.persistentVolumeClaim.dataPersistentVolume .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: be-storage
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.beSpec.persistentVolumeClaim.logsPersistentVolume .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: be-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.beSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.beSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster cn PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.cn.pvc" -}}
|
||||
|
||||
{{- if and .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: cn-storage
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- if and .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: cn-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if or .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
storageClassName: {{ default .Values.cnSpec.persistentVolumeClaim.dataPersistentVolume.storageClassName .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.cnSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
|
||||
{{/*
|
||||
doris cluster broker PVC
|
||||
*/}}
|
||||
{{- define "doriscluster.broker.pvc" -}}
|
||||
{{- if and .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
- mountPath: /opt/apache-doris/apache_hdfs_broker/log
|
||||
name: broker-log
|
||||
persistentVolumeClaimSpec:
|
||||
{{- if .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName}}
|
||||
storageClassName: {{ .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storageClassName }}
|
||||
{{- end }}
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ .Values.brokerSpec.persistentVolumeClaim.logsPersistentVolume.storage}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{- define "doriscluster.feConfig.configMaps" }}
|
||||
{{- range .Values.feSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.beConfig.configMaps" }}
|
||||
{{- range .Values.beSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.cnConfig.configMaps" }}
|
||||
{{- range .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- define "doriscluster.brokerConfig.configMaps" }}
|
||||
{{- range .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
- configMapName: {{ .configMapName }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{- $originalMap := omit .Values.beSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.beConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{- $originalMap := omit .Values.brokerSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.brokerConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{- $originalMap := omit .Values.cnSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.cnConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,31 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{- $originalMap := omit .Values.feSpec.configMap "mountConfigMaps" }}
|
||||
{{- if $originalMap }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "doriscluster.default.feConfigMap.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
data:
|
||||
{{- toYaml $originalMap | nindent 2}}
|
||||
{{- end }}
|
||||
@@ -0,0 +1,56 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{$cmDatas := list }}
|
||||
{{- range $cp := .Values.feSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.beSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $index, $cp := .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
{{- if $cp.data }}
|
||||
{{- $cmDatas = append $cmDatas $cp }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- range $cp := $cmDatas }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ $cp.configMapName }}
|
||||
namespace: {{ template "doriscluster.namespace" $ }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" $ }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" $ }}
|
||||
data:
|
||||
{{- toYaml $cp.data | nindent 2 }}
|
||||
---
|
||||
{{- end }}
|
||||
@@ -0,0 +1,368 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# This yaml have dorisCluster CRD all fields. The yaml only for reference how to config, not for deploy on kubernetes.
|
||||
|
||||
apiVersion: doris.selectdb.com/v1
|
||||
kind: DorisCluster
|
||||
metadata:
|
||||
name: {{ template "doriscluster.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
{{- if .Values.dorisCluster.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.dorisCluster.annotations | nindent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.dorisCluster.adminUser }}
|
||||
adminUser:
|
||||
{{- toYaml .Values.dorisCluster.adminUser | nindent 4 }}
|
||||
{{- else if .Values.dorisCluster.authSecret }}
|
||||
authSecret: {{ template "doriscluster.secret.name" . }}
|
||||
{{- end }}
|
||||
feSpec:
|
||||
replicas: {{ .Values.feSpec.replicas }}
|
||||
{{- if .Values.feSpec.electionNumber }}
|
||||
electionNumber: {{ .Values.feSpec.electionNumber }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.feSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.feSpec.image.repository }}:{{ .Values.feSpec.image.tag }}
|
||||
{{- if .Values.feSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.feSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.feSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.feSpec.service.type) .Values.feSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.feSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.feSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.feSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.feSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.feConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.feConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.feConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.feSpec.resource }}
|
||||
{{- toYaml .Values.feSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- if .Values.feSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.feSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.feSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.feSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.feSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.feSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.fe.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.feSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.feSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.feSpec.systemInitialization.command }}
|
||||
command: {{ .Values.feSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
beSpec:
|
||||
replicas: {{ .Values.beSpec.replicas }}
|
||||
{{- if .Values.beSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.beSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.beSpec.image.repository }}:{{ .Values.beSpec.image.tag }}
|
||||
{{- if .Values.beSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.beSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.beSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.beSpec.service.type) .Values.beSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.beSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.beSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.beSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.beSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.beConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.beConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.beConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.resource }}
|
||||
{{- toYaml .Values.beSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.beSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.beSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.beSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.beSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.beSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.be.pvc" . }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.beSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.beSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.beSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.beSpec.systemInitialization.command }}
|
||||
command: {{ .Values.beSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.dorisCluster.enabledCn }}
|
||||
cnSpec:
|
||||
replicas: {{ .Values.cnSpec.replicas }}
|
||||
|
||||
{{- if .Values.cnSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.cnSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.cnSpec.image.repository }}:{{ .Values.cnSpec.image.tag }}
|
||||
{{- if .Values.cnSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.cnSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.service }}
|
||||
service:
|
||||
type: {{ .Values.cnSpec.service.type }}
|
||||
{{- if and (eq "LoadBalancer" .Values.cnSpec.service.type) .Values.cnSpec.service.loadbalancerIP }}
|
||||
loadBalancerIP: {{ .Values.cnSpec.service.loadbalancerIP }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.service.servicePorts }}
|
||||
servicePorts:
|
||||
{{- toYaml .Values.cnSpec.service.servicePorts | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.service.annotations }}
|
||||
annotations:
|
||||
{{- toYaml .Values.cnSpec.service.annotations | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.cnSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.cnConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.cnConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.cnConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.resource }}
|
||||
{{- toYaml .Values.cnSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.cnSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.cnSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.cnSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.cnSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.cnSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.cnSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.cn.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.cnSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.cnSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.systemInitialization.command }}
|
||||
command: {{ .Values.cnSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.cnSpec.autoScalingPolicy.enable }}
|
||||
autoScalingPolicy:
|
||||
version: {{default ( include "doriscluster.default.autoScalerVersion" . ) .Values.cnSpec.autoScalingPolicy.version }}
|
||||
minReplicas: {{ .Values.cnSpec.autoScalingPolicy.minReplicas}}
|
||||
maxReplicas: {{ .Values.cnSpec.autoScalingPolicy.maxReplicas}}
|
||||
hpaPolicy:
|
||||
{{- toYaml .Values.cnSpec.autoScalingPolicy.hpaPolicy | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.dorisCluster.enabledBroker }}
|
||||
brokerSpec:
|
||||
replicas: {{ .Values.brokerSpec.replicas }}
|
||||
|
||||
{{- if .Values.brokerSpec.labels }}
|
||||
podLabels:
|
||||
{{- toYaml .Values.brokerSpec.labels | nindent 6 }}
|
||||
{{- end }}
|
||||
image: {{ .Values.brokerSpec.image.repository }}:{{ .Values.brokerSpec.image.tag }}
|
||||
{{- if .Values.brokerSpec.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml .Values.brokerSpec.image.imagePullSecrets | nindent 4 }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.configMap }}
|
||||
configMapInfo:
|
||||
{{- $originalMap := .Values.brokerSpec.configMap }}
|
||||
{{- $defaultMap := omit $originalMap "mountConfigMaps" }}
|
||||
{{- if $defaultMap }}
|
||||
configMapName: {{ template "doriscluster.default.brokerConfigMap.name" . }}
|
||||
resolveKey: {{ template "doriscluster.default.brokerConfig.resolveKey" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.configMap.mountConfigMaps }}
|
||||
configMaps:
|
||||
{{- template "doriscluster.brokerConfig.configMaps" . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.resource }}
|
||||
{{- toYaml .Values.brokerSpec.resource | nindent 4 }}
|
||||
{{- else }}
|
||||
{{- include "doriscluster.default.resource" .}}
|
||||
{{- end }}
|
||||
|
||||
{{- if .Values.brokerSpec.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml .Values.brokerSpec.nodeSelector | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.env }}
|
||||
envVars:
|
||||
{{- toYaml .Values.brokerSpec.env | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.affinity }}
|
||||
affinity:
|
||||
{{- toYaml .Values.brokerSpec.affinity | nindent 6 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.tolerations }}
|
||||
tolerations:
|
||||
{{- toYaml .Values.brokerSpec.tolerations | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.hostAliases }}
|
||||
hostAliases:
|
||||
{{- toYaml .Values.brokerSpec.hostAliases | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.persistentVolumeClaim }}
|
||||
persistentVolumes:
|
||||
{{- template "doriscluster.broker.pvc" . }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.systemInitialization }}
|
||||
systemInitialization:
|
||||
{{- if .Values.brokerSpec.systemInitialization.initImage }}
|
||||
initImage: {{ .Values.brokerSpec.systemInitialization.initImage }}
|
||||
{{- end }}
|
||||
{{- if .Values.brokerSpec.systemInitialization.command }}
|
||||
command: {{ .Values.brokerSpec.systemInitialization.command }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
31
agent-common/SplitProject/doris-25.2.1/templates/secret.yaml
Normal file
31
agent-common/SplitProject/doris-25.2.1/templates/secret.yaml
Normal file
@@ -0,0 +1,31 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
{{- if .Values.dorisCluster.authSecret }}
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: {{ template "doriscluster.secret.name" . }}
|
||||
namespace: {{ template "doriscluster.namespace" . }}
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
app.kubernetes.io/instance: {{ template "doriscluster.name" . }}
|
||||
app.kubernetes.io/part-of: {{ template "kube-control.name" . }}
|
||||
type: kubernetes.io/basic-auth
|
||||
data:
|
||||
{{- toYaml .Values.dorisCluster.authSecret | nindent 2}}
|
||||
{{- end }}
|
||||
697
agent-common/SplitProject/doris-25.2.1/values.yaml
Normal file
697
agent-common/SplitProject/doris-25.2.1/values.yaml
Normal file
@@ -0,0 +1,697 @@
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
# deploy a doris cluster
|
||||
dorisCluster:
|
||||
# the name of doriscluster, if not set, the chart name will be used.
|
||||
name: "doriscluster-helm"
|
||||
# annotations for doris cluster.
|
||||
annotations: {}
|
||||
# specify the cn deploy or not.
|
||||
enabledCn: false
|
||||
# specify the broker deploy or not.
|
||||
enabledBroker: false
|
||||
# specify the doriscluster adminuser or not.
|
||||
# set adminUser will record the password in clear text. This method has been abandoned and is not recommended.
|
||||
# When adding adminuser. should follow the steps:
|
||||
# 1. Start dorisclusert without adminUser
|
||||
# 2. Run 'CREATE USER ...' or 'SET PASSWORD ...' in mysql client
|
||||
# 3. Add the name and password added in the previous step to adminUser and execute helm
|
||||
adminUser: {}
|
||||
# name: root
|
||||
# password: "12345"
|
||||
# use authSecret can encrypt and save passwords, recommend this method
|
||||
# 1. run shell: echo -n '{your_password}' | base64 to get password base64 string
|
||||
# 2. run shell: echo -n '{your_user}' | base64 to get user base64 string
|
||||
# 3. Fill the encrypted string into the corresponding position
|
||||
# as follow, username is 'root' , password is 't0p-Secret'
|
||||
authSecret: {}
|
||||
# username: cm9vdA==
|
||||
# password: dDBwLVNlY3JldA==
|
||||
|
||||
feSpec:
|
||||
replicas: 3
|
||||
# electionNumber represents `FOLLOWER` number, replicas - electionNumber as `OBSERVER`
|
||||
# electionNumber: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: fe-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for fe service.
|
||||
# if you want to use a dedicated port for fe service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the fe service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30001
|
||||
# targetPort: 9030
|
||||
# - nodePort: 30002
|
||||
# targetPort: 8030
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# type: "LoadBalancer"
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations:
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'fe.conf' is the startup config file of fe, and the name must be 'fe.conf'.
|
||||
# fe.conf: |
|
||||
# http_port = 8030
|
||||
# rpc_port = 9020
|
||||
# query_port = 9030
|
||||
# edit_log_port = 9010
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# meta volume, mountPath is /opt/apache-doris/fe/doris-meta
|
||||
# metaPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/fe/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
beSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: be-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for be service.
|
||||
# if you want to use a dedicated port for be service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the be service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30003
|
||||
# targetPort: 9040
|
||||
# - nodePort: 30004
|
||||
# targetPort: 8040
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# type: "LoadBalancer"
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'be.conf' is the startup config file of be, and the name must be 'be.conf'.
|
||||
# be.conf: |
|
||||
# be_port = 9060
|
||||
# webserver_port = 8040
|
||||
# heartbeat_service_port = 9050
|
||||
# brpc_port = 8060
|
||||
# storage_root_path = /data/doris/be/storage
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# data volume, mountPath is /opt/apache-doris/be/storage
|
||||
# dataPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/be/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
cnSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: be-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# config the service port for cn service.
|
||||
# if you want to use a dedicated port for cn service, you can config the port.
|
||||
# see https://kubernetes.io/docs/concepts/services-networking/service/#field-spec-ports for more details.
|
||||
service:
|
||||
# the cn service type, only supported ClusterIP, NodePort, LoadBalancer
|
||||
type: ClusterIP
|
||||
# type: NodePort
|
||||
# servicePorts:
|
||||
# - nodePort: 30005
|
||||
# targetPort: 9040
|
||||
# - nodePort: 30006
|
||||
# targetPort: 8040
|
||||
# type: "LoadBalancer"
|
||||
# the loadBalancerIP for static ip config when the type=LoadBalancer and loadbalancerIp is not empty.
|
||||
# loadbalancerIP: "127.0.0.1"
|
||||
# use LoadBalancer on cloud platform, try to configure it using annotations
|
||||
annotations: {}
|
||||
# service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: "intranet"
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'be.conf' is the startup config file of cn, and the name must be 'be.conf'.
|
||||
# be.conf: |
|
||||
# be_port = 9060
|
||||
# webserver_port = 8040
|
||||
# heartbeat_service_port = 9050
|
||||
# brpc_port = 8060
|
||||
# storage_root_path = /data/doris/be/storage
|
||||
# be_node_role=computation
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# data volume, mountPath is /opt/apache-doris/be/storage
|
||||
# dataPersistentVolume:
|
||||
# storage: 200Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
# logs volume, mountPath is /opt/apache-doris/be/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
# specific cn auto scale policy
|
||||
autoScalingPolicy:
|
||||
enable: true
|
||||
# version: v2
|
||||
minReplicas: 1
|
||||
maxReplicas: 4
|
||||
# hpaPolicy response to horizontlaPodAutoscaler's HorizontalPodAutoscalerSpec
|
||||
hpaPolicy: {}
|
||||
# metrics:
|
||||
# - type: Resource
|
||||
# resource:
|
||||
# name: cpu
|
||||
# target:
|
||||
# type: Utilization
|
||||
# averageUtilization: 30
|
||||
|
||||
brokerSpec:
|
||||
replicas: 3
|
||||
# the pod labels for user select or classify pods.
|
||||
labels: {}
|
||||
# selectdb.app.classify: "classify-1"
|
||||
image:
|
||||
repository: apache/doris
|
||||
tag: broker-2.1.7
|
||||
# imagePullSecrets:
|
||||
# - name: imagePullSecret
|
||||
# specify the configMap, as a dictionary.
|
||||
# Its 'key' is the config file name in the doris 'doris_root_path/fe/conf/' file path,
|
||||
# Its 'value' is the text content of the corresponding file (it should be relatively long, actually).
|
||||
configMap: {}
|
||||
# 'apache_hdfs_broker.conf' is the startup config file of broker, and the name must be 'apache_hdfs_broker.conf'.
|
||||
# apache_hdfs_broker.conf: |
|
||||
# broker_ipc_port: 8000
|
||||
# client_expire_seconds: 3600
|
||||
# Other config files can also be specified here
|
||||
# hdfs-site.xml: |
|
||||
# <?xml version="1.0" encoding="UTF-8"?>
|
||||
#
|
||||
# <configuration>
|
||||
# <property>
|
||||
# <name>dfs.nameservices</name>
|
||||
# <value>ns</value>
|
||||
# </property>
|
||||
#
|
||||
# mountConfigMaps supports configmap mounting in the form of specifying the mounting directory
|
||||
# but please note that the mounting path cannot be repeated.
|
||||
# if the elements within mountConfigMaps contain data, it means that the configmap does not need to be created manually by the user, and vice versa.
|
||||
# in the following example, the user needs to manually create configmap 'cm-1'
|
||||
# mountConfigMaps: {}
|
||||
# - configMapName: cm-1
|
||||
# mountPath: /etc/cm1
|
||||
# - configMapName: cm-2
|
||||
# mountPath: /etc/cm2
|
||||
# data:
|
||||
# copy_file1: |
|
||||
# text *** content
|
||||
# copy_file2: |
|
||||
# text *** content
|
||||
|
||||
# If configured separately here, it will overwrite the total resources configuration default.
|
||||
# but the default configuration of other types will still take effect.
|
||||
resource: {}
|
||||
# requests:
|
||||
# cpu: 8
|
||||
# memory: 16Gi
|
||||
# limits:
|
||||
# cpu: 16
|
||||
# memory: 32Gi
|
||||
# If specified, the pod's nodeSelector,displayName="Map of nodeSelectors to match when scheduling pods on nodes"
|
||||
nodeSelector: {}
|
||||
# kubernetes.io/arch: amd64
|
||||
# kubernetes.io/os: linux
|
||||
# app.kubernetes.node.name: "k8s-node1"
|
||||
# env represents an environment variable present in a Container.
|
||||
# 'name' of the environment variable. Must be a C_IDENTIFIER.
|
||||
# no more than one of the following may be specified: 'value' or 'valueFrom',
|
||||
# 'value' is the value of environment.
|
||||
# 'valueFrom' is source for the environment variable's value. Cannot be used if 'value' is not empty.
|
||||
env: []
|
||||
# - name: "HOME"
|
||||
# value: "/opt/selectdb"
|
||||
# - name: HOST_IP
|
||||
# valueFrom:
|
||||
# fieldRef:
|
||||
# apiVersion: v1
|
||||
# fieldPath: status.hostIP
|
||||
|
||||
# affinity is the constraints of pod scheduling
|
||||
# nodeAffinity: Describes node affinity scheduling rules for the pod.
|
||||
# podAffinity: Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# PodAntiAffinity: Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
|
||||
# reference: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/
|
||||
affinity: {}
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "k8s-node1"
|
||||
# "k8s-node2"
|
||||
# podAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "In"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
# podAntiAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# key: "app.kubernetes.node.name"
|
||||
# operator: "NotIn"
|
||||
# values:
|
||||
# - "fe1"
|
||||
# "fe2"
|
||||
|
||||
# the pod this Toleration is attached to tolerates any taint that matches. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
|
||||
# the triple <key,value,effect> using the matching operator <operator>.
|
||||
# 'key' is the taint key that the toleration applies to. Empty means match all taint keys. if the 'key' is empty, 'operator' must be Exists; this combination means to match all values and all keys.
|
||||
# 'operator' represents a key's relationship to the 'value'. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a pod can tolerate all taints of a particular category.
|
||||
# 'value' is the taint value the toleration matches to. If the 'operator' is Exists, the 'value' should be empty, otherwise just a regular string.
|
||||
# 'effect' indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
|
||||
tolerations: []
|
||||
# - key: "toleration"
|
||||
# operator: "Equal"
|
||||
# value: "master"
|
||||
# - key: "node-role.kubernetes.io/master"
|
||||
# operator: "Exists"
|
||||
# effect: "NoSchedule"
|
||||
# - operator: "Exists"
|
||||
|
||||
# hostAliases allows adding entries to /etc/hosts inside the containers
|
||||
hostAliases: []
|
||||
# If doris use hdfs or catalog, config the map of namenode host here is beneficial
|
||||
# - ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "hostname1"
|
||||
# - ip: "127.0.0.2"
|
||||
# hostnames:
|
||||
# - "hostname2"
|
||||
persistentVolumeClaim: {}
|
||||
# logs volume, mountPath is /opt/apache-doris/apache_hdfs_broker/log
|
||||
# logsPersistentVolume:
|
||||
# storage: 100Gi
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
# storageClassName: ""
|
||||
systemInitialization: {}
|
||||
# initImage: "selectdb/alpine:latest"
|
||||
# command: [ "/sbin/sysctl", "-w", "vm.max_map_count=2000000" ]
|
||||
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
apiVersion: doris.selectdb.com/v1
|
||||
kind: DorisCluster
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: doriscluster
|
||||
name: doriscluster-helm
|
||||
namespace: doriscluster
|
||||
spec:
|
||||
feSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- doris
|
||||
replicas: 3
|
||||
image: 172.16.100.55:8033/cmii/doris.fe-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 6Gi
|
||||
configMapInfo:
|
||||
# use kubectl create configmap fe-configmap --from-file=fe.conf
|
||||
configMapName: fe-configmap
|
||||
resolveKey: fe.conf
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/fe/doris-meta
|
||||
name: doris-fe-2000g
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-56
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 2000Gi
|
||||
- mountPath: /opt/apache-doris/fe/jdbc_drivers
|
||||
name: doriscluster-storage-fe-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-58
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
beSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: uavcloud.env
|
||||
operator: In
|
||||
values:
|
||||
- doris
|
||||
replicas: 3
|
||||
image: 172.16.100.55:8033/cmii/doris.be-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 24Gi
|
||||
requests:
|
||||
cpu: 2
|
||||
memory: 6Gi
|
||||
configMapInfo:
|
||||
# use kubectl create configmap be-configmap --from-file=be.conf
|
||||
configMapName: be-configmap
|
||||
resolveKey: be.conf
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doris-1-9000g-pvc
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-57
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/jdbc_drivers
|
||||
name: doriscluster-storage-be-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-nfs-sc-58
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 1000Gi
|
||||
@@ -7,8 +7,17 @@ metadata:
|
||||
namespace: doriscluster
|
||||
spec:
|
||||
feSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
replicas: 1
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.fe-ubuntu:2.1.6
|
||||
image: 172.16.100.55:8033/cmii/doris.fe-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 16Gi
|
||||
@@ -26,36 +35,35 @@ spec:
|
||||
name: doriscluster-storage0
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
# notice: if the storage size less 5G, fe will not start normal.
|
||||
requests:
|
||||
storage: 300Gi
|
||||
- mountPath: /opt/apache-doris/fe/log
|
||||
name: doriscluster-storage1
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 500Gi
|
||||
- mountPath: /opt/apache-doris/fe/jdbc_drivers
|
||||
name: doriscluster-storage-fe-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: cmlc-nfs-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 10Gi
|
||||
beSpec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
replicas: 3
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.be-ubuntu:2.1.6
|
||||
image: 172.16.100.55:8033/cmii/doris.be-ubuntu:2.1.6
|
||||
limits:
|
||||
cpu: 8
|
||||
memory: 24Gi
|
||||
@@ -69,33 +77,43 @@ spec:
|
||||
nodeSelector:
|
||||
uavcloud.env: demo
|
||||
persistentVolumes:
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doriscluster-storage1
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/storage
|
||||
name: doriscluster-storage2
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 300Gi
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/log
|
||||
name: doriscluster-storage3
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: doris-static-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 9000Gi
|
||||
- mountPath: /opt/apache-doris/be/jdbc_drivers
|
||||
name: doriscluster-storage-be-jdbc-drivers
|
||||
persistentVolumeClaimSpec:
|
||||
# when use specific storageclass, the storageClassName should reConfig, example as annotation.
|
||||
storageClassName: nfs-prod-distribute
|
||||
storageClassName: cmlc-nfs-storage
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storage: 10Gi
|
||||
@@ -284,22 +284,15 @@ spec:
|
||||
# according to the platforms which are supported by your solution.
|
||||
# It is considered best practice to support multiple architectures. You can
|
||||
# build your manager image using the makefile target docker-buildx.
|
||||
# affinity:
|
||||
# nodeAffinity:
|
||||
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||
# nodeSelectorTerms:
|
||||
# - matchExpressions:
|
||||
# - key: kubernetes.io/arch
|
||||
# operator: In
|
||||
# values:
|
||||
# - amd64
|
||||
# - arm64
|
||||
# - ppc64le
|
||||
# - s390x
|
||||
# - key: kubernetes.io/os
|
||||
# operator: In
|
||||
# values:
|
||||
# - linux
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: doris-deploy
|
||||
operator: In
|
||||
values:
|
||||
- "true"
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
# TODO(user): For common cases that do not require escalating privileges
|
||||
@@ -314,7 +307,7 @@ spec:
|
||||
- /dorisoperator
|
||||
args:
|
||||
- --leader-elect
|
||||
image: harbor.cdcyy.com.cn/cmii/doris.k8s-operator:1.3.1
|
||||
image: 172.16.100.55:8033/cmii/doris.k8s-operator:1.3.1
|
||||
name: dorisoperator
|
||||
securityContext:
|
||||
allowPrivilegeEscalation: false
|
||||
|
||||
Reference in New Issue
Block a user