V2EX › Kubernetes
求助:打算让业务 Pod 在 K8s 的 master 节点上运行,有哪些点需要注意?
By zhoudaiyu at 2023 年 6 月 21 日 · 2237 次点击我们的 1.24.4 的生产 K8s 集群机器是 13 台 ARM 架构物理机搭建的,计算资源配置是 64C 、384G ,其中有 3 台是 master 节点,目前只跑了 master 的组件,如 api-server 、scheduler 、controller-manager 、kubelet 、etcd 等,因为现在计算资源紧张,而且如此高性能的 master 节点只跑这些组件缺失感觉有些浪费。因此打算把 master 也加入业务容器可调度的节点方位内。目前有两种方案,第一种:我们人工选择部分业务并配置容忍 master 不可调度的污点(修改应用的 Deployment )来实现他们在 master 节点的运行,由于我们有一些应用的资源使用的统计数据,因此对 master 节点的影响较为可控(比较担心影响 etcd ,虽然 IO 层面 master 节点的 etcd 的目录在单独的磁盘上,但是还是怕计算资源不够用);还有一种方式是直接把 master 的污点给去掉,让 Pod 可以随便调度到 master 节点上,这样比较省事,不用我们筛选应用,但是非常担心 master 的组件受到的应用影响,从而集群失控。请问大家对这 2 套方案有啥建议呢?十分感谢!
6 条回复 • 2023-06-22 16:26:32 +08:00
|
1
defunct9 2023 年 6 月 21 日
当然第一种
|
|
2
defunct9 2023 年 6 月 21 日 理由是我们 ingress 很闲置,就被随便调度 pod 上去了,然后一个节点就宏机了,瞬间山河一片红,pod 大批量迁移。
所以打了污点禁止调度到 ingress 。你这个情况要调度也只能调度你知根知底的 pod 上去,放开随便调度就是找死。 |
|
3
asilin 2023 年 6 月 21 日 |
|
4
wandehul 2023 年 6 月 21 日
还是不建议调度到 master 上去, 完全是给自己找事情
|
|
5
CheckMySoul 2023 年 6 月 21 日
选第一种,调度来的应用严格配置 CPU 内存临时磁盘限制。或者你找下,把 ingress 之类的资源从计算挪到控制节点,腾出计算资源。
|
|
6
yb8Qes1Qae01H0xy 2023 年 6 月 22 日
master 机器用 kvm 做个虚拟化,搞成几台 VM ,master 放其中一台 VM (绑定物理 core ,避免争抢),其他 VM 拿出来调度 pod 。
|
