41 lines
901 B
Plaintext
41 lines
901 B
Plaintext
{
|
|
local antiaffinity(key, values, namespace) = {
|
|
affinity: {
|
|
podAntiAffinity: {
|
|
preferredDuringSchedulingIgnoredDuringExecution: [
|
|
{
|
|
weight: 100,
|
|
podAffinityTerm: {
|
|
namespaces: [namespace],
|
|
topologyKey: 'kubernetes.io/hostname',
|
|
labelSelector: {
|
|
matchExpressions: [{
|
|
key: key,
|
|
operator: 'In',
|
|
values: values,
|
|
}],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
},
|
|
|
|
alertmanager+:: {
|
|
alertmanager+: {
|
|
spec+:
|
|
antiaffinity('alertmanager', [$._config.alertmanager.name], $._config.namespace),
|
|
},
|
|
},
|
|
|
|
prometheus+:: {
|
|
local p = self,
|
|
|
|
prometheus+: {
|
|
spec+:
|
|
antiaffinity('prometheus', [$._config.prometheus.name], $._config.namespace),
|
|
},
|
|
},
|
|
}
|