Files
cameleer-server/deploy/clickhouse.yaml
hsiegeln a1280609f6
All checks were successful
CI / build (push) Successful in 1m21s
CI / docker (push) Successful in 38s
CI / deploy (push) Successful in 6s
Add NodePort service to expose ClickHouse externally
HTTP on port 30123, native protocol on port 30900. Keeps the existing
headless service for internal StatefulSet DNS.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:16:45 +01:00

86 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: clickhouse
namespace: cameleer
spec:
serviceName: clickhouse
replicas: 1
selector:
matchLabels:
app: clickhouse
template:
metadata:
labels:
app: clickhouse
spec:
containers:
- name: clickhouse
image: clickhouse/clickhouse-server:25.3
ports:
- containerPort: 8123
name: http
- containerPort: 9000
name: native
env:
- name: CLICKHOUSE_USER
value: cameleer
- name: CLICKHOUSE_PASSWORD
value: cameleer_dev
- name: CLICKHOUSE_DB
value: cameleer3
volumeMounts:
- name: data
mountPath: /var/lib/clickhouse
resources:
requests:
memory: "512Mi"
cpu: "200m"
limits:
memory: "1Gi"
cpu: "1000m"
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: Service
metadata:
name: clickhouse
namespace: cameleer
spec:
clusterIP: None
selector:
app: clickhouse
ports:
- port: 8123
targetPort: 8123
name: http
- port: 9000
targetPort: 9000
name: native
---
apiVersion: v1
kind: Service
metadata:
name: clickhouse-external
namespace: cameleer
spec:
type: NodePort
selector:
app: clickhouse
ports:
- port: 8123
targetPort: 8123
nodePort: 30123
name: http
- port: 9000
targetPort: 9000
nodePort: 30900
name: native