|
leorealmanJun 28, 2019
1
为什么会有很奇葩的需求?你的意思是说发起请求的 POD 和最终响应的 POD 最好是在同一台物理机上?有点像 CDN 就近访问的原则
|
|
2
@leorealman 恩是的,因为会有两个 service 请求比较频繁,想节约他们两者之间通讯的开支,不清楚 k8s 是不是支持这种策略,并且对于同这块网络会有优化,让请求的性能接近直接使用宿主机 lo
|
|
wfhtqpJun 28, 2019
3
使用`selector`部署到一台`node`上?
|
|
4
@wfhtqp 一个是主要的 service 需要的资源比较多, 还有一个是 daemonSet 需要部署在每个宿主机,现在是使用 hostPort 暴露 daemonSet 的 port,然后请求的 pod 会被传入本机的 nodeIp 的环境变量,从而使得每个 pod 会访问同一个 Node 下的 daemonSet,但是会感觉有点丑,想着 k8s 是不是有更好的方案。
|
|
monsterxx03Jun 28, 2019 via iPhone
5
目前没直接办法,看能不能把他们放在一个 pod 里,通过 localhost 访问。有个 kep 是关于这个的 https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/0033-service-topology.md
|
|
chenk008Jun 28, 2019
6
这个可以修改 kube-proxy 的 iptables 或者 ipvs 来实现
|
|
vindurrielJun 28, 2019 via iPhone
7
可以自己做 用 k8s api 找到同 node 的 pod 的 ip 优先访问 找不到或失败再调用 service
|
|
menyakunJun 28, 2019
9
用 ipvs 的 weighted round robin (也就是 serviceIP 到 podID 的映射)应该可以,不过这个 feature 要比较新的 k8s 才支持,如果生产环境没法升级版本的话就不能用了
|