-
Notifications
You must be signed in to change notification settings - Fork 129
feat(clickhouse): add volume permissions support #752
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 5 commits
8b82a4f
c915a36
e98c0f8
e29da41
bdd09dc
e90a49e
f2e10e0
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| CHART NAME: zookeeper | ||
| CHART VERSION: 0.0.1 | ||
| APP VERSION: 3.8.1 | ||
|
|
||
| ** Please be patient while the chart is being deployed ** | ||
|
|
||
| ZooKeeper can be accessed via port 2181 on the following DNS name from within your cluster: | ||
|
|
||
| RELEASE-NAME-zookeeper.NAMESPACE.svc.cluster.local | ||
|
|
||
| To connect to your ZooKeeper server run the following commands: | ||
|
|
||
| export POD_NAME=$(kubectl get pods --namespace NAMESPACE -l "app.kubernetes.io/name=zookeeper,app.kubernetes.io/instance=RELEASE-NAME,app.kubernetes.io/component=zookeeper" -o jsonpath="{.items[0].metadata.name}") | ||
| kubectl exec -it $POD_NAME -- zkCli.sh | ||
|
|
||
| To connect to your ZooKeeper server from outside the cluster execute the following commands: | ||
|
|
||
| kubectl port-forward --namespace NAMESPACE svc/RELEASE-NAME-zookeeper 2181:2181 & | ||
| zkCli.sh 127.0.0.1:2181 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
|
|
||
| apiVersion: v1 | ||
| kind: Service | ||
| metadata: | ||
| name: RELEASE-NAME-zookeeper-metrics | ||
| namespace: NAMESPACE | ||
| labels: | ||
| app.kubernetes.io/name: zookeeper | ||
| helm.sh/chart: zookeeper-0.0.1 | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/managed-by: Helm | ||
| app.kubernetes.io/component: metrics | ||
| annotations: | ||
| prometheus.io/path: /metrics | ||
| prometheus.io/port: '9141' | ||
| prometheus.io/scrape: "true" | ||
| spec: | ||
| type: ClusterIP | ||
| ports: | ||
| - name: tcp-metrics | ||
| port: 9141 | ||
| targetPort: metrics | ||
| selector: | ||
| app.kubernetes.io/name: zookeeper | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/component: zookeeper | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
|
|
||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,33 @@ | ||
| apiVersion: v1 | ||
| kind: ConfigMap | ||
| metadata: | ||
| name: RELEASE-NAME-zookeeper-scripts | ||
| namespace: NAMESPACE | ||
| labels: | ||
| app.kubernetes.io/name: zookeeper | ||
| helm.sh/chart: zookeeper-0.0.1 | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/managed-by: Helm | ||
| app.kubernetes.io/component: zookeeper | ||
| data: | ||
| init-certs.sh: |- | ||
| #!/bin/bash | ||
| setup.sh: |- | ||
| #!/bin/bash | ||
|
|
||
| # Execute entrypoint as usual after obtaining ZOO_SERVER_ID | ||
| # check ZOO_SERVER_ID in persistent volume via myid | ||
| # if not present, set based on POD hostname | ||
| if [[ -f "/bitnami/zookeeper/data/myid" ]]; then | ||
| export ZOO_SERVER_ID="$(cat /bitnami/zookeeper/data/myid)" | ||
| else | ||
| HOSTNAME="$(hostname -s)" | ||
| if [[ $HOSTNAME =~ (.*)-([0-9]+)$ ]]; then | ||
| ORD=${BASH_REMATCH[2]} | ||
| export ZOO_SERVER_ID="$((ORD + 1 ))" | ||
| else | ||
| echo "Failed to get index from hostname $HOSTNAME" | ||
| exit 1 | ||
| fi | ||
| fi | ||
| exec /entrypoint.sh /run.sh |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,159 @@ | ||||||||||||||||||||||||||||||||||||
| apiVersion: apps/v1 | ||||||||||||||||||||||||||||||||||||
| kind: StatefulSet | ||||||||||||||||||||||||||||||||||||
| metadata: | ||||||||||||||||||||||||||||||||||||
| name: RELEASE-NAME-zookeeper | ||||||||||||||||||||||||||||||||||||
| namespace: NAMESPACE | ||||||||||||||||||||||||||||||||||||
| labels: | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/name: zookeeper | ||||||||||||||||||||||||||||||||||||
| helm.sh/chart: zookeeper-0.0.1 | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/instance: RELEASE-NAME | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/managed-by: Helm | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/component: zookeeper | ||||||||||||||||||||||||||||||||||||
| role: zookeeper | ||||||||||||||||||||||||||||||||||||
| spec: | ||||||||||||||||||||||||||||||||||||
| replicas: 1 | ||||||||||||||||||||||||||||||||||||
| podManagementPolicy: Parallel | ||||||||||||||||||||||||||||||||||||
| selector: | ||||||||||||||||||||||||||||||||||||
| matchLabels: | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/name: zookeeper | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/instance: RELEASE-NAME | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/component: zookeeper | ||||||||||||||||||||||||||||||||||||
| serviceName: RELEASE-NAME-zookeeper-headless | ||||||||||||||||||||||||||||||||||||
| updateStrategy: | ||||||||||||||||||||||||||||||||||||
| rollingUpdate: {} | ||||||||||||||||||||||||||||||||||||
| type: RollingUpdate | ||||||||||||||||||||||||||||||||||||
| template: | ||||||||||||||||||||||||||||||||||||
| metadata: | ||||||||||||||||||||||||||||||||||||
| annotations: | ||||||||||||||||||||||||||||||||||||
| labels: | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/name: zookeeper | ||||||||||||||||||||||||||||||||||||
| helm.sh/chart: zookeeper-0.0.1 | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/instance: RELEASE-NAME | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/managed-by: Helm | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/component: zookeeper | ||||||||||||||||||||||||||||||||||||
| spec: | ||||||||||||||||||||||||||||||||||||
| serviceAccountName: default | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| affinity: | ||||||||||||||||||||||||||||||||||||
| podAffinity: | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| podAntiAffinity: | ||||||||||||||||||||||||||||||||||||
| preferredDuringSchedulingIgnoredDuringExecution: | ||||||||||||||||||||||||||||||||||||
| - podAffinityTerm: | ||||||||||||||||||||||||||||||||||||
| labelSelector: | ||||||||||||||||||||||||||||||||||||
| matchLabels: | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/name: zookeeper | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/instance: RELEASE-NAME | ||||||||||||||||||||||||||||||||||||
| app.kubernetes.io/component: zookeeper | ||||||||||||||||||||||||||||||||||||
| topologyKey: kubernetes.io/hostname | ||||||||||||||||||||||||||||||||||||
| weight: 1 | ||||||||||||||||||||||||||||||||||||
| nodeAffinity: | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| securityContext: | ||||||||||||||||||||||||||||||||||||
| fsGroup: 1001 | ||||||||||||||||||||||||||||||||||||
| initContainers: | ||||||||||||||||||||||||||||||||||||
| containers: | ||||||||||||||||||||||||||||||||||||
| - name: zookeeper | ||||||||||||||||||||||||||||||||||||
| image: signoz/zookeeper:3.7.1 | ||||||||||||||||||||||||||||||||||||
| imagePullPolicy: "IfNotPresent" | ||||||||||||||||||||||||||||||||||||
| securityContext: | ||||||||||||||||||||||||||||||||||||
| allowPrivilegeEscalation: false | ||||||||||||||||||||||||||||||||||||
| runAsNonRoot: true | ||||||||||||||||||||||||||||||||||||
| runAsUser: 1001 | ||||||||||||||||||||||||||||||||||||
| command: | ||||||||||||||||||||||||||||||||||||
| - /scripts/setup.sh | ||||||||||||||||||||||||||||||||||||
| resources: | ||||||||||||||||||||||||||||||||||||
| limits: {} | ||||||||||||||||||||||||||||||||||||
| requests: | ||||||||||||||||||||||||||||||||||||
| cpu: 100m | ||||||||||||||||||||||||||||||||||||
| memory: 256Mi | ||||||||||||||||||||||||||||||||||||
| env: | ||||||||||||||||||||||||||||||||||||
| - name: BITNAMI_DEBUG | ||||||||||||||||||||||||||||||||||||
| value: "false" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_DATA_LOG_DIR | ||||||||||||||||||||||||||||||||||||
| value: "" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_PORT_NUMBER | ||||||||||||||||||||||||||||||||||||
| value: "2181" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_TICK_TIME | ||||||||||||||||||||||||||||||||||||
| value: "2000" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_INIT_LIMIT | ||||||||||||||||||||||||||||||||||||
| value: "10" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_SYNC_LIMIT | ||||||||||||||||||||||||||||||||||||
| value: "5" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_PRE_ALLOC_SIZE | ||||||||||||||||||||||||||||||||||||
| value: "65536" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_SNAPCOUNT | ||||||||||||||||||||||||||||||||||||
| value: "100000" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_MAX_CLIENT_CNXNS | ||||||||||||||||||||||||||||||||||||
| value: "60" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_4LW_COMMANDS_WHITELIST | ||||||||||||||||||||||||||||||||||||
| value: "srvr, mntr, ruok" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_LISTEN_ALLIPS_ENABLED | ||||||||||||||||||||||||||||||||||||
| value: "no" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_AUTOPURGE_INTERVAL | ||||||||||||||||||||||||||||||||||||
| value: "1" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_AUTOPURGE_RETAIN_COUNT | ||||||||||||||||||||||||||||||||||||
| value: "3" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_MAX_SESSION_TIMEOUT | ||||||||||||||||||||||||||||||||||||
| value: "40000" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_SERVERS | ||||||||||||||||||||||||||||||||||||
| value: RELEASE-NAME-zookeeper-0.RELEASE-NAME-zookeeper-headless.NAMESPACE.svc.cluster.local:2888:3888::1 | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_ENABLE_AUTH | ||||||||||||||||||||||||||||||||||||
| value: "no" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_ENABLE_QUORUM_AUTH | ||||||||||||||||||||||||||||||||||||
| value: "no" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_HEAP_SIZE | ||||||||||||||||||||||||||||||||||||
| value: "1024" | ||||||||||||||||||||||||||||||||||||
| - name: ZOO_LOG_LEVEL | ||||||||||||||||||||||||||||||||||||
| value: "ERROR" | ||||||||||||||||||||||||||||||||||||
| - name: ALLOW_ANONYMOUS_LOGIN | ||||||||||||||||||||||||||||||||||||
| value: "yes" | ||||||||||||||||||||||||||||||||||||
| - name: POD_NAME | ||||||||||||||||||||||||||||||||||||
| valueFrom: | ||||||||||||||||||||||||||||||||||||
| fieldRef: | ||||||||||||||||||||||||||||||||||||
| apiVersion: v1 | ||||||||||||||||||||||||||||||||||||
| fieldPath: metadata.name | ||||||||||||||||||||||||||||||||||||
| ports: | ||||||||||||||||||||||||||||||||||||
| - name: client | ||||||||||||||||||||||||||||||||||||
| containerPort: 2181 | ||||||||||||||||||||||||||||||||||||
| - name: follower | ||||||||||||||||||||||||||||||||||||
| containerPort: 2888 | ||||||||||||||||||||||||||||||||||||
| - name: election | ||||||||||||||||||||||||||||||||||||
| containerPort: 3888 | ||||||||||||||||||||||||||||||||||||
|
Comment on lines
+116
to
+122
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Expose a 'metrics' port or adjust/remove the metrics Service. Pods don’t declare a containerPort named metrics, while metrics-svc targets it. Add the port (and an actual metrics endpoint/exporter), or update/remove the Service to avoid a dead endpoint. ports:
- name: client
containerPort: 2181
- name: follower
containerPort: 2888
- name: election
containerPort: 3888
+ # If a metrics exporter is present and listens on 9141:
+ # - name: metrics
+ # containerPort: 9141📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||
| livenessProbe: | ||||||||||||||||||||||||||||||||||||
| failureThreshold: 6 | ||||||||||||||||||||||||||||||||||||
| initialDelaySeconds: 30 | ||||||||||||||||||||||||||||||||||||
| periodSeconds: 10 | ||||||||||||||||||||||||||||||||||||
| successThreshold: 1 | ||||||||||||||||||||||||||||||||||||
| timeoutSeconds: 5 | ||||||||||||||||||||||||||||||||||||
| exec: | ||||||||||||||||||||||||||||||||||||
| command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] | ||||||||||||||||||||||||||||||||||||
| readinessProbe: | ||||||||||||||||||||||||||||||||||||
| failureThreshold: 6 | ||||||||||||||||||||||||||||||||||||
| initialDelaySeconds: 5 | ||||||||||||||||||||||||||||||||||||
| periodSeconds: 10 | ||||||||||||||||||||||||||||||||||||
| successThreshold: 1 | ||||||||||||||||||||||||||||||||||||
| timeoutSeconds: 5 | ||||||||||||||||||||||||||||||||||||
| exec: | ||||||||||||||||||||||||||||||||||||
| command: ['/bin/bash', '-c', 'echo "ruok" | timeout 2 nc -w 2 localhost 2181 | grep imok'] | ||||||||||||||||||||||||||||||||||||
| volumeMounts: | ||||||||||||||||||||||||||||||||||||
| - name: scripts | ||||||||||||||||||||||||||||||||||||
| mountPath: /scripts/setup.sh | ||||||||||||||||||||||||||||||||||||
| subPath: setup.sh | ||||||||||||||||||||||||||||||||||||
| - name: data | ||||||||||||||||||||||||||||||||||||
| mountPath: /bitnami/zookeeper | ||||||||||||||||||||||||||||||||||||
| volumes: | ||||||||||||||||||||||||||||||||||||
| - name: scripts | ||||||||||||||||||||||||||||||||||||
| configMap: | ||||||||||||||||||||||||||||||||||||
| name: RELEASE-NAME-zookeeper-scripts | ||||||||||||||||||||||||||||||||||||
| defaultMode: 0755 | ||||||||||||||||||||||||||||||||||||
| volumeClaimTemplates: | ||||||||||||||||||||||||||||||||||||
| - metadata: | ||||||||||||||||||||||||||||||||||||
| name: data | ||||||||||||||||||||||||||||||||||||
| spec: | ||||||||||||||||||||||||||||||||||||
| accessModes: | ||||||||||||||||||||||||||||||||||||
| - "ReadWriteOnce" | ||||||||||||||||||||||||||||||||||||
| resources: | ||||||||||||||||||||||||||||||||||||
| requests: | ||||||||||||||||||||||||||||||||||||
| storage: "8Gi" | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| apiVersion: v1 | ||
| kind: Service | ||
| metadata: | ||
| name: RELEASE-NAME-zookeeper-headless | ||
| namespace: NAMESPACE | ||
| labels: | ||
| app.kubernetes.io/name: zookeeper | ||
| helm.sh/chart: zookeeper-0.0.1 | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/managed-by: Helm | ||
| app.kubernetes.io/component: zookeeper | ||
| spec: | ||
| type: ClusterIP | ||
| clusterIP: None | ||
| publishNotReadyAddresses: true | ||
| ports: | ||
| - name: tcp-client | ||
| port: 2181 | ||
| targetPort: client | ||
| - name: tcp-follower | ||
| port: 2888 | ||
| targetPort: follower | ||
| - name: tcp-election | ||
| port: 3888 | ||
| targetPort: election | ||
| selector: | ||
| app.kubernetes.io/name: zookeeper | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/component: zookeeper |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| apiVersion: v1 | ||
| kind: Service | ||
| metadata: | ||
| name: RELEASE-NAME-zookeeper | ||
| namespace: NAMESPACE | ||
| labels: | ||
| app.kubernetes.io/name: zookeeper | ||
| helm.sh/chart: zookeeper-0.0.1 | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/managed-by: Helm | ||
| app.kubernetes.io/component: zookeeper | ||
| spec: | ||
| type: ClusterIP | ||
| sessionAffinity: None | ||
| ports: | ||
| - name: tcp-client | ||
| port: 2181 | ||
| targetPort: client | ||
| nodePort: null | ||
| - name: tcp-follower | ||
| port: 2888 | ||
| targetPort: follower | ||
| - name: tcp-election | ||
| port: 3888 | ||
| targetPort: election | ||
| selector: | ||
| app.kubernetes.io/name: zookeeper | ||
| app.kubernetes.io/instance: RELEASE-NAME | ||
| app.kubernetes.io/component: zookeeper |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Service targets a non-existent pod port name 'metrics'.
StatefulSet exposes ports named client/follower/election only. targetPort: metrics won’t resolve, so scraping on 9141 will fail. Align one of:
🤖 Prompt for AI Agents