gpt4 book ai didi

kubernetes - 如何确保在 GKE 中我的节点上只运行一个 pod?

转载 作者:行者123 更新时间:2023-12-01 13:15:55 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个休息服务器,它通过命令行在本地与数据库交互(说来话长)。不管怎样,数据库是挂载在节点上的本地ssd中。我可以保证只有那种类型的 pod 会被调度到节点池中,因为我已经污染了节点并为我的 pod 添加了容差。

我想知道的是,如何防止 kubernetes 在单个节点上调度我的 pod 的多个实例?我想避免这种情况,因为我希望我的 pod 能够消耗尽可能多的 CPU,而且我也不希望多个 pod 通过本地 ssd 进行交互。

如何防止将多个我的类型的 pod 调度到节点上?一开始我在考虑守护进程集,但我想归根结底,我想将我的节点池设置为自动缩放,这样当我的池中有 n 个节点并且我请求 n+1 个副本时,节点池会自动缩放上。

最佳答案

您可以使用 Daemonsets结合nodeSelector or affinity .或者你可以配置 podAntiAffinity在你的 Pod 上,例如:

apiVersion: apps/v1
kind: Deployment
metadata:
name: rest-server
spec:
selector:
matchLabels:
app: rest-server
replicas: 3
template:
metadata:
labels:
app: rest-server
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: app
operator: In
values:
- rest-server
topologyKey: "kubernetes.io/hostname"
containers:
- name: rest-server
image: nginx:1.12-alpine

关于kubernetes - 如何确保在 GKE 中我的节点上只运行一个 pod?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55067254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com