Soft pod anti-affinity for all pods
This PS adds soft anti-affinity to all pods in OS-H. By doing so resiliancy is improved by attempting to ensure that pods are created on seperate nodes. Change-Id: I0c1092498f7a1e44218ef785ca3f73fa9f49819c
This commit is contained in:
22
helm-toolkit/templates/snippets/_k8s_metadata_labels.tpl
Normal file
22
helm-toolkit/templates/snippets/_k8s_metadata_labels.tpl
Normal file
@@ -0,0 +1,22 @@
|
||||
# Copyright 2017 The Openstack-Helm Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- define "helm-toolkit.snippets.kubernetes_metadata_labels" -}}
|
||||
{{- $envAll := index . 0 -}}
|
||||
{{- $application := index . 1 -}}
|
||||
{{- $component := index . 2 -}}
|
||||
release_name: {{ $envAll.Release.Name }}
|
||||
application: {{ $application }}
|
||||
component: {{ $component }}
|
||||
{{- end -}}
|
||||
38
helm-toolkit/templates/snippets/_k8s_pod_antiaffinity.tpl
Normal file
38
helm-toolkit/templates/snippets/_k8s_pod_antiaffinity.tpl
Normal file
@@ -0,0 +1,38 @@
|
||||
# Copyright 2017 The Openstack-Helm Authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
{{- define "helm-toolkit.snippets.kubernetes_pod_anti_affinity" -}}
|
||||
{{- $envAll := index . 0 -}}
|
||||
{{- $application := index . 1 -}}
|
||||
{{- $component := index . 2 -}}
|
||||
podAntiAffinity:
|
||||
preferredDuringSchedulingIgnoredDuringExecution:
|
||||
- podAffinityTerm:
|
||||
labelSelector:
|
||||
matchExpressions:
|
||||
- key: release_name
|
||||
operator: In
|
||||
values:
|
||||
- {{ $envAll.Release.Name }}
|
||||
- key: application
|
||||
operator: In
|
||||
values:
|
||||
- {{ $application }}
|
||||
- key: component
|
||||
operator: In
|
||||
values:
|
||||
- {{ $component }}
|
||||
topologyKey: kubernetes.io/hostname
|
||||
weight: 10
|
||||
{{- end -}}
|
||||
Reference in New Issue
Block a user