Compare commits
3 commits
main
...
clickhouse
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bab62a53dc | ||
|
|
5fe056071c | ||
|
|
5bfe1caf4b |
26 changed files with 188 additions and 4225 deletions
|
|
@ -20,9 +20,4 @@ version: 0.1.0
|
||||||
# This is the version number of the application being deployed. This version number should be
|
# This is the version number of the application being deployed. This version number should be
|
||||||
# incremented each time you make changes to the application. Versions are not expected to
|
# incremented each time you make changes to the application. Versions are not expected to
|
||||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||||
# It is recommended to use it with quotes.
|
appVersion: 1.16.0
|
||||||
appVersion: "1.16.0"
|
|
||||||
|
|
||||||
dependencies:
|
|
||||||
- name: altinity-clickhouse-operator
|
|
||||||
version: 0.0.14
|
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
apiVersion: v2
|
|
||||||
appVersion: 0.18.1
|
|
||||||
description: Helm chart to deploy [altinity-clickhouse-operator](https://github.com/Altinity/clickhouse-operator). The
|
|
||||||
ClickHouse Operator creates, configures and manages ClickHouse clusters running
|
|
||||||
on Kubernetes. Refer to operator repo for additional information.
|
|
||||||
home: https://github.com/slamdev/helm-charts/tree/master/charts/altinity-clickhouse-operator
|
|
||||||
icon: https://artifacthub.io/image/2d6aa29c-c74f-4bff-bede-ba7e6e0315a7@2x
|
|
||||||
maintainers:
|
|
||||||
- email: valentin.fedoskin@gmail.com
|
|
||||||
name: slamdev
|
|
||||||
name: altinity-clickhouse-operator
|
|
||||||
type: application
|
|
||||||
version: 0.0.14
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
# altinity-clickhouse-operator
|
|
||||||
|
|
||||||
  
|
|
||||||
|
|
||||||
Helm chart to deploy [altinity-clickhouse-operator](https://github.com/Altinity/clickhouse-operator).
|
|
||||||
|
|
||||||
The ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes.
|
|
||||||
|
|
||||||
Refer to operator repo for additional information.
|
|
||||||
|
|
||||||
**Homepage:** <https://github.com/slamdev/helm-charts/tree/master/charts/altinity-clickhouse-operator>
|
|
||||||
|
|
||||||
## Maintainers
|
|
||||||
|
|
||||||
| Name | Email | Url |
|
|
||||||
| ---- | ------ | --- |
|
|
||||||
| slamdev | valentin.fedoskin@gmail.com | |
|
|
||||||
|
|
||||||
## Values
|
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
|
||||||
|-----|------|---------|-------------|
|
|
||||||
| affinity | object | `{}` | affinity for scheduler pod assignment |
|
|
||||||
| configs | object | `{"confdFiles":null,"configdFiles":null,"files":null,"templatesdFiles":null,"usersdFiles":null}` | overrides operator default configmaps |
|
|
||||||
| fullnameOverride | string | `""` | full name of the chart. |
|
|
||||||
| imagePullSecrets | list | `[]` | image pull secret for private images |
|
|
||||||
| metrics.env | list | `[]` | additional environment variables for the deployment |
|
|
||||||
| metrics.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
|
||||||
| metrics.image.repository | string | `"altinity/metrics-exporter"` | image repository |
|
|
||||||
| metrics.image.tag | string | `""` | image tag (chart's appVersion value will be used if not set) |
|
|
||||||
| metrics.resources | object | `{}` | custom resource configuration |
|
|
||||||
| metrics.command | list | `nil` | command for metrics-exporter container |
|
|
||||||
| metrics.args | list | `nil` | args for metrics-exporter container |
|
|
||||||
| nameOverride | string | `""` | override name of the chart |
|
|
||||||
| nodeSelector | object | `{}` | node for scheduler pod assignment |
|
|
||||||
| operator.env | list | `[]` | additional environment variables for the deployment |
|
|
||||||
| operator.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
|
||||||
| operator.image.repository | string | `"altinity/clickhouse-operator"` | image repository |
|
|
||||||
| operator.image.tag | string | `""` | image tag (chart's appVersion value will be used if not set) |
|
|
||||||
| operator.resources | object | `{}` | custom resource configuration |
|
|
||||||
| operator.command | list | `nil` | command for operator container |
|
|
||||||
| operator.args | list | `nil` | args for operator container |
|
|
||||||
| podAnnotations | object | `nil` | additional pod annotations |
|
|
||||||
| serviceAccount.annotations | object | `{}` | annotations to add to the service account |
|
|
||||||
| serviceAccount.create | bool | `true` | specifies whether a service account should be created |
|
|
||||||
| serviceAccount.name | string | `nil` | the name of the service account to use; if not set and create is true, a name is generated using the fullname template |
|
|
||||||
| serviceMonitor.additionalLabels | object | `{}` | additional labels for service monitor |
|
|
||||||
| serviceMonitor.enabled | bool | `false` | ServiceMonitor CRD is created for a prometheus operator |
|
|
||||||
| tolerations | list | `[]` | tolerations for scheduler pod assignment |
|
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,284 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NONE
|
|
||||||
#
|
|
||||||
apiVersion: apiextensions.k8s.io/v1
|
|
||||||
kind: CustomResourceDefinition
|
|
||||||
metadata:
|
|
||||||
name: clickhouseoperatorconfigurations.clickhouse.altinity.com
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
spec:
|
|
||||||
group: clickhouse.altinity.com
|
|
||||||
scope: Namespaced
|
|
||||||
names:
|
|
||||||
kind: ClickHouseOperatorConfiguration
|
|
||||||
singular: clickhouseoperatorconfiguration
|
|
||||||
plural: clickhouseoperatorconfigurations
|
|
||||||
shortNames:
|
|
||||||
- chopconf
|
|
||||||
versions:
|
|
||||||
- name: v1
|
|
||||||
served: true
|
|
||||||
storage: true
|
|
||||||
additionalPrinterColumns:
|
|
||||||
- name: namespaces
|
|
||||||
type: string
|
|
||||||
description: Watch namespaces
|
|
||||||
priority: 0 # show in standard view
|
|
||||||
jsonPath: .status
|
|
||||||
schema:
|
|
||||||
openAPIV3Schema:
|
|
||||||
type: object
|
|
||||||
description: "allows customize `clickhouse-operator` settings, need restart clickhouse-operator pod after adding, more details https://github.com/Altinity/clickhouse-operator/blob/master/docs/operator_configuration.md"
|
|
||||||
x-kubernetes-preserve-unknown-fields: true
|
|
||||||
properties:
|
|
||||||
status:
|
|
||||||
type: object
|
|
||||||
x-kubernetes-preserve-unknown-fields: true
|
|
||||||
spec:
|
|
||||||
type: object
|
|
||||||
description: |
|
|
||||||
Allows to define settings of the clickhouse-operator.
|
|
||||||
More info: https://github.com/Altinity/clickhouse-operator/blob/master/config/config.yaml
|
|
||||||
Check into etc-clickhouse-operator* ConfigMaps if you need more control
|
|
||||||
x-kubernetes-preserve-unknown-fields: true
|
|
||||||
properties:
|
|
||||||
watch:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
namespaces:
|
|
||||||
type: array
|
|
||||||
description: "List of namespaces where clickhouse-operator watches for events."
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
clickhouse:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
configuration:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
file:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
path:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
common:
|
|
||||||
type: string
|
|
||||||
description: "Path to the folder where ClickHouse configuration files common for all instances within a CHI are located. Default - config.d"
|
|
||||||
host:
|
|
||||||
type: string
|
|
||||||
description: "Path to the folder where ClickHouse configuration files unique for each instance (host) within a CHI are located. Default - conf.d"
|
|
||||||
user:
|
|
||||||
type: string
|
|
||||||
description: "Path to the folder where ClickHouse configuration files with users settings are located. Files are common for all instances within a CHI."
|
|
||||||
user:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
default:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
profile:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse server configuration `<profile>...</profile>` for any <user>"
|
|
||||||
quota:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse server configuration `<quota>...</quota>` for any <user>"
|
|
||||||
networksIP:
|
|
||||||
type: array
|
|
||||||
description: "ClickHouse server configuration `<networks><ip>...</ip></networks>` for any <user>"
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
password:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse server configuration `<password>...</password>` for any <user>"
|
|
||||||
network:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
hostRegexpTemplate:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse server configuration `<host_regexp>...</host_regexp>` for any <user>"
|
|
||||||
access:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
username:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse username to be used by operator to connect to ClickHouse instances, deprecated, use chCredentialsSecretName"
|
|
||||||
password:
|
|
||||||
type: string
|
|
||||||
description: "ClickHouse password to be used by operator to connect to ClickHouse instances, deprecated, use chCredentialsSecretName"
|
|
||||||
secret:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
namespace:
|
|
||||||
type: string
|
|
||||||
description: "Location of k8s Secret with username and password to be used by operator to connect to ClickHouse instances"
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
description: "Name of k8s Secret with username and password to be used by operator to connect to ClickHouse instances"
|
|
||||||
port:
|
|
||||||
type: integer
|
|
||||||
minimum: 1
|
|
||||||
maximum: 65535
|
|
||||||
description: "port to be used by operator to connect to ClickHouse instances"
|
|
||||||
template:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
chi:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
path:
|
|
||||||
type: string
|
|
||||||
description: "Path to folder where ClickHouseInstallationTemplate .yaml manifests are located."
|
|
||||||
reconcile:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
runtime:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
threadsNumber:
|
|
||||||
type: integer
|
|
||||||
minimum: 1
|
|
||||||
maximum: 65535
|
|
||||||
description: "How many goroutines will be used to reconcile in parallel, 10 by default"
|
|
||||||
statefulSet:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
create:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
onFailure:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
What to do in case created StatefulSet is not in Ready after `statefulSetUpdateTimeout` seconds
|
|
||||||
Possible options:
|
|
||||||
1. abort - do nothing, just break the process and wait for admin.
|
|
||||||
2. delete - delete newly created problematic StatefulSet.
|
|
||||||
3. ignore (default) - ignore error, pretend nothing happened and move on to the next StatefulSet.
|
|
||||||
update:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
timeout:
|
|
||||||
type: integer
|
|
||||||
description: "How many seconds to wait for created/updated StatefulSet to be Ready"
|
|
||||||
pollInterval:
|
|
||||||
type: integer
|
|
||||||
description: "How many seconds to wait between checks for created/updated StatefulSet status"
|
|
||||||
onFailure:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
What to do in case updated StatefulSet is not in Ready after `statefulSetUpdateTimeout` seconds
|
|
||||||
Possible options:
|
|
||||||
1. abort - do nothing, just break the process and wait for admin.
|
|
||||||
2. rollback (default) - delete Pod and rollback StatefulSet to previous Generation. Pod would be recreated by StatefulSet based on rollback-ed configuration.
|
|
||||||
3. ignore - ignore error, pretend nothing happened and move on to the next StatefulSet.
|
|
||||||
host:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
wait:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
exclude:
|
|
||||||
type: boolean
|
|
||||||
include:
|
|
||||||
type: boolean
|
|
||||||
annotation:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
include:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
exclude:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
label:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
include:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
exclude:
|
|
||||||
type: array
|
|
||||||
items:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
When propagating labels from the chi's `metadata.labels` section to child objects' `metadata.labels`,
|
|
||||||
exclude labels from the following list
|
|
||||||
appendScope:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
Whether to append *Scope* labels to StatefulSet and Pod
|
|
||||||
- "LabelShardScopeIndex"
|
|
||||||
- "LabelReplicaScopeIndex"
|
|
||||||
- "LabelCHIScopeIndex"
|
|
||||||
- "LabelCHIScopeCycleSize"
|
|
||||||
- "LabelCHIScopeCycleIndex"
|
|
||||||
- "LabelCHIScopeCycleOffset"
|
|
||||||
- "LabelClusterScopeIndex"
|
|
||||||
- "LabelClusterScopeCycleSize"
|
|
||||||
- "LabelClusterScopeCycleIndex"
|
|
||||||
- "LabelClusterScopeCycleOffset"
|
|
||||||
enum:
|
|
||||||
# List StringBoolXXX constants from model
|
|
||||||
- ""
|
|
||||||
- "0"
|
|
||||||
- "1"
|
|
||||||
- "False"
|
|
||||||
- "false"
|
|
||||||
- "True"
|
|
||||||
- "true"
|
|
||||||
- "No"
|
|
||||||
- "no"
|
|
||||||
- "Yes"
|
|
||||||
- "yes"
|
|
||||||
- "Off"
|
|
||||||
- "off"
|
|
||||||
- "On"
|
|
||||||
- "on"
|
|
||||||
- "Disable"
|
|
||||||
- "disable"
|
|
||||||
- "Enable"
|
|
||||||
- "enable"
|
|
||||||
- "Disabled"
|
|
||||||
- "disabled"
|
|
||||||
- "Enabled"
|
|
||||||
- "enabled"
|
|
||||||
statefulSet:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
revisionHistoryLimit:
|
|
||||||
type: integer
|
|
||||||
pod:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
terminationGracePeriod:
|
|
||||||
type: integer
|
|
||||||
logger:
|
|
||||||
type: object
|
|
||||||
properties:
|
|
||||||
logtostderr:
|
|
||||||
type: string
|
|
||||||
description: "boolean, allows logs to stderr"
|
|
||||||
alsologtostderr:
|
|
||||||
type: string
|
|
||||||
description: "boolean allows logs to stderr and files both"
|
|
||||||
v:
|
|
||||||
type: string
|
|
||||||
description: "verbosity level of clickhouse-operator log, default - 1 max - 9"
|
|
||||||
stderrthreshold:
|
|
||||||
type: string
|
|
||||||
vmodule:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
Comma-separated list of filename=N, where filename (can be a pattern) must have no .go ext, and N is a V level.
|
|
||||||
Ex.: file*=2 sets the 'V' to 2 in all files with names like file*.
|
|
||||||
log_backtrace_at:
|
|
||||||
type: string
|
|
||||||
description: |
|
|
||||||
It can be set to a file and line number with a logging line.
|
|
||||||
Ex.: file.go:123
|
|
||||||
Each time when this line is being executed, a stack trace will be written to the Info log.
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
#
|
|
||||||
# Script downloads manifest from altinity repo, splits it to separate files
|
|
||||||
# and puts to the corresponding folders
|
|
||||||
# NOTE: yq ( https://mikefarah.gitbook.io/yq/ ) > v4.14.x is required
|
|
||||||
#
|
|
||||||
# Usage: ./sync.sh
|
|
||||||
#
|
|
||||||
|
|
||||||
set -o errexit
|
|
||||||
set -o nounset
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
readonly repo_url="https://raw.githubusercontent.com/Altinity/clickhouse-operator"
|
|
||||||
readonly crds_dir="../crds"
|
|
||||||
readonly templates_dir="../templates/generated"
|
|
||||||
readonly manifest_path="deploy/operator/clickhouse-operator-install-bundle.yaml"
|
|
||||||
readonly chart_def="../Chart.yaml"
|
|
||||||
|
|
||||||
function main() {
|
|
||||||
readonly manifest_url="${repo_url}/$(detect_version)/${manifest_path}"
|
|
||||||
local tmpdir
|
|
||||||
tmpdir=$(mktemp -d)
|
|
||||||
|
|
||||||
# shellcheck disable=SC2016
|
|
||||||
(cd "${tmpdir}" && curl -s "${manifest_url}" 2>&1 | yq e --no-doc -s '$index')
|
|
||||||
|
|
||||||
for f in "${tmpdir}"/*.yml; do
|
|
||||||
process "${f}"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
function process() {
|
|
||||||
local file="${1}"
|
|
||||||
|
|
||||||
local kind
|
|
||||||
kind=$(yq e '.kind' "${file}")
|
|
||||||
|
|
||||||
local name
|
|
||||||
name=$(yq e '.metadata.name' "${file}")
|
|
||||||
|
|
||||||
local processed_file="${kind}-${name}.yaml"
|
|
||||||
|
|
||||||
if [[ "${kind}" == "CustomResourceDefinition" ]]; then
|
|
||||||
processed_file="${crds_dir}/${processed_file}"
|
|
||||||
else
|
|
||||||
processed_file="${templates_dir}/${processed_file}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
mv "${file}" "${processed_file}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function detect_version() {
|
|
||||||
yq e '.appVersion' ${chart_def}
|
|
||||||
}
|
|
||||||
|
|
||||||
main
|
|
||||||
|
|
@ -1,73 +0,0 @@
|
||||||
{{/* vim: set filetype=mustache: */}}
|
|
||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
||||||
If release name contains chart name it will be used as a full name.
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride -}}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
|
||||||
{{- if contains $name .Release.Name -}}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.labels" -}}
|
|
||||||
helm.sh/chart: {{ include "altinity-clickhouse-operator.chart" . }}
|
|
||||||
{{ include "altinity-clickhouse-operator.selectorLabels" . }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.selectorLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "altinity-clickhouse-operator.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.serviceAccountName" -}}
|
|
||||||
{{ default (include "altinity-clickhouse-operator.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the tag for the docker image to use
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.operator.tag" -}}
|
|
||||||
{{- .Values.operator.image.tag | default .Chart.AppVersion -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the tag for the docker image to use
|
|
||||||
*/}}
|
|
||||||
{{- define "altinity-clickhouse-operator.metrics.tag" -}}
|
|
||||||
{{- .Values.metrics.image.tag | default .Chart.AppVersion -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
@ -1,163 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=#
|
|
||||||
# ROLE_KIND=ClusterRole
|
|
||||||
# ROLE_NAME=clickhouse-operator-kube-system
|
|
||||||
# ROLE_BINDING_KIND=ClusterRoleBinding
|
|
||||||
# ROLE_BINDING_NAME=clickhouse-operator-kube-system
|
|
||||||
#
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- configmaps
|
|
||||||
- services
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- endpoints
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- persistentvolumeclaims
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- persistentvolumes
|
|
||||||
- pods
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- apps
|
|
||||||
resources:
|
|
||||||
- statefulsets
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- apps
|
|
||||||
resources:
|
|
||||||
- replicasets
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- apps
|
|
||||||
resourceNames:
|
|
||||||
- clickhouse-operator
|
|
||||||
resources:
|
|
||||||
- deployments
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- policy
|
|
||||||
resources:
|
|
||||||
- poddisruptionbudgets
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- watch
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- clickhouse.altinity.com
|
|
||||||
resources:
|
|
||||||
- clickhouseinstallations
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- patch
|
|
||||||
- update
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- clickhouse.altinity.com
|
|
||||||
resources:
|
|
||||||
- clickhouseinstallations
|
|
||||||
- clickhouseinstallationtemplates
|
|
||||||
- clickhouseoperatorconfigurations
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- clickhouse.altinity.com
|
|
||||||
resources:
|
|
||||||
- clickhouseinstallations/finalizers
|
|
||||||
- clickhouseinstallationtemplates/finalizers
|
|
||||||
- clickhouseoperatorconfigurations/finalizers
|
|
||||||
verbs:
|
|
||||||
- update
|
|
||||||
- apiGroups:
|
|
||||||
- clickhouse.altinity.com
|
|
||||||
resources:
|
|
||||||
- clickhouseinstallations/status
|
|
||||||
- clickhouseinstallationtemplates/status
|
|
||||||
- clickhouseoperatorconfigurations/status
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- update
|
|
||||||
- patch
|
|
||||||
- create
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- secrets
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- apiGroups:
|
|
||||||
- apiextensions.k8s.io
|
|
||||||
resources:
|
|
||||||
- customresourcedefinitions
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
|
|
@ -1,17 +0,0 @@
|
||||||
# Setup ClusterRoleBinding between ClusterRole and ServiceAccount.
|
|
||||||
# ClusterRoleBinding is namespace-less and must have unique name
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
name: {{ include "altinity-clickhouse-operator.serviceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAME=etc-clickhouse-operator-confd-files
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-confd-files
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
data:
|
|
||||||
{{- if .Values.configs.confdFiles }}
|
|
||||||
{{- toYaml .Values.configs.confdFiles | nindent 2 }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAME=etc-clickhouse-operator-configd-files
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-configd-files
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
data:
|
|
||||||
{{- if .Values.configs.configdFiles }}
|
|
||||||
{{- toYaml .Values.configs.configdFiles | nindent 2 }}
|
|
||||||
{{ else }}
|
|
||||||
01-clickhouse-01-listen.xml: |
|
|
||||||
<yandex>
|
|
||||||
<!-- Listen wildcard address to allow accepting connections from other containers and host network. -->
|
|
||||||
<listen_host>::</listen_host>
|
|
||||||
<listen_host>0.0.0.0</listen_host>
|
|
||||||
<listen_try>1</listen_try>
|
|
||||||
</yandex>
|
|
||||||
01-clickhouse-02-logger.xml: |
|
|
||||||
<yandex>
|
|
||||||
<logger>
|
|
||||||
<!-- Possible levels: https://github.com/pocoproject/poco/blob/develop/Foundation/include/Poco/Logger.h#L105 -->
|
|
||||||
<level>debug</level>
|
|
||||||
<log>/var/log/clickhouse-server/clickhouse-server.log</log>
|
|
||||||
<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
|
|
||||||
<size>1000M</size>
|
|
||||||
<count>10</count>
|
|
||||||
<!-- Default behavior is autodetection (log to console if not daemon mode and is tty) -->
|
|
||||||
<console>1</console>
|
|
||||||
</logger>
|
|
||||||
</yandex>
|
|
||||||
01-clickhouse-03-query_log.xml: |
|
|
||||||
<yandex>
|
|
||||||
<query_log replace="1">
|
|
||||||
<database>system</database>
|
|
||||||
<table>query_log</table>
|
|
||||||
<engine>Engine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + interval 30 day</engine>
|
|
||||||
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
|
|
||||||
</query_log>
|
|
||||||
<query_thread_log remove="1"/>
|
|
||||||
</yandex>
|
|
||||||
01-clickhouse-04-part_log.xml: |
|
|
||||||
<yandex>
|
|
||||||
<part_log replace="1">
|
|
||||||
<database>system</database>
|
|
||||||
<table>part_log</table>
|
|
||||||
<engine>Engine = MergeTree PARTITION BY event_date ORDER BY event_time TTL event_date + interval 30 day</engine>
|
|
||||||
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
|
|
||||||
</part_log>
|
|
||||||
</yandex>
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,230 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAME=etc-clickhouse-operator-files
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-files
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
data:
|
|
||||||
{{- if .Values.configs.files }}
|
|
||||||
{{- toYaml .Values.configs.files | nindent 2 }}
|
|
||||||
{{ else }}
|
|
||||||
config.yaml: |
|
|
||||||
# IMPORTANT
|
|
||||||
# This file is auto-generated from deploy/builder/templates-config.
|
|
||||||
# It will be overwritten upon next sources build.
|
|
||||||
#
|
|
||||||
# Template parameters available:
|
|
||||||
# watchNamespaces
|
|
||||||
# chUsername
|
|
||||||
# chPassword
|
|
||||||
# password_sha256_hex
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Watch Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
watch:
|
|
||||||
# List of namespaces where clickhouse-operator watches for events.
|
|
||||||
# Concurrently running operators should watch on different namespaces
|
|
||||||
#namespaces: ["dev", "test"]
|
|
||||||
namespaces: []
|
|
||||||
|
|
||||||
clickhouse:
|
|
||||||
configuration:
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Configuration Files Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
file:
|
|
||||||
path:
|
|
||||||
# Path to the folder where ClickHouse configuration files common for all instances within a CHI are located.
|
|
||||||
common: config.d
|
|
||||||
# Path to the folder where ClickHouse configuration files unique for each instance (host) within a CHI are located.
|
|
||||||
host: conf.d
|
|
||||||
# Path to the folder where ClickHouse configuration files with users settings are located.
|
|
||||||
# Files are common for all instances within a CHI.
|
|
||||||
user: users.d
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Configuration Users Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
user:
|
|
||||||
default:
|
|
||||||
# Default values for ClickHouse user configuration
|
|
||||||
# 1. user/profile - string
|
|
||||||
# 2. user/quota - string
|
|
||||||
# 3. user/networks/ip - multiple strings
|
|
||||||
# 4. user/password - string
|
|
||||||
profile: default
|
|
||||||
quota: default
|
|
||||||
networksIP:
|
|
||||||
- "::1"
|
|
||||||
- "127.0.0.1"
|
|
||||||
password: "default"
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Configuration Network Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
network:
|
|
||||||
# Default host_regexp to limit network connectivity from outside
|
|
||||||
hostRegexpTemplate: "(chi-{chi}-[^.]+\\d+-\\d+|clickhouse\\-{chi})\\.{namespace}\\.svc\\.cluster\\.local$"
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Access to ClickHouse instances
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
access:
|
|
||||||
# ClickHouse credentials (username, password and port) to be used by operator to connect to ClickHouse instances
|
|
||||||
# for:
|
|
||||||
# 1. Metrics requests
|
|
||||||
# 2. Schema maintenance
|
|
||||||
# 3. DROP DNS CACHE
|
|
||||||
# User with such credentials can be specified in additional ClickHouse .xml config files,
|
|
||||||
# located in `chUsersConfigsPath` folder
|
|
||||||
username: "clickhouse_operator"
|
|
||||||
password: "clickhouse_operator_password"
|
|
||||||
secret:
|
|
||||||
# Location of k8s Secret with username and password to be used by operator to connect to ClickHouse instances
|
|
||||||
# Can be used instead of explicitly specified username and password
|
|
||||||
namespace: ""
|
|
||||||
name: ""
|
|
||||||
# Port where to connect to ClickHouse instances to
|
|
||||||
port: 8123
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Templates Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
template:
|
|
||||||
chi:
|
|
||||||
# Path to the folder where ClickHouseInstallation .yaml manifests are located.
|
|
||||||
# Manifests are applied in sorted alpha-numeric order.
|
|
||||||
path: templates.d
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Reconcile Section
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
reconcile:
|
|
||||||
runtime:
|
|
||||||
# Max number of concurrent reconciles in progress
|
|
||||||
threadsNumber: 10
|
|
||||||
|
|
||||||
statefulSet:
|
|
||||||
create:
|
|
||||||
# What to do in case created StatefulSet is not in Ready after `statefulSetUpdateTimeout` seconds
|
|
||||||
# Possible options:
|
|
||||||
# 1. abort - do nothing, just break the process and wait for admin
|
|
||||||
# 2. delete - delete newly created problematic StatefulSet
|
|
||||||
# 3. ignore - ignore error, pretend nothing happened and move on to the next StatefulSet
|
|
||||||
onFailure: ignore
|
|
||||||
|
|
||||||
update:
|
|
||||||
# How many seconds to wait for created/updated StatefulSet to be Ready
|
|
||||||
timeout: 300
|
|
||||||
# How many seconds to wait between checks for created/updated StatefulSet status
|
|
||||||
pollInterval: 5
|
|
||||||
# What to do in case updated StatefulSet is not in Ready after `statefulSetUpdateTimeout` seconds
|
|
||||||
# Possible options:
|
|
||||||
# 1. abort - do nothing, just break the process and wait for admin
|
|
||||||
# 2. rollback - delete Pod and rollback StatefulSet to previous Generation.
|
|
||||||
# Pod would be recreated by StatefulSet based on rollback-ed configuration
|
|
||||||
# 3. ignore - ignore error, pretend nothing happened and move on to the next StatefulSet
|
|
||||||
onFailure: rollback
|
|
||||||
|
|
||||||
host:
|
|
||||||
wait:
|
|
||||||
exclude: true
|
|
||||||
include: false
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Annotations management
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
annotation:
|
|
||||||
# Applied when:
|
|
||||||
# 1. Propagating annotations from the CHI's `metadata.annotations` to child objects' `metadata.annotations`,
|
|
||||||
# 2. Propagating annotations from the CHI Template's `metadata.annotations` to CHI's `metadata.annotations`,
|
|
||||||
# Include annotations from the following list:
|
|
||||||
# Applied only when not empty. Empty list means "include all, no selection"
|
|
||||||
include: []
|
|
||||||
# Exclude annotations from the following list:
|
|
||||||
exclude: []
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Labels management
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
label:
|
|
||||||
# Applied when:
|
|
||||||
# 1. Propagating labels from the CHI's `metadata.labels` to child objects' `metadata.labels`,
|
|
||||||
# 2. Propagating labels from the CHI Template's `metadata.labels` to CHI's `metadata.labels`,
|
|
||||||
# Include labels from the following list:
|
|
||||||
# Applied only when not empty. Empty list means "include all, no selection"
|
|
||||||
include: []
|
|
||||||
# Exclude labels from the following list:
|
|
||||||
exclude: []
|
|
||||||
# Whether to append *Scope* labels to StatefulSet and Pod.
|
|
||||||
# Full list of available *scope* labels check in labeler.go
|
|
||||||
# LabelShardScopeIndex
|
|
||||||
# LabelReplicaScopeIndex
|
|
||||||
# LabelCHIScopeIndex
|
|
||||||
# LabelCHIScopeCycleSize
|
|
||||||
# LabelCHIScopeCycleIndex
|
|
||||||
# LabelCHIScopeCycleOffset
|
|
||||||
# LabelClusterScopeIndex
|
|
||||||
# LabelClusterScopeCycleSize
|
|
||||||
# LabelClusterScopeCycleIndex
|
|
||||||
# LabelClusterScopeCycleOffset
|
|
||||||
appendScope: "no"
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## StatefulSet management
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
statefulSet:
|
|
||||||
revisionHistoryLimit: 0
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Pod management
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
pod:
|
|
||||||
# Grace period for Pod termination.
|
|
||||||
# How many seconds to wait between sending
|
|
||||||
# SIGTERM and SIGKILL during Pod termination process.
|
|
||||||
# Increase this number is case of slow shutdown.
|
|
||||||
terminationGracePeriod: 30
|
|
||||||
|
|
||||||
################################################
|
|
||||||
##
|
|
||||||
## Log parameters
|
|
||||||
##
|
|
||||||
################################################
|
|
||||||
logger:
|
|
||||||
logtostderr: "true"
|
|
||||||
alsologtostderr: "false"
|
|
||||||
v: "1"
|
|
||||||
stderrthreshold: ""
|
|
||||||
vmodule: ""
|
|
||||||
log_backtrace_at: ""
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,102 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAME=etc-clickhouse-operator-templatesd-files
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-templatesd-files
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
data:
|
|
||||||
{{- if .Values.configs.templatesdFiles }}
|
|
||||||
{{- toYaml .Values.configs.templatesdFiles | nindent 2 }}
|
|
||||||
{{ else }}
|
|
||||||
001-templates.json.example: |
|
|
||||||
{
|
|
||||||
"apiVersion": "clickhouse.altinity.com/v1",
|
|
||||||
"kind": "ClickHouseInstallationTemplate",
|
|
||||||
"metadata": {
|
|
||||||
"name": "01-default-volumeclaimtemplate"
|
|
||||||
},
|
|
||||||
"spec": {
|
|
||||||
"templates": {
|
|
||||||
"volumeClaimTemplates": [
|
|
||||||
{
|
|
||||||
"name": "chi-default-volume-claim-template",
|
|
||||||
"spec": {
|
|
||||||
"accessModes": [
|
|
||||||
"ReadWriteOnce"
|
|
||||||
],
|
|
||||||
"resources": {
|
|
||||||
"requests": {
|
|
||||||
"storage": "2Gi"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"podTemplates": [
|
|
||||||
{
|
|
||||||
"name": "chi-default-oneperhost-pod-template",
|
|
||||||
"distribution": "OnePerHost",
|
|
||||||
"spec": {
|
|
||||||
"containers" : [
|
|
||||||
{
|
|
||||||
"name": "clickhouse",
|
|
||||||
"image": "yandex/clickhouse-server:21.3",
|
|
||||||
"ports": [
|
|
||||||
{
|
|
||||||
"name": "http",
|
|
||||||
"containerPort": 8123
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "client",
|
|
||||||
"containerPort": 9000
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "interserver",
|
|
||||||
"containerPort": 9009
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
default-pod-template.yaml.example: |
|
|
||||||
apiVersion: "clickhouse.altinity.com/v1"
|
|
||||||
kind: "ClickHouseInstallationTemplate"
|
|
||||||
metadata:
|
|
||||||
name: "default-oneperhost-pod-template"
|
|
||||||
spec:
|
|
||||||
templates:
|
|
||||||
podTemplates:
|
|
||||||
- name: default-oneperhost-pod-template
|
|
||||||
distribution: "OnePerHost"
|
|
||||||
default-storage-template.yaml.example: |
|
|
||||||
apiVersion: "clickhouse.altinity.com/v1"
|
|
||||||
kind: "ClickHouseInstallationTemplate"
|
|
||||||
metadata:
|
|
||||||
name: "default-storage-template-2Gi"
|
|
||||||
spec:
|
|
||||||
templates:
|
|
||||||
volumeClaimTemplates:
|
|
||||||
- name: default-storage-template-2Gi
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: 2Gi
|
|
||||||
readme: |
|
|
||||||
Templates in this folder are packaged with an operator and available via 'useTemplate'
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAME=etc-clickhouse-operator-usersd-files
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ConfigMap
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-usersd-files
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
data:
|
|
||||||
{{- if .Values.configs.usersdFiles }}
|
|
||||||
{{- toYaml .Values.configs.usersdFiles | nindent 2 }}
|
|
||||||
{{ else }}
|
|
||||||
01-clickhouse-user.xml: |
|
|
||||||
<yandex>
|
|
||||||
<users>
|
|
||||||
<clickhouse_operator>
|
|
||||||
<networks>
|
|
||||||
<ip>127.0.0.1</ip>
|
|
||||||
<ip>0.0.0.0/0</ip>
|
|
||||||
<ip>::/0</ip>
|
|
||||||
</networks>
|
|
||||||
<password_sha256_hex>716b36073a90c6fe1d445ac1af85f4777c5b7a155cea359961826a030513e448</password_sha256_hex>
|
|
||||||
<profile>clickhouse_operator</profile>
|
|
||||||
<quota>default</quota>
|
|
||||||
</clickhouse_operator>
|
|
||||||
</users>
|
|
||||||
<profiles>
|
|
||||||
<clickhouse_operator>
|
|
||||||
<log_queries>0</log_queries>
|
|
||||||
<skip_unavailable_shards>1</skip_unavailable_shards>
|
|
||||||
<http_connection_timeout>10</http_connection_timeout>
|
|
||||||
</clickhouse_operator>
|
|
||||||
</profiles>
|
|
||||||
</yandex>
|
|
||||||
02-clickhouse-default-profile.xml: |
|
|
||||||
<yandex>
|
|
||||||
<profiles>
|
|
||||||
<default>
|
|
||||||
<log_queries>1</log_queries>
|
|
||||||
<connect_timeout_with_failover_ms>1000</connect_timeout_with_failover_ms>
|
|
||||||
<distributed_aggregation_memory_efficient>1</distributed_aggregation_memory_efficient>
|
|
||||||
<parallel_view_processing>1</parallel_view_processing>
|
|
||||||
</default>
|
|
||||||
</profiles>
|
|
||||||
</yandex>
|
|
||||||
03-database-ordinary.xml: |
|
|
||||||
<!-- Remove it for ClickHouse versions before 20.4 -->
|
|
||||||
<yandex>
|
|
||||||
<profiles>
|
|
||||||
<default>
|
|
||||||
<default_database_engine>Ordinary</default_database_engine>
|
|
||||||
</default>
|
|
||||||
</profiles>
|
|
||||||
</yandex>
|
|
||||||
|
|
||||||
{{ end }}
|
|
||||||
|
|
@ -1,175 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
# OPERATOR_IMAGE=altinity/clickhouse-operator:0.18.1
|
|
||||||
# METRICS_EXPORTER_IMAGE=altinity/metrics-exporter:0.18.1
|
|
||||||
#
|
|
||||||
# Setup Deployment for clickhouse-operator
|
|
||||||
# Deployment would be created in kubectl-specified namespace
|
|
||||||
kind: Deployment
|
|
||||||
apiVersion: apps/v1
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "altinity-clickhouse-operator.selectorLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
{{- include "altinity-clickhouse-operator.selectorLabels" . | nindent 8 }}
|
|
||||||
annotations:
|
|
||||||
prometheus.io/port: '8888'
|
|
||||||
prometheus.io/scrape: 'true'
|
|
||||||
checksum/confd-files: {{ include (print $.Template.BasePath "/generated/ConfigMap-etc-clickhouse-operator-confd-files.yaml") . | sha256sum }}
|
|
||||||
checksum/configd-files: {{ include (print $.Template.BasePath "/generated/ConfigMap-etc-clickhouse-operator-configd-files.yaml") . | sha256sum }}
|
|
||||||
checksum/files: {{ include (print $.Template.BasePath "/generated/ConfigMap-etc-clickhouse-operator-files.yaml") . | sha256sum }}
|
|
||||||
checksum/templatesd-files: {{ include (print $.Template.BasePath "/generated/ConfigMap-etc-clickhouse-operator-templatesd-files.yaml") . | sha256sum }}
|
|
||||||
checksum/usersd-files: {{ include (print $.Template.BasePath "/generated/ConfigMap-etc-clickhouse-operator-usersd-files.yaml") . | sha256sum }}
|
|
||||||
{{- if .Values.podAnnotations }}
|
|
||||||
{{- toYaml .Values.podAnnotations | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
{{- with .Values.imagePullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ include "altinity-clickhouse-operator.serviceAccountName" . }}
|
|
||||||
volumes:
|
|
||||||
- name: etc-clickhouse-operator-folder
|
|
||||||
configMap:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-files
|
|
||||||
- name: etc-clickhouse-operator-confd-folder
|
|
||||||
configMap:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-confd-files
|
|
||||||
- name: etc-clickhouse-operator-configd-folder
|
|
||||||
configMap:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-configd-files
|
|
||||||
- name: etc-clickhouse-operator-templatesd-folder
|
|
||||||
configMap:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-templatesd-files
|
|
||||||
- name: etc-clickhouse-operator-usersd-folder
|
|
||||||
configMap:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-usersd-files
|
|
||||||
containers:
|
|
||||||
- name: {{ .Chart.Name }}
|
|
||||||
image: "{{ .Values.operator.image.repository }}:{{ include "altinity-clickhouse-operator.operator.tag" . }}"
|
|
||||||
imagePullPolicy: {{ .Values.operator.image.pullPolicy }}
|
|
||||||
{{- if .Values.operator.command }}
|
|
||||||
command:
|
|
||||||
{{- range $value := .Values.operator.command }}
|
|
||||||
- {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.operator.args }}
|
|
||||||
args:
|
|
||||||
{{- range $value := .Values.operator.args }}
|
|
||||||
- {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: etc-clickhouse-operator-folder
|
|
||||||
mountPath: /etc/clickhouse-operator
|
|
||||||
- name: etc-clickhouse-operator-confd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/conf.d
|
|
||||||
- name: etc-clickhouse-operator-configd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/config.d
|
|
||||||
- name: etc-clickhouse-operator-templatesd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/templates.d
|
|
||||||
- name: etc-clickhouse-operator-usersd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/users.d
|
|
||||||
env:
|
|
||||||
# Pod-specific
|
|
||||||
# spec.nodeName: ip-172-20-52-62.ec2.internal
|
|
||||||
- name: OPERATOR_POD_NODE_NAME
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: spec.nodeName
|
|
||||||
# metadata.name: clickhouse-operator-6f87589dbb-ftcsf
|
|
||||||
- name: OPERATOR_POD_NAME
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.name
|
|
||||||
# metadata.namespace: kube-system
|
|
||||||
- name: OPERATOR_POD_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
# status.podIP: 100.96.3.2
|
|
||||||
- name: OPERATOR_POD_IP
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: status.podIP
|
|
||||||
# spec.serviceAccount: clickhouse-operator
|
|
||||||
# spec.serviceAccountName: clickhouse-operator
|
|
||||||
- name: OPERATOR_POD_SERVICE_ACCOUNT
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: spec.serviceAccountName
|
|
||||||
# Container-specific
|
|
||||||
- name: OPERATOR_CONTAINER_CPU_REQUEST
|
|
||||||
valueFrom:
|
|
||||||
resourceFieldRef:
|
|
||||||
containerName: {{ .Chart.Name }}
|
|
||||||
resource: requests.cpu
|
|
||||||
- name: OPERATOR_CONTAINER_CPU_LIMIT
|
|
||||||
valueFrom:
|
|
||||||
resourceFieldRef:
|
|
||||||
containerName: {{ .Chart.Name }}
|
|
||||||
resource: limits.cpu
|
|
||||||
- name: OPERATOR_CONTAINER_MEM_REQUEST
|
|
||||||
valueFrom:
|
|
||||||
resourceFieldRef:
|
|
||||||
containerName: {{ .Chart.Name }}
|
|
||||||
resource: requests.memory
|
|
||||||
- name: OPERATOR_CONTAINER_MEM_LIMIT
|
|
||||||
valueFrom:
|
|
||||||
resourceFieldRef:
|
|
||||||
containerName: {{ .Chart.Name }}
|
|
||||||
resource: limits.memory
|
|
||||||
{{- with .Values.operator.env }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.operator.resources | nindent 12 }}
|
|
||||||
- name: metrics-exporter
|
|
||||||
image: "{{ .Values.metrics.image.repository }}:{{ include "altinity-clickhouse-operator.metrics.tag" . }}"
|
|
||||||
imagePullPolicy: {{ .Values.metrics.image.pullPolicy }}
|
|
||||||
{{- if .Values.metrics.command }}
|
|
||||||
command:
|
|
||||||
{{- range $value := .Values.metrics.command }}
|
|
||||||
- {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.metrics.args }}
|
|
||||||
args:
|
|
||||||
{{- range $value := .Values.metrics.args }}
|
|
||||||
- {{ $value | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
volumeMounts:
|
|
||||||
- name: etc-clickhouse-operator-folder
|
|
||||||
mountPath: /etc/clickhouse-operator
|
|
||||||
- name: etc-clickhouse-operator-confd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/conf.d
|
|
||||||
- name: etc-clickhouse-operator-configd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/config.d
|
|
||||||
- name: etc-clickhouse-operator-templatesd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/templates.d
|
|
||||||
- name: etc-clickhouse-operator-usersd-folder
|
|
||||||
mountPath: /etc/clickhouse-operator/users.d
|
|
||||||
ports:
|
|
||||||
- containerPort: 8888
|
|
||||||
name: metrics
|
|
||||||
{{- with .Values.metrics.env }}
|
|
||||||
env:
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.metrics.resources | nindent 12 }}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# COMMENT=
|
|
||||||
#
|
|
||||||
# Setup ClusterIP Service to provide monitoring metrics for Prometheus
|
|
||||||
# Service would be created in kubectl-specified namespace
|
|
||||||
# In order to get access outside of k8s it should be exposed as:
|
|
||||||
# kubectl --namespace prometheus port-forward service/prometheus 9090
|
|
||||||
# and point browser to localhost:9090
|
|
||||||
kind: Service
|
|
||||||
apiVersion: v1
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}-metrics
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- port: 8888
|
|
||||||
name: clickhouse-operator-metrics
|
|
||||||
targetPort: metrics
|
|
||||||
selector:
|
|
||||||
{{- include "altinity-clickhouse-operator.selectorLabels" . | nindent 4 }}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
# Template Parameters:
|
|
||||||
#
|
|
||||||
# COMMENT=
|
|
||||||
# NAMESPACE=kube-system
|
|
||||||
# NAME=clickhouse-operator
|
|
||||||
#
|
|
||||||
# Setup ServiceAccount
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.serviceAccountName" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
clickhouse.altinity.com/chop: 0.18.1
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.serviceAccount.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{{- if .Values.serviceMonitor.enabled }}
|
|
||||||
apiVersion: monitoring.coreos.com/v1
|
|
||||||
kind: ServiceMonitor
|
|
||||||
metadata:
|
|
||||||
name: {{ include "altinity-clickhouse-operator.fullname" . }}
|
|
||||||
namespace: {{ .Release.Namespace }}
|
|
||||||
labels:
|
|
||||||
{{- include "altinity-clickhouse-operator.labels" . | nindent 4 }}
|
|
||||||
{{- if .Values.serviceMonitor.additionalLabels }}
|
|
||||||
{{- toYaml .Values.serviceMonitor.additionalLabels | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
endpoints:
|
|
||||||
- port: clickhouse-operator-metrics
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "altinity-clickhouse-operator.selectorLabels" . | nindent 6 }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
@ -1,88 +0,0 @@
|
||||||
operator:
|
|
||||||
image:
|
|
||||||
# operator.image.repository -- image repository
|
|
||||||
repository: altinity/clickhouse-operator
|
|
||||||
# operator.image.tag -- image tag (chart's appVersion value will be used if not set)
|
|
||||||
tag: ""
|
|
||||||
# operator.image.pullPolicy -- image pull policy
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
# operator.resources -- custom resource configuration
|
|
||||||
resources: {}
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# operator.env -- additional environment variables for the deployment
|
|
||||||
env: [ ]
|
|
||||||
# - name: SAMPLE
|
|
||||||
# value: text
|
|
||||||
metrics:
|
|
||||||
image:
|
|
||||||
# metrics.image.repository -- image repository
|
|
||||||
repository: altinity/metrics-exporter
|
|
||||||
# metrics.image.tag -- image tag (chart's appVersion value will be used if not set)
|
|
||||||
tag: ""
|
|
||||||
# metrics.image.pullPolicy -- image pull policy
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
# metrics.resources -- custom resource configuration
|
|
||||||
resources: {}
|
|
||||||
# limits:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# requests:
|
|
||||||
# cpu: 100m
|
|
||||||
# memory: 128Mi
|
|
||||||
# metrics.env -- additional environment variables for the deployment
|
|
||||||
env: [ ]
|
|
||||||
# - name: SAMPLE
|
|
||||||
# value: text
|
|
||||||
|
|
||||||
# imagePullSecrets -- image pull secret for private images
|
|
||||||
imagePullSecrets: []
|
|
||||||
# nameOverride -- override name of the chart
|
|
||||||
nameOverride: ""
|
|
||||||
# fullnameOverride -- full name of the chart.
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
serviceAccount:
|
|
||||||
# serviceAccount.create -- specifies whether a service account should be created
|
|
||||||
create: true
|
|
||||||
# serviceAccount.annotations -- annotations to add to the service account
|
|
||||||
annotations: {}
|
|
||||||
# serviceAccount.name -- the name of the service account to use; if not set and create is true, a name is generated using the fullname template
|
|
||||||
name:
|
|
||||||
|
|
||||||
# nodeSelector -- node for scheduler pod assignment
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
# tolerations -- tolerations for scheduler pod assignment
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
# affinity -- affinity for scheduler pod assignment
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
serviceMonitor:
|
|
||||||
# serviceMonitor.enabled -- ServiceMonitor CRD is created for a prometheus operator
|
|
||||||
enabled: false
|
|
||||||
# serviceMonitor.additionalLabels -- additional labels for service monitor
|
|
||||||
additionalLabels: {}
|
|
||||||
|
|
||||||
# configs -- overrides operator default configmaps
|
|
||||||
configs:
|
|
||||||
confdFiles: null
|
|
||||||
# some-file: |
|
|
||||||
# ...
|
|
||||||
configdFiles: null
|
|
||||||
# some-file: |
|
|
||||||
# ...
|
|
||||||
files: null
|
|
||||||
# some-file: |
|
|
||||||
# ...
|
|
||||||
templatesdFiles: null
|
|
||||||
# some-file: |
|
|
||||||
# ...
|
|
||||||
usersdFiles: null
|
|
||||||
# some-file: |
|
|
||||||
# ...
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
||||||
apiVersion: "clickhouse.altinity.com/v1"
|
|
||||||
kind: "ClickHouseInstallation"
|
|
||||||
|
|
||||||
metadata:
|
|
||||||
name: "openreplay-clickhouse"
|
|
||||||
|
|
||||||
spec:
|
|
||||||
defaults:
|
|
||||||
templates:
|
|
||||||
dataVolumeClaimTemplate: default
|
|
||||||
podTemplate: clickhouse:19.6
|
|
||||||
serviceTemplate: chi-service-template
|
|
||||||
|
|
||||||
configuration:
|
|
||||||
# Ref: https://github.com/Altinity/clickhouse-operator/issues/823
|
|
||||||
users:
|
|
||||||
default/networks/ip: "::/0"
|
|
||||||
zookeeper:
|
|
||||||
nodes:
|
|
||||||
- host: "{{ .Values.global.kafka.zookeeperHost }}"
|
|
||||||
port: {{ .Values.global.kafka.zookeeperNonTLSPort }}
|
|
||||||
clusters:
|
|
||||||
- name: replicated
|
|
||||||
layout:
|
|
||||||
shardsCount: {{ .Values.clickhouse.replicaCount }}
|
|
||||||
replicasCount: {{ .Values.clickhouse.shardsCount }}
|
|
||||||
|
|
||||||
templates:
|
|
||||||
volumeClaimTemplates:
|
|
||||||
- name: default
|
|
||||||
reclaimPolicy: Retain
|
|
||||||
spec:
|
|
||||||
accessModes:
|
|
||||||
- ReadWriteOnce
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
storage: "{{ .Values.storage.size }}"
|
|
||||||
podTemplates:
|
|
||||||
- name: clickhouse:{{ .Values.image.tag }}
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: clickhouse-pod
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
|
||||||
resources:
|
|
||||||
{{ toYaml .Values.resources | nindent 16 }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- toYaml .Values.nodeSelector | nindent 12}}
|
|
||||||
tolerations:
|
|
||||||
{{- toYaml .Values.tolerations | nindent 12}}
|
|
||||||
# Ref: https://github.com/Altinity/clickhouse-operator/blob/master/docs/custom_resource_explained.md#spectemplatesservicetemplates
|
|
||||||
serviceTemplates:
|
|
||||||
- name: chi-service-template
|
|
||||||
# generateName understands different sets of macroses,
|
|
||||||
# depending on the level of the object, for which Service is being created:
|
|
||||||
#
|
|
||||||
# For CHI-level Service:
|
|
||||||
# 1. {chi} - ClickHouseInstallation name
|
|
||||||
# 2. {chiID} - short hashed ClickHouseInstallation name (BEWARE, this is an experimental feature)
|
|
||||||
#
|
|
||||||
# For Cluster-level Service:
|
|
||||||
# 1. {chi} - ClickHouseInstallation name
|
|
||||||
# 2. {chiID} - short hashed ClickHouseInstallation name (BEWARE, this is an experimental feature)
|
|
||||||
# 3. {cluster} - cluster name
|
|
||||||
# 4. {clusterID} - short hashed cluster name (BEWARE, this is an experimental feature)
|
|
||||||
# 5. {clusterIndex} - 0-based index of the cluster in the CHI (BEWARE, this is an experimental feature)
|
|
||||||
#
|
|
||||||
# For Shard-level Service:
|
|
||||||
# 1. {chi} - ClickHouseInstallation name
|
|
||||||
# 2. {chiID} - short hashed ClickHouseInstallation name (BEWARE, this is an experimental feature)
|
|
||||||
# 3. {cluster} - cluster name
|
|
||||||
# 4. {clusterID} - short hashed cluster name (BEWARE, this is an experimental feature)
|
|
||||||
# 5. {clusterIndex} - 0-based index of the cluster in the CHI (BEWARE, this is an experimental feature)
|
|
||||||
# 6. {shard} - shard name
|
|
||||||
# 7. {shardID} - short hashed shard name (BEWARE, this is an experimental feature)
|
|
||||||
# 8. {shardIndex} - 0-based index of the shard in the cluster (BEWARE, this is an experimental feature)
|
|
||||||
#
|
|
||||||
# For Replica-level Service:
|
|
||||||
# 1. {chi} - ClickHouseInstallation name
|
|
||||||
# 2. {chiID} - short hashed ClickHouseInstallation name (BEWARE, this is an experimental feature)
|
|
||||||
# 3. {cluster} - cluster name
|
|
||||||
# 4. {clusterID} - short hashed cluster name (BEWARE, this is an experimental feature)
|
|
||||||
# 5. {clusterIndex} - 0-based index of the cluster in the CHI (BEWARE, this is an experimental feature)
|
|
||||||
# 6. {shard} - shard name
|
|
||||||
# 7. {shardID} - short hashed shard name (BEWARE, this is an experimental feature)
|
|
||||||
# 8. {shardIndex} - 0-based index of the shard in the cluster (BEWARE, this is an experimental feature)
|
|
||||||
# 9. {replica} - replica name
|
|
||||||
# 10. {replicaID} - short hashed replica name (BEWARE, this is an experimental feature)
|
|
||||||
# 11. {replicaIndex} - 0-based index of the replica in the shard (BEWARE, this is an experimental feature)
|
|
||||||
generateName: "clickhouse-{chi}"
|
|
||||||
# type ObjectMeta struct from k8s.io/meta/v1
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
installation: "openreplay"
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
port: 8123
|
|
||||||
- name: client
|
|
||||||
port: 9000
|
|
||||||
type: ClusterIP
|
|
||||||
- name: cluster-template
|
|
||||||
generateName: "clickhouse"
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
installation: "openreplay"
|
|
||||||
spec:
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
port: 8123
|
|
||||||
- name: client
|
|
||||||
port: 9000
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: clickhouse-openreplay-clickhouse
|
||||||
|
labels:
|
||||||
|
{{- include "clickhouse.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.service.webPort }}
|
||||||
|
targetPort: web
|
||||||
|
protocol: TCP
|
||||||
|
name: web
|
||||||
|
- port: {{ .Values.service.dataPort }}
|
||||||
|
targetPort: data
|
||||||
|
protocol: TCP
|
||||||
|
name: data
|
||||||
|
selector:
|
||||||
|
{{- include "clickhouse.selectorLabels" . | nindent 4 }}
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
{{- if .Values.serviceAccount.create -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "clickhouse.serviceAccountName" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "clickhouse.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
@ -0,0 +1,89 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: {{ include "clickhouse.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "clickhouse.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
serviceName: {{ include "clickhouse.fullname" . }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "clickhouse.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "clickhouse.selectorLabels" . | nindent 8 }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "clickhouse.serviceAccountName" . }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Chart.Name }}-backup
|
||||||
|
env:
|
||||||
|
- name: API_LISTEN
|
||||||
|
value: "0.0.0.0:7171"
|
||||||
|
{{- range $key, $value := .Values.env }}
|
||||||
|
- name: "{{ $key }}"
|
||||||
|
value: "{{ $value }}"
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||||
|
image: "{{ .Values.backupImage.repository }}:{{ .Values.backupImage.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.backupImage.pullPolicy }}
|
||||||
|
args:
|
||||||
|
- server
|
||||||
|
ports:
|
||||||
|
- containerPort: 7171
|
||||||
|
name: backup-web
|
||||||
|
volumeMounts:
|
||||||
|
- name: default-chi-openreplay-clickhouse-replicated-0-0-0
|
||||||
|
mountPath: /var/lib/clickhouse
|
||||||
|
- name: {{ .Chart.Name }}
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.env }}
|
||||||
|
- name: "{{ $key }}"
|
||||||
|
value: "{{ $value }}"
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
ports:
|
||||||
|
- containerPort: 9000
|
||||||
|
name: web
|
||||||
|
- containerPort: 8123
|
||||||
|
name: data
|
||||||
|
volumeMounts:
|
||||||
|
- name: default-chi-openreplay-clickhouse-replicated-0-0-0
|
||||||
|
mountPath: /var/lib/clickhouse
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: default-chi-openreplay-clickhouse-replicated-0-0-0
|
||||||
|
spec:
|
||||||
|
accessModes: [ "ReadWriteOnce" ]
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.storageSize }}
|
||||||
|
|
@ -1,18 +1,76 @@
|
||||||
|
# Default values for clickhouse.
|
||||||
|
# This is a YAML-formatted file.
|
||||||
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
|
replicaCount: 1
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: clickhouse/clickhouse-server
|
repository: clickhouse/clickhouse-server
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: "22.2.2.1"
|
tag: "22.2.2.1"
|
||||||
|
|
||||||
storage:
|
backupImage:
|
||||||
size: 200Gi
|
repository: alexakulov/clickhouse-backup
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
tag: "latest"
|
||||||
|
|
||||||
clickhouse:
|
imagePullSecrets: []
|
||||||
replicaCount: 1
|
nameOverride: ""
|
||||||
shardsCount: 1
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
# Specifies whether a service account should be created
|
||||||
|
create: true
|
||||||
|
# Annotations to add to the service account
|
||||||
|
annotations: {}
|
||||||
|
# The name of the service account to use.
|
||||||
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
|
name: ""
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
|
||||||
|
podSecurityContext: {}
|
||||||
|
# fsGroup: 2000
|
||||||
|
|
||||||
|
securityContext: {}
|
||||||
|
# capabilities:
|
||||||
|
# drop:
|
||||||
|
# - ALL
|
||||||
|
# readOnlyRootFilesystem: true
|
||||||
|
# runAsNonRoot: true
|
||||||
|
# runAsUser: 1000
|
||||||
|
|
||||||
|
env: {}
|
||||||
|
|
||||||
|
backupEnv: {}
|
||||||
|
# REf: https://github.com/AlexAkulov/clickhouse-backup#default-config
|
||||||
|
#
|
||||||
|
# Example config for backup to s3
|
||||||
|
#
|
||||||
|
# REMOTE_STORAGE: s3
|
||||||
|
# S3_ACCESS_KEY: "" # S3_ACCESS_KEY
|
||||||
|
# S3_SECRET_KEY: "" # S3_SECRET_KEY
|
||||||
|
# S3_BUCKET: "" # S3_BUCKET
|
||||||
|
# S3_ENDPOINT: "" # S3_ENDPOINT
|
||||||
|
# S3_REGION: US-east-1 # S3_REGION
|
||||||
|
|
||||||
|
|
||||||
|
service:
|
||||||
|
webPort: 9000
|
||||||
|
dataPort: 8123
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
limits:
|
|
||||||
cpu: 2
|
|
||||||
memory: 8Gi
|
|
||||||
requests:
|
requests:
|
||||||
cpu: 1
|
cpu: 1
|
||||||
memory: 4Gi
|
memory: 4Gi
|
||||||
|
limits:
|
||||||
|
cpu: 2
|
||||||
|
memory: 8Gi
|
||||||
|
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
affinity: {}
|
||||||
|
storageSize: 100G
|
||||||
|
|
|
||||||
|
|
@ -137,7 +137,7 @@ kafka:
|
||||||
# Enterprise dbs
|
# Enterprise dbs
|
||||||
clickhouse:
|
clickhouse:
|
||||||
image:
|
image:
|
||||||
tag: "21.9.4.35"
|
tag: "22.2.2.1"
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
postgreql:
|
postgreql:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue