From 4e7aac7d3341a46450c506459440aae1128fe0e4 Mon Sep 17 00:00:00 2001 From: Edward Viaene Date: Thu, 26 Jul 2018 10:02:10 +0000 Subject: [PATCH] pod affinity and anti-affinity --- affinity/pod-affinity.yaml | 45 ++++++++++++++ affinity/pod-anti-affinity.yaml | 103 ++++++++++++++++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 affinity/pod-affinity.yaml create mode 100644 affinity/pod-anti-affinity.yaml diff --git a/affinity/pod-affinity.yaml b/affinity/pod-affinity.yaml new file mode 100644 index 0000000..bc9c34e --- /dev/null +++ b/affinity/pod-affinity.yaml @@ -0,0 +1,45 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-1 +spec: + replicas: 1 + template: + metadata: + labels: + app: pod-affinity-1 + spec: + containers: + - name: k8s-demo + image: wardviaene/k8s-demo + ports: + - name: nodejs-port + containerPort: 3000 +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-2 +spec: + replicas: 1 + template: + metadata: + labels: + app: pod-affinity-2 + spec: + affinity: + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: "app" + operator: In + values: + - pod-affinity-1 + topologyKey: "kubernetes.io/hostname" + containers: + - name: redis + image: redis + ports: + - name: redis-port + containerPort: 6379 diff --git a/affinity/pod-anti-affinity.yaml b/affinity/pod-anti-affinity.yaml new file mode 100644 index 0000000..3e76aaa --- /dev/null +++ b/affinity/pod-anti-affinity.yaml @@ -0,0 +1,103 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-1 +spec: + replicas: 1 + template: + metadata: + labels: + app: pod-affinity-1 + spec: + containers: + - name: k8s-demo + image: wardviaene/k8s-demo + ports: + - name: nodejs-port + containerPort: 3000 +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-2 +spec: + replicas: 3 + template: + metadata: + labels: + app: pod-affinity-2 + spec: + affinity: + podAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: "app" + operator: In + values: + - pod-affinity-1 + topologyKey: "kubernetes.io/hostname" + containers: + - name: redis + image: redis + ports: + - name: redis-port + containerPort: 6379 +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-3 +spec: + replicas: 3 + template: + metadata: + labels: + app: pod-affinity-3 + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: "app" + operator: In + values: + - pod-affinity-1 + topologyKey: "kubernetes.io/hostname" + containers: + - name: k8s-demo + image: wardviaene/k8s-demo + ports: + - name: nodejs-port + containerPort: 3000 +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: pod-affinity-4 +spec: + replicas: 1 + template: + metadata: + labels: + app: pod-affinity-4 + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: "app" + operator: In + values: + - pod-affinity-1 + - pod-affinity-3 + topologyKey: "kubernetes.io/hostname" + containers: + - name: k8s-demo + image: wardviaene/k8s-demo + ports: + - name: nodejs-port + containerPort: 3000 +---