fix cluster health: pin actualbudget, spread MySQL, scale grampsweb, fix GPU toleration

- Pin actualbudget/actual-server from edge to 26.3.0 (all 3 instances) to
  prevent recurring migration breakage from rolling nightly builds
- Add podAntiAffinity to MySQL InnoDB Cluster to spread replicas across nodes,
  relieving memory pressure on k8s-node4
- Scale grampsweb to 0 replicas (unused, consuming 1.7Gi memory)
- Add GPU toleration Kyverno policy to Terraform using patchesJson6902 instead
  of patchStrategicMerge to fix toleration array being overwritten (caused
  caretta DaemonSet pod to be unable to schedule on k8s-master)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Viktor Barzin 2026-03-11 11:43:00 +00:00
parent 8565d90d23
commit ccbbd4bc19
4 changed files with 71 additions and 9 deletions

View file

@ -13,7 +13,7 @@ variable "prod" {
}
variable "nfs_server" { type = string }
variable "kube_config_path" {
type = string
type = string
sensitive = true
}
@ -193,11 +193,21 @@ resource "helm_release" "mysql_cluster" {
matchExpressions = [{
key = "kubernetes.io/hostname"
operator = "NotIn"
values = ["k8s-node2"]
values = ["k8s-node1", "k8s-node2"]
}]
}]
}
}
podAntiAffinity = {
requiredDuringSchedulingIgnoredDuringExecution = [{
labelSelector = {
matchLabels = {
"component" = "mysqld"
}
}
topologyKey = "kubernetes.io/hostname"
}]
}
}
containers = [{
name = "mysql"