美文网首页
【k8s】Kubernetes Service的实现原理什么?

【k8s】Kubernetes Service的实现原理什么?

作者: Bogon | 来源:发表于2022-05-22 08:37 被阅读0次

    kube-proxy : 工作在用户态,效率不高

    iptables: 工作在内核态,效率较高

    ipvs: 本身就是为负载均衡设计

    ipvs数据结构为hash表,其大小可以无限延伸

    grpc是远程调用,客户端pod调用多个pod时就出现了调用谁的问题,这个问题就是负载均衡。

    k8s的service是k8s提供的一个负载均衡机制,但是无法满足grpc的负载需求。

    grpc为什么需要负载?

    因为grpc底层是基于http2的长链接,客户端pod一旦与一个服务端pod发生tcp握手后,连接就保持住了,后续的请求就永远会进入该pod。

    grpc走http2协议,加一层nginx ingress 肯定是可以负载均衡的,但是有个问题,http2长连接会导致固定到后端一个pod,这就负载不均衡了。

    Kubernetes Service的实现原理什么?

    Kubernetes为何不能负载gRPC?

    https://www.bilibili.com/video/BV1BU4y1F7vn

    相关文章

      网友评论

          本文标题:【k8s】Kubernetes Service的实现原理什么?

          本文链接:https://www.haomeiwen.com/subject/wbfjdrtx.html