blob: 9a7e0b4c0b0881f2f73e2b87bb63ade3c84e6a65 [file] [log] [blame]
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you 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.
# this deployment ensures 2 pods cannot be co-located together on same node.
# if deploy this yaml on 1 node cluster, expecting 1 pod to be started and the other should be pending,
# because 1 node(s) didn't match pod affinity/anti-affinity, 1 node(s) didn't satisfy existing pods anti-affinity rules.
apiVersion: v1
kind: Pod
metadata:
name: with-pod-affinity-01
labels:
app: pause
applicationId: "pod-with-pod-anti-affinity-01"
queue: "root.sandbox"
zone: z1
spec:
schedulerName: yunikorn
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: zone
operator: In
values:
- z1
topologyKey: "kubernetes.io/hostname"
containers:
- name: with-pod-affinity
image: k8s.gcr.io/pause:2.0
resources:
requests:
cpu: "100m"
memory: "500M"
---
apiVersion: v1
kind: Pod
metadata:
name: with-pod-affinity-02
labels:
app: pause
applicationId: "pod-with-pod-anti-affinity-01"
queue: "root.sandbox"
zone: z1
spec:
schedulerName: yunikorn
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: zone
operator: In
values:
- z1
topologyKey: "kubernetes.io/hostname"
containers:
- name: with-pod-affinity
image: k8s.gcr.io/pause:2.0
resources:
requests:
cpu: "100m"
memory: "500M"