Author SHA1 Message Date
rock f71d116a40 fix(cnpg): scale paperless-db, immich-db, gotify-db to 3 instances
3 CP nodes available — run one CNPG instance per node for proper HA.
2 instances loses quorum on single node failure.

memory-db stays at 2 (acceptable for that workload).
2026-09-11 07:56:21 +09:00
7 changed files with 3 additions and 63 deletions
-8
View File
@@ -45,14 +45,6 @@ spec:
volumeMounts: volumeMounts:
- mountPath: /mnt/models - mountPath: /mnt/models
name: models name: models
podMetadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
labels:
app.kubernetes.io/name: llm-embeddings
app.kubernetes.io/part-of: llm-serving
maxReplicas: 1 maxReplicas: 1
minReplicas: 1 minReplicas: 1
nodeSelector: nodeSelector:
-8
View File
@@ -83,14 +83,6 @@ spec:
volumeMounts: volumeMounts:
- mountPath: /mnt/models - mountPath: /mnt/models
name: models name: models
podMetadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
labels:
app.kubernetes.io/name: llm-ornith
app.kubernetes.io/part-of: llm-serving
deploymentStrategy: deploymentStrategy:
type: Recreate type: Recreate
# 1 replica -- ornith:35b only. qwen2.5:3b moved to CPU on cp-2. # 1 replica -- ornith:35b only. qwen2.5:3b moved to CPU on cp-2.
-8
View File
@@ -104,14 +104,6 @@ spec:
name: models name: models
- mountPath: /dev/shm - mountPath: /dev/shm
name: shm name: shm
podMetadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
labels:
app.kubernetes.io/name: llm-reasoning
app.kubernetes.io/part-of: llm-serving
deploymentStrategy: deploymentStrategy:
type: Recreate type: Recreate
maxReplicas: 1 maxReplicas: 1
-8
View File
@@ -45,14 +45,6 @@ spec:
volumeMounts: volumeMounts:
- mountPath: /mnt/models - mountPath: /mnt/models
name: models name: models
podMetadata:
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
prometheus.io/path: "/metrics"
labels:
app.kubernetes.io/name: llm-reranker
app.kubernetes.io/part-of: llm-serving
maxReplicas: 1 maxReplicas: 1
minReplicas: 1 minReplicas: 1
nodeSelector: nodeSelector:
@@ -57,6 +57,8 @@ extraVolumeMounts:
# Extra environment variables # Extra environment variables
extraEnv: extraEnv:
- name: ARGOCD_GRPC_WEB
value: "true"
- name: GIT_SSH_KNOWN_HOSTS_CONFIG_MAP_ENABLED - name: GIT_SSH_KNOWN_HOSTS_CONFIG_MAP_ENABLED
value: "true" value: "true"
+1 -1
View File
@@ -9,7 +9,7 @@ metadata:
annotations: annotations:
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
spec: spec:
instances: 3 instances: 2
imageName: ghcr.io/cloudnative-pg/postgresql:16.2 imageName: ghcr.io/cloudnative-pg/postgresql:16.2
bootstrap: bootstrap:
initdb: initdb:
@@ -1,30 +0,0 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: vllm
namespace: monitoring
labels:
app.kubernetes.io/name: vllm
app.kubernetes.io/part-of: llm-serving
spec:
namespaceSelector:
matchNames:
- llm-serving
selector:
matchLabels:
app.kubernetes.io/part-of: llm-serving
endpoints:
- port: http
interval: 30s
scrapeTimeout: 10s
path: /metrics
scheme: http
relabelings:
- sourceLabels: [__meta_kubernetes_namespace]
targetLabel: namespace
- sourceLabels: [__meta_kubernetes_pod_name]
targetLabel: pod
- sourceLabels: [__meta_kubernetes_service_name]
targetLabel: service
- sourceLabels: [__meta_kubernetes_pod_label_app_kubernetes_io_name]
targetLabel: app