Skip to content

Unable to apply label on each shards as clickhouse installed using chi #1816

@kushal1794

Description

@kushal1794

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions