kuibobo

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

  •  
  •   kuibobo · Aug 1, 2023 · 2915 views
    This topic created in 1189 days ago, the information mentioned may be changed or developed.

    k8s 有 12 个节点

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

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

    13 replies  •  2023-08-03 13:52:23 +08:00
    idblife
    idblife
    Aug 1, 2023
    1
    https://tailscale.com/kb/1185/kubernetes/

    不负责任推荐看看,我自己没细看。。。
    Evovil
    Evovil
    Aug 1, 2023 via iPhone
    2
    直接访问 node2 3 ,其他的 node 不对外暴露不就行了吗? svc 会自己路由到其他 node 。
    Evovil
    Evovil
    Aug 1, 2023 via iPhone
    3
    @Evovil 看错题目了 ,你说的是 k8s-egress ?
    rrfeng
    rrfeng
    Aug 1, 2023 via Android
    4
    三层方案:路由+nat
    四层方案:正向代理
    nulIptr
    nulIptr
    Aug 1, 2023
    5
    感觉你这个需求跟 K8S 没关系。我猜是某些 pod 需要特殊的网络环境,如果是这样的话一般是 pod 里面搞一下 sidecar 代理就行了,即使是 node 全局代理的话也要配 pod 的亲和性,没必要
    seers
    seers
    Aug 1, 2023 via Android
    6
    k8s network police
    AmaQuinton
    AmaQuinton
    Aug 1, 2023
    7
    1 ,使用 nodeName 将 pod 设置在指定节点;
    2 ,在节点上使用 label 标记后,使用 nodeSelector 访问
    参考: https://kubernetes.io/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/
    mooyo
    mooyo
    Aug 1, 2023
    8
    istio egress?
    chenPiMeiHaoChi
    chenPiMeiHaoChi
    Aug 1, 2023
    9
    出方向?把 pod 用标签绑定到 node 就行了吧?
    joesonw
    joesonw
    Aug 1, 2023 via iPhone
    10
    你这是 SNAT ,在 node 上用 iptables 做转发。或者看你用的什么网络组件,calico 好像有这个功能。
    wbuntu
    wbuntu
    Aug 2, 2023
    11
    这个需要 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
    ccde8259
    Aug 2, 2023 via iPhone
    12
    istio egress
    sujin190
    sujin190
    Aug 3, 2023
    13
    如果只是某中 pod 简单用下,倒是弄个 pod 配置里添加下 hosts 把需要出口的域名指向需要出口的地址,然后在需要出口的地址挂个端口转发程序 pod 就好了,如果有出口 node 端口占用的问题,那么还可以把 hosts 指向本机然后在当前 pod 再配置个容器再端口转发一次,这样出口 node 节点就可以使用其它端口了

    当然如果大部分 pod 和大部分流量都需要转发那还是 route+nat 或是 istio egress 比较好
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1927 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 00:03 · PVG 08:03 · LAX 16:03 · JFK 19:03
    ♥ Do have faith in what you're doing.