我想定期安排kubernetes作业(使用不同的图像)这些作业需要在支持GPU的节点上运行(1个GPU设备)目前,如果我同时创建两个作业-将在同一节点上调度两个pod-而只有一个pod可以访问GPU设备是否有办法配置节点/pod,以便调度程序仅在每个节点上放置一个pod,并在完成后放置下一个作业?
6kkfgxo01#
您可以设置一个pod间的反关联性,如此处文档中所述。吊舱间亲和性和反亲和性规则采用“如果X已经运行满足规则Y的一个或多个吊舱,则该吊舱应当(或者,在反亲和性的情况下,不应当)在X中运行”的形式,其中X是拓扑域,如节点、机架、云提供商区域或地区等,而Y是Kubernetes试图满足的规则.与节点亲和性类似,有两种类型的Pod亲和性和反亲和性,如下所示:
考虑以下Pod规格:
apiVersion: v1 kind: Pod metadata: name: with-pod-affinity spec: affinity: podAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: security operator: In values: - S1 topologyKey: topology.kubernetes.io/zone podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 100 podAffinityTerm: labelSelector: matchExpressions: - key: security operator: In values: - S2 topologyKey: topology.kubernetes.io/zone containers: - name: with-pod-affinity image: registry.k8s.io/pause:2.0
1条答案
按热度按时间6kkfgxo01#
您可以设置一个pod间的反关联性,如此处文档中所述。
吊舱间亲和性和反亲和性规则采用“如果X已经运行满足规则Y的一个或多个吊舱,则该吊舱应当(或者,在反亲和性的情况下,不应当)在X中运行”的形式,其中X是拓扑域,如节点、机架、云提供商区域或地区等,而Y是Kubernetes试图满足的规则.
与节点亲和性类似,有两种类型的Pod亲和性和反亲和性,如下所示:
考虑以下Pod规格: