k8s 如何通过制定节点转发网络请求?

286 天前
 kuibobo

k8s 有 12 个节点

现在有个需求,是希望节点请求通过指定的节点(比如通过 node2, 3) 出去,而不是直接通过宿主机访问网络.

不知道 k8s 有什么组建可以做这个事情

1349 次点击
所在节点    Kubernetes
13 条回复
idblife
286 天前
https://tailscale.com/kb/1185/kubernetes/

不负责任推荐看看,我自己没细看。。。
Evovil
286 天前
直接访问 node2 3 ,其他的 node 不对外暴露不就行了吗? svc 会自己路由到其他 node 。
Evovil
286 天前
@Evovil 看错题目了 ,你说的是 k8s-egress ?
rrfeng
286 天前
三层方案:路由+nat
四层方案:正向代理
nulIptr
286 天前
感觉你这个需求跟 K8S 没关系。我猜是某些 pod 需要特殊的网络环境,如果是这样的话一般是 pod 里面搞一下 sidecar 代理就行了,即使是 node 全局代理的话也要配 pod 的亲和性,没必要
seers
286 天前
k8s network police
AmaQuinton
286 天前
1 ,使用 nodeName 将 pod 设置在指定节点;
2 ,在节点上使用 label 标记后,使用 nodeSelector 访问
参考: https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/
mooyo
286 天前
istio egress?
chenPiMeiHaoChi
286 天前
出方向?把 pod 用标签绑定到 node 就行了吧?
joesonw
286 天前
你这是 SNAT ,在 node 上用 iptables 做转发。或者看你用的什么网络组件,calico 好像有这个功能。
wbuntu
285 天前
这个需要 CNI 插件支持才行,需要在集群内再做一次路由转发,可以参考下 kueb-ovn 和 openshift 有类似的方案

在线文档:
https://kubeovn.github.io/docs/v1.11.x/guide/eip-snat/
https://docs.openshift.com/container-platform/4.12/networking/openshift_sdn/assigning-egress-ips.html
ccde8259
285 天前
istio egress
sujin190
284 天前
如果只是某中 pod 简单用下,倒是弄个 pod 配置里添加下 hosts 把需要出口的域名指向需要出口的地址,然后在需要出口的地址挂个端口转发程序 pod 就好了,如果有出口 node 端口占用的问题,那么还可以把 hosts 指向本机然后在当前 pod 再配置个容器再端口转发一次,这样出口 node 节点就可以使用其它端口了

当然如果大部分 pod 和大部分流量都需要转发那还是 route+nat 或是 istio egress 比较好

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

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

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

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

© 2021 V2EX