V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xiaoyanbot
V2EX  ›  Kubernetes

K8S 使用 nodePort 方式暴露服务,发现没有负载均衡的效果,都请求到了一个 pod 里, 求教问题出在哪里?

  •  
  •   xiaoyanbot · 2020-10-15 19:37:53 +08:00 · 4351 次点击
    这是一个创建于 1485 天前的主题,其中的信息可能已经有所发展或是发生改变。

    按照如下的指南进行的 nodeport 方式的暴露服务,

    https://github.com/easzlab/kubeasz/tree/master/docs/practice/go_web_app

    K8S 版本是 1.18

    最后做出来的效果是, 请求 nodeport 的地址,不管是一个的,还是不同节点的 nodeport 地址, 都是请求到了同一个 pod 里 (反应是 instance id 相同, 不是上面指南里的 不同)

    确认 coredns 是正常的, 分布在两个节点里的各个 pod 也是正常的, 请求 pod 的 ip 和端口的方式,instance id 都是不同的。

    百思不得其解, 请教各位大佬, 是咋回事? 难道是对 nodeport 的理解有误解? nodeport 不是在 pod 后端服务之间负载均衡, 是 绑定唯一 pod,其他 pod 作为备份? 感觉有那里不对呀

    7 条回复    2020-10-16 16:15:09 +08:00
    jwangkun
        1
    jwangkun  
       2020-10-15 20:23:50 +08:00
    lff0305
        2
    lff0305  
       2020-10-15 21:31:52 +08:00
    kubectl get ep -n <namespace>
    看看 hellogo-svc 的 endpoint 是不是正常(应该是三个)
    joyme
        3
    joyme  
       2020-10-15 23:39:05 +08:00
    看看 service 的 sessionAffinity
    kiddingU
        4
    kiddingU  
       2020-10-16 09:23:04 +08:00
    externalTrafficPolicy 这个确定不是设置的 local?
    xiaoyanbot
        5
    xiaoyanbot  
    OP
       2020-10-16 09:28:18 +08:00
    搞定了 是内核的一个问题
    Gzp
        6
    Gzp  
       2020-10-16 10:01:41 +08:00
    @xiaoyanbot #5 不写一片文章介绍一下啥问题嘛
    tamer
        7
    tamer  
       2020-10-16 16:15:09 +08:00   ❤️ 1
    如果有人搜索解决办法进到这里看到你的解决方案不知作何感想
    即便回答没有帮到,但简单的描述一下自己的解决办法,哪怕只是索引关键词都可以,并不会浪费多少时间

    这样恶性循环,又会被说中文社区质量堪忧不是
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1654 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 16:53 · PVG 00:53 · LAX 08:53 · JFK 11:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.