Use k8s 1.6 syntax of declaring affinity

K8s 1.6 has affinity/antiaffinity funtionalities as a beta feature. This
means we don't need to declare them using annotations. This commit
switches usages of affinity to 1.6 syntax.

Change-Id: Ia68f4ab28a018617bd44b1295fea58cd30eb4a39
This commit is contained in:
Michał Dulko 2017-06-20 15:48:03 +02:00
parent 349da76076
commit a6cd9bac16
4 changed files with 57 additions and 79 deletions

View File

@ -29,27 +29,21 @@ spec:
labels: labels:
app: ceph app: ceph
daemon: mon daemon: mon
annotations: spec:
# alanmeadows: this soft requirement allows single # alanmeadows: this soft requirement allows single
# host deployments to spawn several ceph-mon # host deployments to spawn several ceph-mon
# containers # containers
scheduler.alpha.kubernetes.io/affinity: > affinity:
{ podAntiAffinity:
"podAntiAffinity": { preferredDuringSchedulingIgnoredDuringExecution:
"preferredDuringSchedulingIgnoredDuringExecution": [{ - podAffinityTerm:
"labelSelector": { labelSelector:
"matchExpressions": [{ matchExpressions:
"key": "daemon", - key: app
"operator": "In", operator: In
"values":["mon"] values: ["mon"]
}] topologyKey: kubernetes.io/hostname
}, weight: 10
"topologyKey": "kubernetes.io/hostname",
"weight": 10
}]
}
}
spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
serviceAccount: default serviceAccount: default

View File

@ -84,24 +84,19 @@ single host environment:
:: ::
annotations: # alanmeadows: this soft requirement allows single
# this soft requirement allows single
# host deployments to spawn several mariadb containers # host deployments to spawn several mariadb containers
# but in a larger environment, would attempt to spread # but in a larger environment, would attempt to spread
# them out # them out
scheduler.alpha.kubernetes.io/affinity: > affinity:
{ podAntiAffinity:
"podAntiAffinity": { preferredDuringSchedulingIgnoredDuringExecution:
"preferredDuringSchedulingIgnoredDuringExecution": [{ - podAffinityTerm:
"labelSelector": { labelSelector:
"matchExpressions": [{ matchExpressions:
"key": "app", - key: app
"operator": "In", operator: In
"values":["mariadb"] values: ["mariadb"]
}] topologyKey: kubernetes.io/hostname
}, weight: 10
"topologyKey": "kubernetes.io/hostname",
"weight": 10
}]
}
}

View File

@ -25,28 +25,22 @@ spec:
labels: labels:
app: {{ .Values.service_name }} app: {{ .Values.service_name }}
galera: enabled galera: enabled
annotations: spec:
# alanmeadows: this soft requirement allows single # alanmeadows: this soft requirement allows single
# host deployments to spawn several mariadb containers # host deployments to spawn several mariadb containers
# but in a larger environment, would attempt to spread # but in a larger environment, would attempt to spread
# them out # them out
scheduler.alpha.kubernetes.io/affinity: > affinity:
{ podAntiAffinity:
"podAntiAffinity": { preferredDuringSchedulingIgnoredDuringExecution:
"preferredDuringSchedulingIgnoredDuringExecution": [{ - podAffinityTerm:
"labelSelector": { labelSelector:
"matchExpressions": [{ matchExpressions:
"key": "app", - key: app
"operator": "In", operator: In
"values":["mariadb"] values: ["mariadb"]
}] topologyKey: kubernetes.io/hostname
}, weight: 10
"topologyKey": "kubernetes.io/hostname",
"weight": 10
}]
}
}
spec:
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
containers: containers:

View File

@ -35,24 +35,19 @@ spec:
annotations: annotations:
configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }} configmap-bin-hash: {{ tuple "configmap-bin.yaml" . | include "helm-toolkit.utils.hash" }}
configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }} configmap-etc-hash: {{ tuple "configmap-etc.yaml" . | include "helm-toolkit.utils.hash" }}
# TODO: this needs to be moved to common.
scheduler.alpha.kubernetes.io/affinity: >
{
"podAntiAffinity": {
"preferredDuringSchedulingIgnoredDuringExecution": [{
"labelSelector": {
"matchExpressions": [{
"key": "app",
"operator": "In",
"values":["rabbitmq"]
}]
},
"topologyKey": "kubernetes.io/hostname",
"weight": 10
}]
}
}
spec: spec:
# TODO: this needs to be moved to common.
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchExpressions:
- key: app
operator: In
values: ["rabbitmq"]
topologyKey: kubernetes.io/hostname
weight: 10
nodeSelector: nodeSelector:
{{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }} {{ .Values.labels.node_selector_key }}: {{ .Values.labels.node_selector_value }}
volumes: volumes: