的单个节点我有一个kubernetes簇与4个节点和一个主。我试图在所有节点中运行5个nginx窗格。目前有时调度程序在一台机器上运行所有的豆荚,有时在不同的机器上运行。避免kubernetes调度运行所有吊舱在kubernetes簇
如果我的节点出现故障,我所有的豆荚在同一节点上运行会发生什么?我们需要避免这种情况。
如何执行调度以循环方式运行的节点上荚,因此,如果任何节点发生故障,然后在至少一个节点应该有NGINX荚运行模式。
这可能吗?如果可能,我们如何实现这种情况?
的单个节点我有一个kubernetes簇与4个节点和一个主。我试图在所有节点中运行5个nginx窗格。目前有时调度程序在一台机器上运行所有的豆荚,有时在不同的机器上运行。避免kubernetes调度运行所有吊舱在kubernetes簇
如果我的节点出现故障,我所有的豆荚在同一节点上运行会发生什么?我们需要避免这种情况。
如何执行调度以循环方式运行的节点上荚,因此,如果任何节点发生故障,然后在至少一个节点应该有NGINX荚运行模式。
这可能吗?如果可能,我们如何实现这种情况?
调度会分散你的豆荚,如果您的容器指定的记忆,他们需要的数量和CPU资源请求。见 http://kubernetes.io/docs/user-guide/compute-resources/
我觉得跨荚反关联性功能将帮助您。 根据已在节点上运行的Pod上的标签,可以根据Pod上的标签来限制pod有资格按照哪些节点进行排定。这是一个例子。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
run: nginx-service
name: nginx-service
spec:
replicas: 3
selector:
matchLabels:
run: nginx-service
template:
metadata:
labels:
service-type: nginx
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: service-type
operator: In
values:
- nginx
topologyKey: kubernetes.io/hostname
containers:
- name: nginx-service
image: nginx:latest
注意:我用preferredDuringSchedulingIgnoredDuringExecution在这里,因为你比节点的更多豆荚。
如需更详细的信息,可以参考间吊舱亲和力和反关联性(测试版功能)以下链接部分: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
感谢@DavidO的答复,我热切期望对于某人的回应。但遗憾的是你错过了我的问题。我不希望基于节点中可用的资源进行pod调度。我想以循环方式在指定节点上安排pod(无需事项资源)。如果资源不可用,那么我只是想跳过该节点。 –
添加一些更多的信息:尝试下面的链接,但无法看到预期的结果http://kubernetes.io/docs/user-guide/node-selection/ –
任何人可以对这个建议? –