k8s 可否用一个集群来管理处于不同地域,不同任务的 work 节点

2021-06-06 16:26:43 +08:00
 abcbuzhiming
我现在准备试图用一个集群来管理处于不同地域,并且业务功能不同的节点,比如一部分节点在广州,一部分节点在北京,他们承担的是完全不同的任务。按常理来说,其实他们应该是处于两个不同集群效果最好。因为这两个地区的节点群实际上是不能互相共享计算资源的。比如说 A 程序就只能把副本建立在北京区域的节点群里。我是了解到 k8s 可以限制副本指定创建在特定 tag 的节点群上时,有这样的想法的,主要是我的节点也不多,我不想耗费更多的计算资源,再去建立一个集群。

但是我看到各大云厂商的 k8s 面板,他们都明确提到,如果你要增加 work 节点,则节点必须在集群的同一地域,同一 VPC 下。

显然,似乎更专业的看法是 work 节点最好在一个地域内,那么,不在一个地域内的节点处于一个集群到底会有什么问题呢,请假各位?
2670 次点击
所在节点    Kubernetes
16 条回复
Rheinmetal
2021-06-06 16:40:16 +08:00
从更高层次的抽象来讲,可以给每个节点分配标签嘛,然后按照地域调度。
只不过这样折腾有什么好处,有什么坏处呢?
一个控制平面带得动这节点吗?
延迟不均匀的话,就会像 amdepyc 一代各个核之间的延迟都能搞一个矩阵出来。集群里面跑的应用性能会降低。
mingqing
2021-06-06 16:47:05 +08:00
你要的可能是边缘计算、统一中心管控的场景,可以看看 kubeedge 或者 k3s 之类的
rrfeng
2021-06-06 17:21:17 +08:00
云上肯定不行了,你自己建 k8s 然后打通网络是没问题的。注意通信安全性和各种超时时间调整。
kubeedge 专门干这个的,可以参考一下。
labulaka521
2021-06-06 17:37:23 +08:00
跨云厂商部署?
我用 k3s 自已跨云厂商部署了一套,一部分是国外机器(两台),一部分是国内的机器(两台),目前部署了两个应用和 cert-manager
Rheinmetal
2021-06-06 17:49:55 +08:00
@labulaka521 请问有无 blog 教程
应用延迟体验如何?
调度会不会慢呀
pod 间网络断过没
labulaka521
2021-06-06 18:45:33 +08:00
@Rheinmetal 一直想记录下来,但是没写,
延迟吧肯定是有的 我这里测大概 pod 间通信都是几百毫秒,位置的话国内腾讯云到国外韩国机器
应用部署的时候我指定了要么全在国内要么全在国外,要是跨区域肯定会有一些延迟,不过你如果全在国内的话还好,可以指定下调度策略,把一部分 pod 调度到某个区域里
pod 间的网络 我前段时间给装的 prometheus 监控 网络 看监控断过一两次,不过不是很影响,要是全是在国内的话应该挺稳的
部署的话主要是要修改下 server 和 agent 的通信 ip --node-external-ip 和 node-ip 这两个选项
mason961125
2021-06-06 19:36:59 +08:00
可以了解一下 nomad 的做法 https://www.nomadproject.io
m4d3bug
2021-06-06 20:09:35 +08:00
ManjusakaL
2021-06-06 22:26:40 +08:00
还是网络问题

同一个地域的同一个 VPC 下,K8S 管控平面之间的网络相对稳定

但是跨地域后,没法保证稳定性啊。

另外一个层面上的网络问题是指你集群内的网络怎么做?

自己折腾还行,生产就不建议了。。
kennylam777
2021-06-07 05:59:31 +08:00
我用 Kubespray 自建,選用 kube router 的 CNI 是可以的,但底層網絡必需可靠,但我沒有國內伺服器問題不大。

網絡是自己用 VPN + FRR 搭
kennylam777
2021-06-07 06:00:55 +08:00
說漏了,基本上 worker 節點距離問題不大,最重要的是 etcd 節點距離不能太遠,200ms 以上可能會有問題,要小心設定 heartbeat 時間。
salmon5
2021-06-07 15:48:26 +08:00
带宽、稳定性、成本,同地域能够保证免费 nGbps 带宽,跨了地域可以了解下这个成本
salmon5
2021-06-07 15:53:18 +08:00
广州到北京的一条 10G 专线,估计至少上千万 /年,有专业的可以分析下
jingslunt
2021-06-08 14:10:08 +08:00
集群联邦模式,可以管理多个集群
kubernetes.io/blog/2018/12/12/kubernetes-federation-evolution
jingslunt
2021-06-08 15:12:57 +08:00
@ManjusakaL 使用 calico 的 IP-IP 模式也是可以做到。
貌似青云的也有这方面的解决方案 kubesphere.io/ IP-IP
blue7wings
2021-06-09 17:47:10 +08:00
我是通过 rancher,calico 网络完成谷歌云,腾讯与跨区域搭建集群的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/781711

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX