-
Notifications
You must be signed in to change notification settings - Fork 507
Description
Hi Team,
We need to apply the label for each replicas of each shard. So can anyone help how can we apply label if we deployed clickhouse cluster using chi and clickhouse operator
clickhouse version - 25.6
example
shard0
f_id: ebfbhjbc4c-0b2a-4096-b7bd-3fc71b2a1789
fc_id: 9enjkdna80-75cc-875c-93c7-b0261a6e11f2
s_id: 4ab6jbkscfb-c301-4334-9e0e-c847ec8639cc
shard1
f_id: ebfa4d4c-0b2a-4096-b7bd-3fc71b2a1789
fc_id: 9e349a80-75cc-485c-93c7-b0261a6e11f2
s_id: 4ab6d1fb-c301-4e34-9e0e-c847ec8639cc
shard2
f_id: ebfa4d4c-0b2a-4096-b7bd-3fc71nbjki7789
fc_id: 9e349a80-75cc-485c-93c7-b02bjk76e11f2
s_id: 4ab6d1fb-c301-4e34-9e0e-c848uyic8639cc
we have 3 shards and 3replicas cluster
Also I am sharing deployment yaml here
Deployment.yaml file
apiVersion: "clickhouse.altinity.com/v1"
kind: "ClickHouseInstallation"
metadata:
name: "cliff"
spec:
defaults:
templates:
podTemplate: pod-template-with-volumes-shard
serviceTemplate: chi-service-template
storageManagement:
reclaimPolicy: Retain
replicasUseFQDN: "yes"
configuration:
zookeeper:
nodes:
- host: clickhouse-keeper-0.clickhouse-keepers
port: 2181
- host: clickhouse-keeper-1.clickhouse-keepers
port: 2181
- host: clickhouse-keeper-1.clickhouse-keepers
port: 2181
settings:
disable_internal_dns_cache: 1
users:
# test user has 'password' specified, while admin user has 'password_sha256_hex' specified
admin/password: xxx
admin/access_management: 1
admin/networks/ip:
- "0.0.0.0/0"
- "::/0"
default/networks/ip:
- "0.0.0.0/0"
- "::/0"
clusters:
- name: "cliffcluster"
layout:
shards:
- name: shard0
replicasCount: 3
templates:
podTemplate: pod-template-with-volumes-shard
replicas:
- name: replica0-shard0
- name: replica1-shard0
- name: replica2-shard0
templates:
podTemplate: pod-template-with-volumes-replica
- name: shard1
replicasCount: 3
templates:
podTemplate: pod-template-with-volumes-shard
replicas:
- name: replica0-shard1
- name: replica1-shard1
- name: replica2-shard1
templates:
podTemplate: pod-template-with-volumes-replica
- name: shard2
replicasCount: 3
templates:
podTemplate: pod-template-with-volumes-shard
replicas:
- name: replica0-shard2
- name: replica1-shard2
- name: replica2-shard2
templates:
podTemplate: pod-template-with-volumes-replica
templates:
podTemplates:
- name: pod-template-with-volumes-shard
spec:
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: Name
# operator: In
# values:
# - clickhouse-dev
serviceAccountName: clickhouse-operator
containers:
- name: clickhouse-server
image: clickhouse-server:25.6
livenessProbe:
failureThreshold: 10
httpGet:
path: /ping
port: http
scheme: HTTP
initialDelaySeconds: 90
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
httpGet:
path: /ping
port: http
scheme: HTTP
initialDelaySeconds: 90
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 1
volumeMounts:
- name: clickhouse-storage-template
mountPath: /var/lib/clickhouse
resources:
requests:
memory: "8Gi"
cpu: "4"
limits:
memory: "8Gi"
cpu: "4"
- name: clickhouse-backup
image: clickhouse-backup:2.6.15
volumeMounts:
- name: clickhouse-storage-template
mountPath: /var/lib/clickhouse
imagePullPolicy: Always
command:
- bash
- -xc
- "/bin/clickhouse-backup server"
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "4Gi"
cpu: "2"
envFrom:
- configMapRef:
name: clickhouse-backup-config
ports:
- name: backup-rest
containerPort: 7171
- name: pod-template-with-volumes-replica
spec:
# affinity:
# nodeAffinity:
# requiredDuringSchedulingIgnoredDuringExecution:
# nodeSelectorTerms:
# - matchExpressions:
# - key: Name
# operator: In
# values:
# - clickhouse-dev-2
serviceAccountName: clickhouse-operator
containers:
- name: clickhouse
image: clickhouse-server:25.6
livenessProbe:
failureThreshold: 10
httpGet:
path: /ping
port: http
scheme: HTTP
initialDelaySeconds: 90
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
httpGet:
path: /ping
port: http
scheme: HTTP
initialDelaySeconds: 90
periodSeconds: 3
successThreshold: 1
timeoutSeconds: 1
volumeMounts:
- name: clickhouse-storage-template
mountPath: /var/lib/clickhouse
resources:
requests:
memory: "8Gi"
cpu: "4"
limits:
memory: "8Gi"
cpu: "4"
- name: clickhouse-backup
image: clickhouse-backup:2.6.15
volumeMounts:
- name: clickhouse-storage-template
mountPath: /var/lib/clickhouse
imagePullPolicy: Always
command:
- bash
- -xc
- "/bin/clickhouse-backup server"
resources:
requests:
memory: "4Gi"
cpu: "2"
limits:
memory: "4Gi"
cpu: "2"
envFrom:
- configMapRef:
name: clickhouse-backup-config
ports:
- name: backup-rest
containerPort: 7171
volumeClaimTemplates:
- name: clickhouse-storage-template
spec:
# no storageClassName - means use default storageClassName
storageClassName: robin
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 750Gi
serviceTemplates:
- name: chi-service-template
generateName: "clickhouse-{chi}"
spec:
type: NodePort
ports:
- name: http
port: 8123
targetPort: 8123
- name: tcp
port: 9000
targetPort: 9000
- name: interserver
port: 9009
targetPort: 9009
- name: prometheus
port: 9363
targetPort: 9363