• 51、ipvs Sky


    ipvs
    一、概念
    
    ipvs (IP Virtual Server) 实现了传输层负载均衡,也就是我们常说的4层LAN交换,作为 Linux 内核的一部分。
    
    
    
    ipvs运行在主机上,在真实服务器集群前充当负载均衡器。ipvs可以将基于TCP和UDP的服务请求转发到真实服务器上,并使真实服务器的服务在单个 IP 地址上显示为虚拟服务。
    
    
    
    ipvs vs. iptables#
    
    
    
    我们知道kube-proxy支持 iptables 和 ipvs 两种模式,
    
    
    
    在kubernetes v1.8 中引入了 ipvs 模式,在 v1.9 中处于 beta 阶段,在 v1.11 中已经正式可用了。
    
    
    
    iptables 模式在 v1.1 中就添加支持了,从 v1.2 版本开始 iptables 就是 kube-proxy 默认的操作模式,
    
    
    
    ipvs 和 iptables 都是基于netfilter的,那么 ipvs 模式和 iptables 模式之间有哪些差异呢?
    
    
    
    ipvs 为大型集群提供了更好的可扩展性和性能
    
    ipvs 支持比 iptables 更复杂的负载均衡算法(最小负载、最少连接、加权等等)
    
    ipvs 支持服务器健康检查和连接重试等功能
    
    
    
    ipvs 依赖 iptables#
    
    
    
    ipvs 会使用 iptables 进行包过滤、SNAT、masquared(伪装)。
    
    
    
    具体来说,ipvs 将使用 ipset 来存储需要 DROP 或 masquared 的流量的源或目标地址,以确保 iptables 规则的数量是恒定的,这样我们就不需要关心我们有多少服务了
    
    使用ipvs:
    修改kubelet配置文件/etc/sysconfig/kubelet,追加内容:
    KUBE_PROXY_MODE=ipvs
    ip_vs,ip_vs_rr,ip_vs_wrr,ip_VS_sh,nf_conntrack_ipv4
    修改kube-proxy 启动参数:
    在每个worker节点上修改,kube-proxy启动参数
    vi /etc/systemd/system/kube-proxy.service, 加上 --proxy-mode=ipvs \,然后执行下面命令
    
    ClusterIP,NodePort:
        NodePortLclient ---> NodeIP:NodePort  ---> ClusterIP:ServicePort  --->PodIP:containerPort
        LoadBalancer:
        ExternelName:
            FQDN:CNAME --->FQDN
    No ClusterIP:Headless Service
        ServiceName --->PodIP    
    
    https://www.jianshu.com/p/89f126b241db
  • 相关阅读:
    大聊Python----SocketServer
    2、MySQL常见数据库引擎及比较?
    大聊Python----通过Socket实现简单的ssh客户端
    1、列举常见的关系型数据库和非关系型都有那些?
    uva12563 Jin Ge Jin Qu hao(01背包)
    UVA 12174 Shuffle(滑动窗口)
    C++中substr函数的用法
    uva11078
    11462 Age Sort(计数排序)
    UVA 11988 Broken Keyboard (a.k.a. Beiju Text) (链表,模拟)
  • 原文地址:https://www.cnblogs.com/skyzy/p/16891005.html
Copyright © 2020-2023  润新知