From b33fdde5b74498b58b1cd036f7b759ba91438e78 Mon Sep 17 00:00:00 2001 From: Story Crater Bot <19826264+Riotpiaole@users.noreply.github.com> Date: Mon, 13 Jul 2026 13:20:50 -0700 Subject: [PATCH] fix: temporal service config - add explicit ClusterIP services for history/matching --- k8s/temporal/temporal-values.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/k8s/temporal/temporal-values.yaml b/k8s/temporal/temporal-values.yaml index 3d22de7..6c93688 100644 --- a/k8s/temporal/temporal-values.yaml +++ b/k8s/temporal/temporal-values.yaml @@ -32,6 +32,18 @@ cassandra: cluster: seedSize: 1 port: 9042 + # Was landing 2 of 3 replicas on talos-cp-1 -- spread across nodes so a + # single overloaded node can't stall gossip/join for the whole ring. + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchLabels: + app: cassandra + release: temporal + topologyKey: kubernetes.io/hostname # ── Disable schema auto-setup (will initialize manually) ───────── jobs: @@ -43,6 +55,19 @@ server: replicaCount: 1 jobService: enabled: false + # Spread frontend/history/matching/worker across nodes instead of letting + # them stack on whichever node the scheduler prefers (was: 59 of ~80 + # cluster pods on talos-cp-1 alone). History's ringpop gossip join was + # timing out because 3 of its 4 peers sat on that overloaded node. + affinity: + podAntiAffinity: + preferredDuringSchedulingIgnoredDuringExecution: + - weight: 100 + podAffinityTerm: + labelSelector: + matchLabels: + app.kubernetes.io/instance: temporal + topologyKey: kubernetes.io/hostname config: logLevel: "info" persistence: